15#ifndef LLVM_CLANG_APINOTES_WRITER_H
16#define LLVM_CLANG_APINOTES_WRITER_H
19#include "llvm/ADT/StringRef.h"
20#include "llvm/Support/VersionTuple.h"
21#include "llvm/Support/raw_ostream.h"
59 llvm::VersionTuple SwiftVersion);
68 llvm::VersionTuple SwiftVersion);
79 llvm::VersionTuple SwiftVersion);
95 llvm::VersionTuple SwiftVersion);
103 llvm::VersionTuple SwiftVersion);
111 llvm::VersionTuple SwiftVersion);
118 llvm::VersionTuple SwiftVersion);
124 void addTag(std::optional<Context> Ctx, llvm::StringRef Name,
125 const TagInfo &Info, llvm::VersionTuple SwiftVersion);
131 void addTypedef(std::optional<Context> Ctx, llvm::StringRef Name,
132 const TypedefInfo &Info, llvm::VersionTuple SwiftVersion);
enum clang::sema::@1712::IndirectLocalPathEntry::EntryKind Kind
Cached information about one file (either on disk or in the virtual file system).
Smart pointer class that efficiently represents Objective-C method names.
A class that writes API notes data to a binary representation that can be read by the APINotesReader.
void addObjCMethod(ContextID CtxID, ObjCSelectorRef Selector, bool IsInstanceMethod, const ObjCMethodInfo &Info, llvm::VersionTuple SwiftVersion)
Add information about a specific Objective-C method.
APINotesWriter & operator=(const APINotesWriter &)=delete
void addEnumConstant(llvm::StringRef Name, const EnumConstantInfo &Info, llvm::VersionTuple SwiftVersion)
Add information about an enumerator.
ContextID addContext(std::optional< ContextID > ParentCtxID, llvm::StringRef Name, ContextKind Kind, const ContextInfo &Info, llvm::VersionTuple SwiftVersion)
Add information about a specific Objective-C class or protocol or a C++ namespace.
void addGlobalFunction(std::optional< Context > Ctx, llvm::StringRef Name, const GlobalFunctionInfo &Info, llvm::VersionTuple SwiftVersion)
Add information about a global function.
void addObjCProperty(ContextID CtxID, llvm::StringRef Name, bool IsInstanceProperty, const ObjCPropertyInfo &Info, llvm::VersionTuple SwiftVersion)
Add information about a specific Objective-C property.
void addField(ContextID CtxID, llvm::StringRef Name, const FieldInfo &Info, llvm::VersionTuple SwiftVersion)
Add information about a specific C record field.
void addGlobalVariable(std::optional< Context > Ctx, llvm::StringRef Name, const GlobalVariableInfo &Info, llvm::VersionTuple SwiftVersion)
Add information about a global variable.
void addTypedef(std::optional< Context > Ctx, llvm::StringRef Name, const TypedefInfo &Info, llvm::VersionTuple SwiftVersion)
Add information about a typedef.
void writeToStream(llvm::raw_ostream &OS)
APINotesWriter(const APINotesWriter &)=delete
void addCXXMethod(ContextID CtxID, llvm::StringRef Name, const CXXMethodInfo &Info, llvm::VersionTuple SwiftVersion)
Add information about a specific C++ method.
void addTag(std::optional< Context > Ctx, llvm::StringRef Name, const TagInfo &Info, llvm::VersionTuple SwiftVersion)
Add information about a tag (struct/union/enum/C++ class).
Describes API notes data for a C++ method.
Opaque context ID used to refer to an Objective-C class or protocol or a C++ namespace.
Describes API notes data for an Objective-C class or protocol or a C++ namespace.
Describes API notes data for an enumerator.
Describes API notes data for a C/C++ record field.
Describes API notes data for a global function.
Describes API notes data for a global variable.
Describes API notes data for an Objective-C method.
Describes API notes data for an Objective-C property.
Describes API notes data for a tag.
Describes API notes data for a typedef.
The JSON file list parser is used to communicate input to InstallAPI.
A temporary reference to an Objective-C selector, suitable for referencing selector data on the stack...