Lines Matching +full:bool +full:- +full:property
1 //===-- APINotesYAMLCompiler.cpp - API Notes YAML Format Reader -*- C++ -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
10 // adds an additional bit of state: e.g. a tri-state boolean attribute (yes, no,
11 // not applied) becomes a tri-state boolean + present. As a result, while these
72 std::optional<bool> NoEscape = false;
156 std::optional<bool> SwiftPrivate;
159 bool DesignatedInit = false;
160 bool Required = false;
202 struct Property { struct
207 std::optional<bool> SwiftPrivate;
209 std::optional<bool> SwiftImportAsAccessors;
213 typedef std::vector<Property> PropertiesSeq;
216 LLVM_YAML_IS_SEQUENCE_VECTOR(Property)
220 template <> struct MappingTraits<Property> {
221 static void mapping(IO &IO, Property &P) { in mapping()
240 bool AuditedForNullability = false;
242 std::optional<bool> SwiftPrivate;
246 std::optional<bool> SwiftImportAsNonGeneric;
247 std::optional<bool> SwiftObjCMembers;
287 std::optional<bool> SwiftPrivate;
323 std::optional<bool> SwiftPrivate;
354 std::optional<bool> SwiftPrivate;
413 std::optional<bool> SwiftPrivate;
420 std::optional<bool> FlagEnum;
422 std::optional<bool> SwiftCopyable;
469 std::optional<bool> SwiftPrivate;
542 std::optional<bool> SwiftPrivate;
594 std::optional<bool> SwiftInferImportAsMember;
626 bool parseAPINotes(StringRef YI, Module &M, llvm::SourceMgr::DiagHandlerTy Diag, in parseAPINotes()
630 return static_cast<bool>(IS.error()); in parseAPINotes()
634 bool clang::api_notes::parseAndDumpAPINotes(StringRef YI, in parseAndDumpAPINotes()
655 bool ErrorOccured;
658 bool emitError(llvm::Twine Message) { in emitError()
712 bool audited = false; in convertNullability()
752 bool takesArguments = M.Selector.ends_with(":"); in convertMethod()
756 M.Selector.split(Args, ":", /*MaxSplit*/ -1, /*KeepEmpty*/ false); in convertMethod()
805 llvm::StringMap<std::pair<bool, bool>> KnownMethods; in convertContext()
808 bool IsInstanceMethod = method.Kind == MethodKind::Instance; in convertContext()
809 bool &Known = IsInstanceMethod ? KnownMethods[method.Selector].first in convertContext()
813 (IsInstanceMethod ? "-" : "+") + "[" + C.Name + " " + in convertContext()
825 for (const auto &Property : C.Properties) { in convertContext() local
826 // Check for duplicate property definitions. in convertContext()
827 if ((!Property.Kind || *Property.Kind == MethodKind::Instance) && in convertContext()
828 !KnownInstanceProperties.insert(Property.Name).second) { in convertContext()
829 emitError(llvm::Twine("duplicate definition of instance property '") + in convertContext()
830 C.Name + "." + Property.Name + "'"); in convertContext()
834 if ((!Property.Kind || *Property.Kind == MethodKind::Class) && in convertContext()
835 !KnownClassProperties.insert(Property.Name).second) { in convertContext()
836 emitError(llvm::Twine("duplicate definition of class property '") + in convertContext()
837 C.Name + "." + Property.Name + "'"); in convertContext()
841 // Translate from Property into ObjCPropertyInfo. in convertContext()
843 convertAvailability(Property.Availability, PI, Property.Name); in convertContext()
844 PI.setSwiftPrivate(Property.SwiftPrivate); in convertContext()
845 PI.SwiftName = std::string(Property.SwiftName); in convertContext()
846 if (Property.Nullability) in convertContext()
847 PI.setNullabilityAudited(*Property.Nullability); in convertContext()
848 if (Property.SwiftImportAsAccessors) in convertContext()
849 PI.setSwiftImportAsAccessors(*Property.SwiftImportAsAccessors); in convertContext()
850 PI.setType(std::string(Property.Type)); in convertContext()
853 if (Property.Kind) { in convertContext()
854 Writer.addObjCProperty(CtxID, Property.Name, in convertContext()
855 *Property.Kind == MethodKind::Instance, PI, in convertContext()
858 Writer.addObjCProperty(CtxID, Property.Name, true, PI, SwiftVersion); in convertContext()
859 Writer.addObjCProperty(CtxID, Property.Name, false, PI, SwiftVersion); in convertContext()
894 ParentContext ? std::optional<ContextID>(ParentContext->id) in convertTagContext()
973 Ctx ? std::optional(Ctx->id) : std::nullopt; in convertTopLevelItems()
1097 bool convertModule() { in convertModule()
1098 // Write the top-level items. in convertModule()
1115 static bool compile(const Module &M, const FileEntry *SourceFile, in compile()
1128 bool api_notes::compileAPINotes(StringRef YAMLInput, in compileAPINotes()