Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
clang/lib/APINotes/APINotesYAMLCompiler.cpp
Show First 20 Lines • Show All 283 Lines • ▼ Show 20 Lines | struct Function { | ||||
NullabilitySeq Nullability; | NullabilitySeq Nullability; | ||||
Optional<NullabilityKind> NullabilityOfRet; | Optional<NullabilityKind> NullabilityOfRet; | ||||
Optional<api_notes::RetainCountConventionKind> RetainCountConvention; | Optional<api_notes::RetainCountConventionKind> RetainCountConvention; | ||||
AvailabilityItem Availability; | AvailabilityItem Availability; | ||||
Optional<bool> SwiftPrivate; | Optional<bool> SwiftPrivate; | ||||
StringRef SwiftName; | StringRef SwiftName; | ||||
StringRef Type; | StringRef Type; | ||||
StringRef ResultType; | StringRef ResultType; | ||||
Optional<StringRef> ImportAs; | |||||
}; | }; | ||||
typedef std::vector<Function> FunctionsSeq; | typedef std::vector<Function> FunctionsSeq; | ||||
} // namespace | } // namespace | ||||
LLVM_YAML_IS_SEQUENCE_VECTOR(Function) | LLVM_YAML_IS_SEQUENCE_VECTOR(Function) | ||||
namespace llvm { | namespace llvm { | ||||
namespace yaml { | namespace yaml { | ||||
template <> struct MappingTraits<Function> { | template <> struct MappingTraits<Function> { | ||||
static void mapping(IO &IO, Function &F) { | static void mapping(IO &IO, Function &F) { | ||||
IO.mapRequired("Name", F.Name); | IO.mapRequired("Name", F.Name); | ||||
IO.mapOptional("Parameters", F.Params); | IO.mapOptional("Parameters", F.Params); | ||||
IO.mapOptional("Nullability", F.Nullability); | IO.mapOptional("Nullability", F.Nullability); | ||||
IO.mapOptional("NullabilityOfRet", F.NullabilityOfRet, llvm::None); | IO.mapOptional("NullabilityOfRet", F.NullabilityOfRet, llvm::None); | ||||
IO.mapOptional("RetainCountConvention", F.RetainCountConvention); | IO.mapOptional("RetainCountConvention", F.RetainCountConvention); | ||||
IO.mapOptional("Availability", F.Availability.Mode, | IO.mapOptional("Availability", F.Availability.Mode, | ||||
APIAvailability::Available); | APIAvailability::Available); | ||||
IO.mapOptional("AvailabilityMsg", F.Availability.Msg, StringRef("")); | IO.mapOptional("AvailabilityMsg", F.Availability.Msg, StringRef("")); | ||||
IO.mapOptional("SwiftPrivate", F.SwiftPrivate); | IO.mapOptional("SwiftPrivate", F.SwiftPrivate); | ||||
IO.mapOptional("SwiftName", F.SwiftName, StringRef("")); | IO.mapOptional("SwiftName", F.SwiftName, StringRef("")); | ||||
IO.mapOptional("ResultType", F.ResultType, StringRef("")); | IO.mapOptional("ResultType", F.ResultType, StringRef("")); | ||||
IO.mapOptional("ImportAs", F.ImportAs); | |||||
} | } | ||||
}; | }; | ||||
} // namespace yaml | } // namespace yaml | ||||
} // namespace llvm | } // namespace llvm | ||||
namespace { | namespace { | ||||
struct GlobalVariable { | struct GlobalVariable { | ||||
StringRef Name; | StringRef Name; | ||||
▲ Show 20 Lines • Show All 90 Lines • ▼ Show 20 Lines | struct Tag { | ||||
AvailabilityItem Availability; | AvailabilityItem Availability; | ||||
StringRef SwiftName; | StringRef SwiftName; | ||||
Optional<bool> SwiftPrivate; | Optional<bool> SwiftPrivate; | ||||
Optional<StringRef> SwiftBridge; | Optional<StringRef> SwiftBridge; | ||||
Optional<StringRef> NSErrorDomain; | Optional<StringRef> NSErrorDomain; | ||||
Optional<EnumExtensibilityKind> EnumExtensibility; | Optional<EnumExtensibilityKind> EnumExtensibility; | ||||
Optional<bool> FlagEnum; | Optional<bool> FlagEnum; | ||||
Optional<EnumConvenienceAliasKind> EnumConvenienceKind; | Optional<EnumConvenienceAliasKind> EnumConvenienceKind; | ||||
Optional<StringRef> ImportAs; | |||||
Optional<StringRef> RetainOp; | |||||
Optional<StringRef> ReleaseOp; | |||||
FunctionsSeq MemberFuncs; | |||||
compnerd: Any reason to shorten `Functions` to `Funcs`? It seems that it would be a bit odd given the… | |||||
}; | }; | ||||
typedef std::vector<Tag> TagsSeq; | typedef std::vector<Tag> TagsSeq; | ||||
} // namespace | } // namespace | ||||
LLVM_YAML_IS_SEQUENCE_VECTOR(Tag) | LLVM_YAML_IS_SEQUENCE_VECTOR(Tag) | ||||
namespace llvm { | namespace llvm { | ||||
Show All 14 Lines | static void mapping(IO &IO, Tag &T) { | ||||
IO.mapOptional("AvailabilityMsg", T.Availability.Msg, StringRef("")); | IO.mapOptional("AvailabilityMsg", T.Availability.Msg, StringRef("")); | ||||
IO.mapOptional("SwiftPrivate", T.SwiftPrivate); | IO.mapOptional("SwiftPrivate", T.SwiftPrivate); | ||||
IO.mapOptional("SwiftName", T.SwiftName, StringRef("")); | IO.mapOptional("SwiftName", T.SwiftName, StringRef("")); | ||||
IO.mapOptional("SwiftBridge", T.SwiftBridge); | IO.mapOptional("SwiftBridge", T.SwiftBridge); | ||||
IO.mapOptional("NSErrorDomain", T.NSErrorDomain); | IO.mapOptional("NSErrorDomain", T.NSErrorDomain); | ||||
IO.mapOptional("EnumExtensibility", T.EnumExtensibility); | IO.mapOptional("EnumExtensibility", T.EnumExtensibility); | ||||
IO.mapOptional("FlagEnum", T.FlagEnum); | IO.mapOptional("FlagEnum", T.FlagEnum); | ||||
IO.mapOptional("EnumKind", T.EnumConvenienceKind); | IO.mapOptional("EnumKind", T.EnumConvenienceKind); | ||||
IO.mapOptional("ImportAs", T.ImportAs); | |||||
IO.mapOptional("Retain", T.RetainOp); | |||||
IO.mapOptional("Release", T.ReleaseOp); | |||||
IO.mapOptional("Methods", T.MemberFuncs); | |||||
} | } | ||||
}; | }; | ||||
} // namespace yaml | } // namespace yaml | ||||
} // namespace llvm | } // namespace llvm | ||||
namespace { | namespace { | ||||
struct Typedef { | struct Typedef { | ||||
StringRef Name; | StringRef Name; | ||||
▲ Show 20 Lines • Show All 145 Lines • Show Last 20 Lines |
Any reason to shorten Functions to Funcs? It seems that it would be a bit odd given the other members.