9#ifndef LLVM_CLANG_APINOTES_TYPES_H
10#define LLVM_CLANG_APINOTES_TYPES_H
13#include "llvm/ADT/ArrayRef.h"
14#include "llvm/ADT/StringRef.h"
58 LLVM_PREFERRED_TYPE(
bool)
62 LLVM_PREFERRED_TYPE(
bool)
67 LLVM_PREFERRED_TYPE(
bool)
68 unsigned SwiftPrivateSpecified : 1;
71 LLVM_PREFERRED_TYPE(
bool)
72 unsigned SwiftPrivate : 1;
83 return SwiftPrivateSpecified ? std::optional<bool>(SwiftPrivate)
88 SwiftPrivateSpecified =
Private.has_value();
89 SwiftPrivate =
Private.value_or(0);
108 if (!SwiftPrivateSpecified)
117 LLVM_DUMP_METHOD
void dump(llvm::raw_ostream &OS)
const;
125 LHS.SwiftPrivateSpecified == RHS.SwiftPrivateSpecified &&
131 return !(LHS == RHS);
139 std::optional<std::string> SwiftBridge;
142 std::optional<std::string> NSErrorDomain;
152 SwiftBridge = SwiftType;
156 return NSErrorDomain;
164 NSErrorDomain =
Domain ? std::optional<std::string>(std::string(*
Domain))
182 LLVM_DUMP_METHOD
void dump(llvm::raw_ostream &OS)
const;
187 LHS.SwiftBridge == RHS.SwiftBridge &&
188 LHS.NSErrorDomain == RHS.NSErrorDomain;
192 return !(LHS == RHS);
199 LLVM_PREFERRED_TYPE(
bool)
200 unsigned HasDefaultNullability : 1;
204 unsigned DefaultNullability : 2;
207 LLVM_PREFERRED_TYPE(
bool)
208 unsigned HasDesignatedInits : 1;
210 LLVM_PREFERRED_TYPE(
bool)
211 unsigned SwiftImportAsNonGenericSpecified : 1;
212 LLVM_PREFERRED_TYPE(
bool)
213 unsigned SwiftImportAsNonGeneric : 1;
215 LLVM_PREFERRED_TYPE(
bool)
216 unsigned SwiftObjCMembersSpecified : 1;
217 LLVM_PREFERRED_TYPE(
bool)
218 unsigned SwiftObjCMembers : 1;
222 : HasDefaultNullability(0), DefaultNullability(0), HasDesignatedInits(0),
223 SwiftImportAsNonGenericSpecified(
false), SwiftImportAsNonGeneric(
false),
224 SwiftObjCMembersSpecified(
false), SwiftObjCMembers(
false) {}
232 return HasDefaultNullability
233 ? std::optional<NullabilityKind>(
240 HasDefaultNullability =
true;
241 DefaultNullability =
static_cast<unsigned>(
Kind);