std::string opt_type_info(const StringData *userType, const TypeConstraint &tc) { if (userType || tc.typeName() || tc.flags()) { std::string utype = userType ? escaped(userType) : "N"; return folly::format("<{} {}> ", utype, type_constraint(tc)).str(); } return ""; }
std::string type_constraint(const TypeConstraint &tc) { std::string typeName = tc.typeName() ? escaped(tc.typeName()) : "N"; return folly::format("{} {} ", typeName, type_flags_to_string(tc.flags())).str(); }