clang 20.0.0git
|
A class that writes API notes data to a binary representation that can be read by the APINotesReader
.
More...
#include "clang/APINotes/APINotesWriter.h"
Classes | |
class | Implementation |
Public Member Functions | |
APINotesWriter (llvm::StringRef ModuleName, const FileEntry *SF) | |
Create a new API notes writer with the given module name and (optional) source file. | |
~APINotesWriter () | |
APINotesWriter (const APINotesWriter &)=delete | |
APINotesWriter & | operator= (const APINotesWriter &)=delete |
void | writeToStream (llvm::raw_ostream &OS) |
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 | addObjCProperty (ContextID CtxID, llvm::StringRef Name, bool IsInstanceProperty, const ObjCPropertyInfo &Info, llvm::VersionTuple SwiftVersion) |
Add information about a specific Objective-C property. | |
void | addObjCMethod (ContextID CtxID, ObjCSelectorRef Selector, bool IsInstanceMethod, const ObjCMethodInfo &Info, llvm::VersionTuple SwiftVersion) |
Add information about a specific Objective-C method. | |
void | addCXXMethod (ContextID CtxID, llvm::StringRef Name, const CXXMethodInfo &Info, llvm::VersionTuple SwiftVersion) |
Add information about a specific C++ method. | |
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 | addGlobalFunction (std::optional< Context > Ctx, llvm::StringRef Name, const GlobalFunctionInfo &Info, llvm::VersionTuple SwiftVersion) |
Add information about a global function. | |
void | addEnumConstant (llvm::StringRef Name, const EnumConstantInfo &Info, llvm::VersionTuple SwiftVersion) |
Add information about an enumerator. | |
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). | |
void | addTypedef (std::optional< Context > Ctx, llvm::StringRef Name, const TypedefInfo &Info, llvm::VersionTuple SwiftVersion) |
Add information about a typedef. | |
A class that writes API notes data to a binary representation that can be read by the APINotesReader
.
Definition at line 32 of file APINotesWriter.h.
clang::api_notes::APINotesWriter::APINotesWriter | ( | llvm::StringRef | ModuleName, |
const FileEntry * | SF | ||
) |
Create a new API notes writer with the given module name and (optional) source file.
Definition at line 1416 of file APINotesWriter.cpp.
|
default |
|
delete |
ContextID clang::api_notes::APINotesWriter::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.
Name | The name of this class/protocol/namespace. |
Kind | Whether this is a class, a protocol, or a namespace. |
Info | Information about this class/protocol/namespace. |
Definition at line 1425 of file APINotesWriter.cpp.
References clang::Found, and Kind.
void clang::api_notes::APINotesWriter::addCXXMethod | ( | ContextID | CtxID, |
llvm::StringRef | Name, | ||
const CXXMethodInfo & | Info, | ||
llvm::VersionTuple | SwiftVersion | ||
) |
Add information about a specific C++ method.
CtxID | The context in which this method resides, i.e. a C++ tag. |
Name | The name of the method. |
Info | Information about this method. |
Definition at line 1509 of file APINotesWriter.cpp.
References clang::api_notes::ContextID::Value.
void clang::api_notes::APINotesWriter::addEnumConstant | ( | llvm::StringRef | Name, |
const EnumConstantInfo & | Info, | ||
llvm::VersionTuple | SwiftVersion | ||
) |
Add information about an enumerator.
Name | The name of this enumerator. |
Info | Information about this enumerator. |
Definition at line 1543 of file APINotesWriter.cpp.
void clang::api_notes::APINotesWriter::addField | ( | ContextID | CtxID, |
llvm::StringRef | Name, | ||
const FieldInfo & | Info, | ||
llvm::VersionTuple | SwiftVersion | ||
) |
Add information about a specific C record field.
CtxID | The context in which this field resides, i.e. a C/C++ tag. |
Name | The name of the field. |
Info | Information about this field. |
Definition at line 1517 of file APINotesWriter.cpp.
References clang::api_notes::ContextID::Value.
void clang::api_notes::APINotesWriter::addGlobalFunction | ( | std::optional< Context > | Ctx, |
llvm::StringRef | Name, | ||
const GlobalFunctionInfo & | Info, | ||
llvm::VersionTuple | SwiftVersion | ||
) |
Add information about a global function.
Name | The name of this global function. |
Info | Information about this global function. |
Definition at line 1534 of file APINotesWriter.cpp.
void clang::api_notes::APINotesWriter::addGlobalVariable | ( | std::optional< Context > | Ctx, |
llvm::StringRef | Name, | ||
const GlobalVariableInfo & | Info, | ||
llvm::VersionTuple | SwiftVersion | ||
) |
Add information about a global variable.
Name | The name of this global variable. |
Info | Information about this global variable. |
Definition at line 1525 of file APINotesWriter.cpp.
void clang::api_notes::APINotesWriter::addObjCMethod | ( | ContextID | CtxID, |
ObjCSelectorRef | Selector, | ||
bool | IsInstanceMethod, | ||
const ObjCMethodInfo & | Info, | ||
llvm::VersionTuple | SwiftVersion | ||
) |
Add information about a specific Objective-C method.
CtxID | The context in which this method resides. |
Selector | The selector that names this method. |
IsInstanceMethod | Whether this method is an instance method (vs. a class method). |
Info | Information about this method. |
Definition at line 1474 of file APINotesWriter.cpp.
References clang::api_notes::ObjCMethodInfo::DesignatedInit, clang::Found, clang::api_notes::ObjCClass, and clang::api_notes::ContextID::Value.
void clang::api_notes::APINotesWriter::addObjCProperty | ( | ContextID | CtxID, |
llvm::StringRef | Name, | ||
bool | IsInstanceProperty, | ||
const ObjCPropertyInfo & | Info, | ||
llvm::VersionTuple | SwiftVersion | ||
) |
Add information about a specific Objective-C property.
CtxID | The context in which this property resides. |
Name | The name of this property. |
Info | Information about this property. |
Definition at line 1464 of file APINotesWriter.cpp.
References clang::api_notes::ContextID::Value.
void clang::api_notes::APINotesWriter::addTag | ( | std::optional< Context > | Ctx, |
llvm::StringRef | Name, | ||
const TagInfo & | Info, | ||
llvm::VersionTuple | SwiftVersion | ||
) |
Add information about a tag (struct/union/enum/C++ class).
Name | The name of this tag. |
Info | Information about this tag. |
Definition at line 1550 of file APINotesWriter.cpp.
void clang::api_notes::APINotesWriter::addTypedef | ( | std::optional< Context > | Ctx, |
llvm::StringRef | Name, | ||
const TypedefInfo & | Info, | ||
llvm::VersionTuple | SwiftVersion | ||
) |
Add information about a typedef.
Name | The name of this typedef. |
Info | Information about this typedef. |
Definition at line 1557 of file APINotesWriter.cpp.
|
delete |
void clang::api_notes::APINotesWriter::writeToStream | ( | llvm::raw_ostream & | OS | ) |
Definition at line 1421 of file APINotesWriter.cpp.
References clang::api_notes::APINotesWriter::Implementation::writeToStream().