clang: include/clang/APINotes/Types.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9#ifndef LLVM_CLANG_APINOTES_TYPES_H

10#define LLVM_CLANG_APINOTES_TYPES_H

11

13#include "llvm/ADT/ArrayRef.h"

14#include "llvm/ADT/StringRef.h"

15#include

16#include

17#include

18

19namespace llvm {

20class raw_ostream;

21}

22

32

33

34

35

41

42

48

50

51

52

53

55public:

56

58

59

60 LLVM_PREFERRED_TYPE(bool)

62

63

64 LLVM_PREFERRED_TYPE(bool)

66

67private:

68

69 LLVM_PREFERRED_TYPE(bool)

70 unsigned SwiftPrivateSpecified : 1;

71

72

73 LLVM_PREFERRED_TYPE(bool)

74 unsigned SwiftPrivate : 1;

75

76 LLVM_PREFERRED_TYPE(bool)

77 unsigned SwiftSafetyAudited : 1;

78

80 unsigned SwiftSafety : 2;

81

82public:

83

85

88 SwiftPrivate(0), SwiftSafetyAudited(0), SwiftSafety(0) {}

89

91 return SwiftPrivateSpecified ? std::optional(SwiftPrivate)

92 : std::nullopt;

93 }

94

96 SwiftPrivateSpecified = Private.has_value();

97 SwiftPrivate = Private.value_or(0);

98 }

99

101 return SwiftSafetyAudited ? std::optional(

103 : std::nullopt;

104 }

105

107 SwiftSafetyAudited = 1;

108 SwiftSafety = static_cast<unsigned>(Safety);

109 }

110

112

114

119 }

120

125 }

126

127 if (!SwiftPrivateSpecified)

129

130 if (!SwiftSafetyAudited && RHS.SwiftSafetyAudited)

132

135

136 return *this;

137 }

138

139 LLVM_DUMP_METHOD void dump(llvm::raw_ostream &OS) const;

140};

141

147 LHS.SwiftPrivateSpecified == RHS.SwiftPrivateSpecified &&

148 LHS.SwiftPrivate == RHS.SwiftPrivate &&

149 LHS.SwiftSafetyAudited == RHS.SwiftSafetyAudited &&

150 LHS.SwiftSafety == RHS.SwiftSafety && LHS.SwiftName == RHS.SwiftName;

151}

152

155 return !(LHS == RHS);

156}

157

158

160

161

162

163 std::optionalstd::string SwiftBridge;

164

165

166 std::optionalstd::string NSErrorDomain;

167

168

169 std::optionalstd::string SwiftConformance;

170

171public:

173

175 return SwiftBridge;

176 }

177

179 SwiftBridge = SwiftType;

180 }

181

183 return NSErrorDomain;

184 }

185

187 NSErrorDomain = Domain;

188 }

189

191 NSErrorDomain = Domain ? std::optionalstd::string(std::string(*Domain))

192 : std::nullopt;

193 }

194

196 return SwiftConformance;

197 }

198

200 SwiftConformance = conformance;

201 }

202

204

206

208

209 if (!SwiftBridge)

211 if (!NSErrorDomain)

213 if (SwiftConformance)

215

216 return *this;

217 }

218

219 LLVM_DUMP_METHOD void dump(llvm::raw_ostream &OS) const;

220};

221

224 LHS.SwiftBridge == RHS.SwiftBridge &&

225 LHS.NSErrorDomain == RHS.NSErrorDomain &&

226 LHS.SwiftConformance == RHS.SwiftConformance;

227}

228

230 return !(LHS == RHS);

231}

232

233

234

236

237 LLVM_PREFERRED_TYPE(bool)

238 unsigned HasDefaultNullability : 1;

239

240

242 unsigned DefaultNullability : 2;

243

244

245 LLVM_PREFERRED_TYPE(bool)

246 unsigned HasDesignatedInits : 1;

247

248 LLVM_PREFERRED_TYPE(bool)

249 unsigned SwiftImportAsNonGenericSpecified : 1;

250 LLVM_PREFERRED_TYPE(bool)

251 unsigned SwiftImportAsNonGeneric : 1;

252

253 LLVM_PREFERRED_TYPE(bool)

254 unsigned SwiftObjCMembersSpecified : 1;

255 LLVM_PREFERRED_TYPE(bool)

256 unsigned SwiftObjCMembers : 1;

257

258public:

260 : HasDefaultNullability(0), DefaultNullability(0), HasDesignatedInits(0),

261 SwiftImportAsNonGenericSpecified(false), SwiftImportAsNonGeneric(false),

262 SwiftObjCMembersSpecified(false), SwiftObjCMembers(false) {}

263

264

265

266

267

268

270 return HasDefaultNullability

271 ? std::optional(

273 : std::nullopt;

274 }

275

276

278 HasDefaultNullability = true;

279 DefaultNullability = static_cast<unsigned>(Kind);

280 }

281

284

286 return SwiftImportAsNonGenericSpecified

287 ? std::optional(SwiftImportAsNonGeneric)

288 : std::nullopt;

289 }

291 SwiftImportAsNonGenericSpecified = Value.has_value();

292 SwiftImportAsNonGeneric = Value.value_or(false);

293 }

294

296 return SwiftObjCMembersSpecified ? std::optional(SwiftObjCMembers)

297 : std::nullopt;

298 }

300 SwiftObjCMembersSpecified = Value.has_value();

301 SwiftObjCMembers = Value.value_or(false);

302 }

303

305

307

309

310

314

315 if (!SwiftImportAsNonGenericSpecified)

317

318 if (!SwiftObjCMembersSpecified)

320

321 HasDesignatedInits |= RHS.HasDesignatedInits;

322

323 return *this;

324 }

325

326 LLVM_DUMP_METHOD void dump(llvm::raw_ostream &OS);

327};

328

330 return static_cast<const CommonTypeInfo &>(LHS) == RHS &&

332 LHS.HasDesignatedInits == RHS.HasDesignatedInits &&

335}

336

338 return !(LHS == RHS);

339}

340

341

343

344 LLVM_PREFERRED_TYPE(bool)

345 unsigned NullabilityAudited : 1;

346

347

348

350 unsigned Nullable : 2;

351

352

353 std::string Type;

354

355public:

357

359 return NullabilityAudited ? std::optional(

361 : std::nullopt;

362 }

363

365 NullabilityAudited = true;

366 Nullable = static_cast<unsigned>(kind);

367 }

368

369 const std::string &getType() const { return Type; }

371

373

376

377 if (!NullabilityAudited && RHS.NullabilityAudited)

379 if (Type.empty())

380 Type = RHS.Type;

381

382 return *this;

383 }

384

385 LLVM_DUMP_METHOD void dump(llvm::raw_ostream &OS) const;

386};

387

390 LHS.NullabilityAudited == RHS.NullabilityAudited &&

391 LHS.Nullable == RHS.Nullable && LHS.Type == RHS.Type;

392}

393

395 return !(LHS == RHS);

396}

397

398

400 LLVM_PREFERRED_TYPE(bool)

401 unsigned SwiftImportAsAccessorsSpecified : 1;

402 LLVM_PREFERRED_TYPE(bool)

403 unsigned SwiftImportAsAccessors : 1;

404

405public:

407 : SwiftImportAsAccessorsSpecified(false), SwiftImportAsAccessors(false) {}

408

410 return SwiftImportAsAccessorsSpecified

411 ? std::optional(SwiftImportAsAccessors)

412 : std::nullopt;

413 }

415 SwiftImportAsAccessorsSpecified = Value.has_value();

416 SwiftImportAsAccessors = Value.value_or(false);

417 }

418

420

421

424

425

429

430 return *this;

431 }

432

435

436 if (!SwiftImportAsAccessorsSpecified)

438

439 return *this;

440 }

441

442 LLVM_DUMP_METHOD void dump(llvm::raw_ostream &OS) const;

443};

444

447 return static_cast<const VariableInfo &>(LHS) == RHS &&

449}

450

453 return !(LHS == RHS);

454}

455

456

458

459 LLVM_PREFERRED_TYPE(bool)

460 unsigned NoEscapeSpecified : 1;

461

462

463 LLVM_PREFERRED_TYPE(bool)

464 unsigned NoEscape : 1;

465

466

467 LLVM_PREFERRED_TYPE(bool)

468 unsigned LifetimeboundSpecified : 1;

469

470

471 LLVM_PREFERRED_TYPE(bool)

472 unsigned Lifetimebound : 1;

473

474

475

476

477 unsigned RawRetainCountConvention : 3;

478

479public:

481 : NoEscapeSpecified(false), NoEscape(false),

482 LifetimeboundSpecified(false), Lifetimebound(false),

483 RawRetainCountConvention() {}

484

486 return NoEscapeSpecified ? std::optional(NoEscape) : std::nullopt;

487 }

489 NoEscapeSpecified = Value.has_value();

490 NoEscape = Value.value_or(false);

491 }

492

494 return LifetimeboundSpecified ? std::optional(Lifetimebound)

495 : std::nullopt;

496 }

498 LifetimeboundSpecified = Value.has_value();

499 Lifetimebound = Value.value_or(false);

500 }

501

503 if (!RawRetainCountConvention)

504 return std::nullopt;

506 }

507 void

509 RawRetainCountConvention = Value ? static_cast<unsigned>(*Value) + 1 : 0;

511 }

512

515

516 if (!NoEscapeSpecified && RHS.NoEscapeSpecified) {

517 NoEscapeSpecified = true;

518 NoEscape = RHS.NoEscape;

519 }

520

521 if (!LifetimeboundSpecified && RHS.LifetimeboundSpecified) {

522 LifetimeboundSpecified = true;

523 Lifetimebound = RHS.Lifetimebound;

524 }

525

526 if (!RawRetainCountConvention)

527 RawRetainCountConvention = RHS.RawRetainCountConvention;

528

529 return *this;

530 }

531

533

534 LLVM_DUMP_METHOD void dump(llvm::raw_ostream &OS) const;

535};

536

538 return static_cast<const VariableInfo &>(LHS) == RHS &&

539 LHS.NoEscapeSpecified == RHS.NoEscapeSpecified &&

540 LHS.NoEscape == RHS.NoEscape &&

541 LHS.LifetimeboundSpecified == RHS.LifetimeboundSpecified &&

542 LHS.Lifetimebound == RHS.Lifetimebound &&

543 LHS.RawRetainCountConvention == RHS.RawRetainCountConvention;

544}

545

547 return !(LHS == RHS);

548}

549

550

552private:

553 static constexpr const uint64_t NullabilityKindMask = 0x3;

554 static constexpr const unsigned NullabilityKindSize = 2;

555

556 static constexpr const unsigned ReturnInfoIndex = 0;

557

558public:

559

560

561

562

563

564 LLVM_PREFERRED_TYPE(bool)

566

567

569

570

572

573

574

575

576

577

579

580

582

583

585

586

588

592

596

599 assert(static_cast<unsigned>(kind) < NullabilityKindMask);

600

604

605

607 ~(NullabilityKindMask << (index * NullabilityKindSize));

608

609

610 unsigned kindValue = (static_cast<unsigned>(kind))

611 << (index * NullabilityKindSize);

613 }

614

615

619

620

624

626 return getTypeInfo(index + 1);

627 }

628

630

633 return std::nullopt;

635 }

636 void

641

643

644private:

647 "Checking the type adjustment on non-audited method.");

648

649

653 return static_cast<NullabilityKind>(nullability & NullabilityKindMask);

654 }

655

656public:

657 LLVM_DUMP_METHOD void dump(llvm::raw_ostream &OS) const;

658};

659

669

671 return !(LHS == RHS);

672}

673

674

676public:

677

678 LLVM_PREFERRED_TYPE(bool)

680

681

682 LLVM_PREFERRED_TYPE(bool)

684

686

688

690

692

697 }

698 }

699 return *this;

700 }

701

702 LLVM_DUMP_METHOD void dump(llvm::raw_ostream &OS);

703};

704

706 return static_cast<const FunctionInfo &>(LHS) == RHS &&

709}

710

712 return !(LHS == RHS);

713}

714

715

720

721

726

727

732

733

735public:

737

738 std::optional This;

739

740 LLVM_DUMP_METHOD void dump(llvm::raw_ostream &OS);

741};

742

746

748 return !(LHS == RHS);

749}

750

751

756

757

759 LLVM_PREFERRED_TYPE(bool)

760 unsigned HasFlagEnum : 1;

761 LLVM_PREFERRED_TYPE(bool)

762 unsigned IsFlagEnum : 1;

763

764 LLVM_PREFERRED_TYPE(bool)

765 unsigned SwiftCopyableSpecified : 1;

766 LLVM_PREFERRED_TYPE(bool)

767 unsigned SwiftCopyable : 1;

768

769 LLVM_PREFERRED_TYPE(bool)

770 unsigned SwiftEscapableSpecified : 1;

771 LLVM_PREFERRED_TYPE(bool)

772 unsigned SwiftEscapable : 1;

773

774public:

780

782

784 : HasFlagEnum(0), IsFlagEnum(0), SwiftCopyableSpecified(false),

785 SwiftCopyable(false), SwiftEscapableSpecified(false),

786 SwiftEscapable(false) {}

787

789 if (HasFlagEnum)

790 return IsFlagEnum;

791 return std::nullopt;

792 }

794 HasFlagEnum = Value.has_value();

795 IsFlagEnum = Value.value_or(false);

796 }

797

799 return SwiftCopyableSpecified ? std::optional(SwiftCopyable)

800 : std::nullopt;

801 }

803 SwiftCopyableSpecified = Value.has_value();

804 SwiftCopyable = Value.value_or(false);

805 }

806

808 return SwiftEscapableSpecified ? std::optional(SwiftEscapable)

809 : std::nullopt;

810 }

811

813 SwiftEscapableSpecified = Value.has_value();

814 SwiftEscapable = Value.value_or(false);

815 }

816

819

830

831 if (!HasFlagEnum)

833

836

837 if (!SwiftCopyableSpecified)

839

840 if (!SwiftEscapableSpecified)

842

843 return *this;

844 }

845

847

848 LLVM_DUMP_METHOD void dump(llvm::raw_ostream &OS);

849};

850

863

865 return !(LHS == RHS);

866}

867

868

870public:

872

874

881

883

884 LLVM_DUMP_METHOD void dump(llvm::raw_ostream &OS) const;

885};

886

891

893 return !(LHS == RHS);

894}

895

896

898

899

900

907

914

921

922

923

924

925

926

927

932}

933}

934

935#endif

Defines various enumerations that describe declaration and type specifiers.

Describes API notes data for a C++ method.

Definition Types.h:734

std::optional< ParamInfo > This

Definition Types.h:738

LLVM_DUMP_METHOD void dump(llvm::raw_ostream &OS)

CXXMethodInfo()

Definition Types.h:736

Describes API notes data for any entity.

Definition Types.h:54

unsigned UnavailableInSwift

Whether this entity is marked unavailable in Swift.

Definition Types.h:65

unsigned Unavailable

Whether this entity is marked unavailable.

Definition Types.h:61

std::string SwiftName

Swift name of this entity.

Definition Types.h:84

void setSwiftSafety(SwiftSafetyKind Safety)

Definition Types.h:106

void setSwiftPrivate(std::optional< bool > Private)

Definition Types.h:95

friend bool operator==(const CommonEntityInfo &, const CommonEntityInfo &)

Definition Types.h:142

std::string UnavailableMsg

Message to use when this entity is unavailable.

Definition Types.h:57

std::optional< SwiftSafetyKind > getSwiftSafety() const

Definition Types.h:100

CommonEntityInfo()

Definition Types.h:86

LLVM_DUMP_METHOD void dump(llvm::raw_ostream &OS) const

std::optional< bool > isSwiftPrivate() const

Definition Types.h:90

CommonEntityInfo & operator|=(const CommonEntityInfo &RHS)

Definition Types.h:113

Describes API notes for types.

Definition Types.h:159

void setNSErrorDomain(const std::optional< llvm::StringRef > &Domain)

Definition Types.h:190

friend bool operator==(const CommonTypeInfo &, const CommonTypeInfo &)

Definition Types.h:222

std::optional< std::string > getSwiftConformance() const

Definition Types.h:195

CommonTypeInfo()

Definition Types.h:172

const std::optional< std::string > & getSwiftBridge() const

Definition Types.h:174

void setSwiftConformance(std::optional< std::string > conformance)

Definition Types.h:199

LLVM_DUMP_METHOD void dump(llvm::raw_ostream &OS) const

void setNSErrorDomain(const std::optional< std::string > &Domain)

Definition Types.h:186

const std::optional< std::string > & getNSErrorDomain() const

Definition Types.h:182

void setSwiftBridge(std::optional< std::string > SwiftType)

Definition Types.h:178

CommonTypeInfo & operator|=(const CommonTypeInfo &RHS)

Definition Types.h:205

Opaque context ID used to refer to an Objective-C class or protocol or a C++ namespace.

Definition Types.h:901

ContextID(unsigned value)

Definition Types.h:905

unsigned Value

Definition Types.h:903

Describes API notes data for an Objective-C class or protocol or a C++ namespace.

Definition Types.h:235

std::optional< bool > getSwiftImportAsNonGeneric() const

Definition Types.h:285

LLVM_DUMP_METHOD void dump(llvm::raw_ostream &OS)

std::optional< bool > getSwiftObjCMembers() const

Definition Types.h:295

ContextInfo()

Definition Types.h:259

void setDefaultNullability(NullabilityKind Kind)

Set the default nullability for properties and methods of this class.

Definition Types.h:277

std::optional< NullabilityKind > getDefaultNullability() const

Determine the default nullability for properties and methods of this class.

Definition Types.h:269

void setSwiftObjCMembers(std::optional< bool > Value)

Definition Types.h:299

bool hasDesignatedInits() const

Definition Types.h:282

void setSwiftImportAsNonGeneric(std::optional< bool > Value)

Definition Types.h:290

void setHasDesignatedInits(bool Value)

Definition Types.h:283

friend bool operator==(const ContextInfo &, const ContextInfo &)

Definition Types.h:329

ContextInfo & operator|=(const ContextInfo &RHS)

Definition Types.h:306

EnumConstantInfo()

Definition Types.h:754

FieldInfo()

Definition Types.h:730

API notes for a function or method.

Definition Types.h:551

std::string SwiftReturnOwnership

Ownership convention for return value.

Definition Types.h:584

FunctionInfo()

Definition Types.h:589

void addTypeInfo(unsigned index, NullabilityKind kind)

Definition Types.h:597

uint64_t NullabilityPayload

Stores the nullability of the return type and the parameters.

Definition Types.h:578

std::optional< RetainCountConventionKind > getRetainCountConvention() const

Definition Types.h:631

LLVM_DUMP_METHOD void dump(llvm::raw_ostream &OS) const

void setRetainCountConvention(std::optional< RetainCountConventionKind > Value)

Definition Types.h:637

unsigned RawRetainCountConvention

A biased RetainCountConventionKind, where 0 means "unspecified".

Definition Types.h:571

std::vector< ParamInfo > Params

The function parameters.

Definition Types.h:587

NullabilityKind getReturnTypeInfo() const

Definition Types.h:629

friend bool operator==(const FunctionInfo &, const FunctionInfo &)

Definition Types.h:660

NullabilityKind getParamTypeInfo(unsigned index) const

Definition Types.h:625

unsigned NumAdjustedNullable

Number of types whose nullability is encoded with the NullabilityPayload.

Definition Types.h:568

std::string ResultType

The result type of this function, as a C type.

Definition Types.h:581

static unsigned getMaxNullabilityIndex()

Definition Types.h:593

void addReturnTypeInfo(NullabilityKind kind)

Adds the return type info.

Definition Types.h:616

unsigned NullabilityAudited

Whether the signature has been audited with respect to nullability.

Definition Types.h:565

void addParamTypeInfo(unsigned index, NullabilityKind kind)

Adds the parameter type info.

Definition Types.h:621

GlobalFunctionInfo()

Definition Types.h:724

GlobalVariableInfo()

Definition Types.h:718

Describes API notes data for an Objective-C method.

Definition Types.h:675

unsigned DesignatedInit

Whether this is a designated initializer of its class.

Definition Types.h:679

friend bool operator==(const ObjCMethodInfo &, const ObjCMethodInfo &)

Definition Types.h:705

std::optional< ParamInfo > Self

Definition Types.h:685

ObjCMethodInfo & operator|=(const ContextInfo &RHS)

Definition Types.h:691

unsigned RequiredInit

Whether this is a required initializer.

Definition Types.h:683

LLVM_DUMP_METHOD void dump(llvm::raw_ostream &OS)

ObjCMethodInfo()

Definition Types.h:687

Describes API notes data for an Objective-C property.

Definition Types.h:399

LLVM_DUMP_METHOD void dump(llvm::raw_ostream &OS) const

void setSwiftImportAsAccessors(std::optional< bool > Value)

Definition Types.h:414

std::optional< bool > getSwiftImportAsAccessors() const

Definition Types.h:409

ObjCPropertyInfo()

Definition Types.h:406

friend bool operator==(const ObjCPropertyInfo &, const ObjCPropertyInfo &)

Definition Types.h:445

ObjCPropertyInfo & operator|=(const ObjCPropertyInfo &RHS)

Definition Types.h:433

ObjCPropertyInfo & operator|=(const ContextInfo &RHS)

Merge class-wide information into the given property.

Definition Types.h:422

Describes a function or method parameter.

Definition Types.h:457

void setNoEscape(std::optional< bool > Value)

Definition Types.h:488

std::optional< bool > isNoEscape() const

Definition Types.h:485

ParamInfo & operator|=(const ParamInfo &RHS)

Definition Types.h:513

LLVM_DUMP_METHOD void dump(llvm::raw_ostream &OS) const

std::optional< bool > isLifetimebound() const

Definition Types.h:493

friend bool operator==(const ParamInfo &, const ParamInfo &)

Definition Types.h:537

ParamInfo()

Definition Types.h:480

void setLifetimebound(std::optional< bool > Value)

Definition Types.h:497

std::optional< RetainCountConventionKind > getRetainCountConvention() const

Definition Types.h:502

void setRetainCountConvention(std::optional< RetainCountConventionKind > Value)

Definition Types.h:508

Describes API notes data for a tag.

Definition Types.h:758

std::optional< std::string > SwiftReleaseOp

Definition Types.h:777

std::optional< std::string > SwiftRetainOp

Definition Types.h:776

std::optional< std::string > SwiftImportAs

Definition Types.h:775

std::optional< std::string > SwiftDefaultOwnership

Definition Types.h:779

std::optional< EnumExtensibilityKind > EnumExtensibility

Definition Types.h:781

void setSwiftCopyable(std::optional< bool > Value)

Definition Types.h:802

std::optional< std::string > SwiftDestroyOp

Definition Types.h:778

void setSwiftEscapable(std::optional< bool > Value)

Definition Types.h:812

TagInfo()

Definition Types.h:783

std::optional< bool > isFlagEnum() const

Definition Types.h:788

TagInfo & operator|=(const TagInfo &RHS)

Definition Types.h:817

std::optional< bool > isSwiftCopyable() const

Definition Types.h:798

LLVM_DUMP_METHOD void dump(llvm::raw_ostream &OS)

friend bool operator==(const TagInfo &, const TagInfo &)

Definition Types.h:851

std::optional< bool > isSwiftEscapable() const

Definition Types.h:807

void setFlagEnum(std::optional< bool > Value)

Definition Types.h:793

Describes API notes data for a typedef.

Definition Types.h:869

LLVM_DUMP_METHOD void dump(llvm::raw_ostream &OS) const

TypedefInfo & operator|=(const TypedefInfo &RHS)

Definition Types.h:875

friend bool operator==(const TypedefInfo &, const TypedefInfo &)

Definition Types.h:887

std::optional< SwiftNewTypeKind > SwiftWrapper

Definition Types.h:871

TypedefInfo()

Definition Types.h:873

API notes for a variable/property.

Definition Types.h:342

void setNullabilityAudited(NullabilityKind kind)

Definition Types.h:364

void setType(const std::string &type)

Definition Types.h:370

LLVM_DUMP_METHOD void dump(llvm::raw_ostream &OS) const

VariableInfo & operator|=(const VariableInfo &RHS)

Definition Types.h:374

std::optional< NullabilityKind > getNullability() const

Definition Types.h:358

const std::string & getType() const

Definition Types.h:369

friend bool operator==(const VariableInfo &, const VariableInfo &)

Definition Types.h:388

VariableInfo()

Definition Types.h:356

ContextKind

Definition Types.h:908

@ ObjCProtocol

Definition Types.h:910

@ ObjCClass

Definition Types.h:909

@ Namespace

Definition Types.h:911

@ Tag

Definition Types.h:912

bool operator!=(const CommonEntityInfo &LHS, const CommonEntityInfo &RHS)

Definition Types.h:153

bool operator==(const CommonEntityInfo &LHS, const CommonEntityInfo &RHS)

Definition Types.h:142

RetainCountConventionKind

Definition Types.h:25

@ NSReturnsRetained

Definition Types.h:29

@ None

Definition Types.h:26

@ CFReturnsNotRetained

Definition Types.h:28

@ NSReturnsNotRetained

Definition Types.h:30

@ CFReturnsRetained

Definition Types.h:27

SwiftNewTypeKind

The kind of a swift_wrapper/swift_newtype.

Definition Types.h:43

@ Struct

Definition Types.h:45

@ Enum

Definition Types.h:46

EnumExtensibilityKind

The payload for an enum_extensibility attribute.

Definition Types.h:36

@ Closed

Definition Types.h:39

@ Open

Definition Types.h:38

SwiftSafetyKind

Definition Types.h:49

@ Unspecified

Definition Types.h:49

@ Safe

Definition Types.h:49

@ Unsafe

Definition Types.h:49

static const constexpr char SOURCE_APINOTES_EXTENSION[]

The file extension used for the source representation of API notes.

Definition Types.h:897

const internal::VariadicAllOfMatcher< Type > type

Matches Types in the clang AST.

The JSON file list parser is used to communicate input to InstallAPI.

NullabilityKind

Describes the nullability of a particular type.

@ Nullable

Values of this type can be null.

@ NonNull

Values of this type can never be null.

@ Private

'private' clause, allowed on 'parallel', 'serial', 'loop', 'parallel loop', and 'serial loop' constru...

Diagnostic wrappers for TextAPI types for error reporting.

ContextKind kind

Definition Types.h:917

ContextID id

Definition Types.h:916

Context(ContextID id, ContextKind kind)

Definition Types.h:919

A temporary reference to an Objective-C selector, suitable for referencing selector data on the stack...

Definition Types.h:928

unsigned NumArgs

Definition Types.h:929

llvm::ArrayRef< llvm::StringRef > Identifiers

Definition Types.h:930