clang 22.0.0git
clang::api_notes::APINotesReader::Implementation Class Reference

Public Types

using SerializedIdentifierTable
using SerializedContextIDTable
using SerializedContextInfoTable
using SerializedObjCPropertyTable
using SerializedFieldTable
using SerializedObjCMethodTable
using SerializedCXXMethodTable
using SerializedObjCSelectorTable
using SerializedGlobalVariableTable
using SerializedGlobalFunctionTable
using SerializedEnumConstantTable
using SerializedTagTable = llvm::OnDiskIterableChainedHashTable<TagTableInfo>
using SerializedTypedefTable

Public Member Functions

std::optional< IdentifierIDgetIdentifier (llvm::StringRef Str)
 Retrieve the identifier ID for the given string, or an empty optional if the string is unknown.
std::optional< SelectorIDgetSelector (ObjCSelectorRef Selector)
 Retrieve the selector ID for the given selector, or an empty optional if the string is unknown.
bool readControlBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch)
bool readIdentifierBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch)
bool readContextBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch)
bool readObjCPropertyBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch)
bool readObjCMethodBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch)
bool readCXXMethodBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch)
bool readFieldBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch)
bool readObjCSelectorBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch)
bool readGlobalVariableBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch)
bool readGlobalFunctionBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch)
bool readEnumConstantBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch)
bool readTagBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch)
bool readTypedefBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch)

Public Attributes

llvm::MemoryBuffer * InputBuffer
 The input buffer for the API notes data.
llvm::VersionTuple SwiftVersion
 The Swift version to use for filtering.
std::string ModuleName
 The name of the module that we read from the control block.
std::optional< std::pair< off_t, time_t > > SourceFileSizeAndModTime
std::unique_ptr< SerializedIdentifierTableIdentifierTable
 The identifier table.
std::unique_ptr< SerializedContextIDTableContextIDTable
 The Objective-C / C++ context ID table.
std::unique_ptr< SerializedContextInfoTableContextInfoTable
 The Objective-C context info table.
std::unique_ptr< SerializedObjCPropertyTableObjCPropertyTable
 The Objective-C property table.
std::unique_ptr< SerializedFieldTableFieldTable
 The C record field table.
std::unique_ptr< SerializedObjCMethodTableObjCMethodTable
 The Objective-C method table.
std::unique_ptr< SerializedCXXMethodTableCXXMethodTable
 The C++ method table.
std::unique_ptr< SerializedObjCSelectorTableObjCSelectorTable
 The Objective-C selector table.
std::unique_ptr< SerializedGlobalVariableTableGlobalVariableTable
 The global variable table.
std::unique_ptr< SerializedGlobalFunctionTableGlobalFunctionTable
 The global function table.
std::unique_ptr< SerializedEnumConstantTableEnumConstantTable
 The enumerator table.
std::unique_ptr< SerializedTagTableTagTable
 The tag table.
std::unique_ptr< SerializedTypedefTableTypedefTable
 The typedef table.

Detailed Description

Definition at line 685 of file APINotesReader.cpp.

Member Typedef Documentation

◆ SerializedContextIDTable

Initial value:
llvm::OnDiskIterableChainedHashTable<ContextIDTableInfo>

Definition at line 706 of file APINotesReader.cpp.

◆ SerializedContextInfoTable

Initial value:
llvm::OnDiskIterableChainedHashTable<ContextInfoTableInfo>

Definition at line 712 of file APINotesReader.cpp.

◆ SerializedCXXMethodTable

Initial value:
llvm::OnDiskIterableChainedHashTable<CXXMethodTableInfo>

Definition at line 736 of file APINotesReader.cpp.

◆ SerializedEnumConstantTable

Initial value:
llvm::OnDiskIterableChainedHashTable<EnumConstantTableInfo>

Definition at line 760 of file APINotesReader.cpp.

◆ SerializedFieldTable

Initial value:
llvm::OnDiskIterableChainedHashTable<FieldTableInfo>

Definition at line 724 of file APINotesReader.cpp.

◆ SerializedGlobalFunctionTable

Initial value:
llvm::OnDiskIterableChainedHashTable<GlobalFunctionTableInfo>

Definition at line 754 of file APINotesReader.cpp.

◆ SerializedGlobalVariableTable

Initial value:
llvm::OnDiskIterableChainedHashTable<GlobalVariableTableInfo>

Definition at line 748 of file APINotesReader.cpp.

◆ SerializedIdentifierTable

Initial value:
llvm::OnDiskIterableChainedHashTable<IdentifierTableInfo>

Definition at line 700 of file APINotesReader.cpp.

◆ SerializedObjCMethodTable

Initial value:
llvm::OnDiskIterableChainedHashTable<ObjCMethodTableInfo>

Definition at line 730 of file APINotesReader.cpp.

◆ SerializedObjCPropertyTable

Initial value:
llvm::OnDiskIterableChainedHashTable<ObjCPropertyTableInfo>

Definition at line 718 of file APINotesReader.cpp.

◆ SerializedObjCSelectorTable

Initial value:
llvm::OnDiskIterableChainedHashTable<ObjCSelectorTableInfo>

Definition at line 742 of file APINotesReader.cpp.

◆ SerializedTagTable

using clang::api_notes::APINotesReader::Implementation::SerializedTagTable = llvm::OnDiskIterableChainedHashTable<TagTableInfo>

Definition at line 766 of file APINotesReader.cpp.

◆ SerializedTypedefTable

Initial value:
llvm::OnDiskIterableChainedHashTable<TypedefTableInfo>

Definition at line 771 of file APINotesReader.cpp.

Member Function Documentation

◆ getIdentifier()

◆ getSelector()

std::optional< SelectorID > clang::api_notes::APINotesReader::Implementation::getSelector ( ObjCSelectorRef Selector)

Retrieve the selector ID for the given selector, or an empty optional if the string is unknown.

Definition at line 829 of file APINotesReader.cpp.

References getIdentifier(), clang::api_notes::StoredObjCSelector::Identifiers, IdentifierTable, clang::api_notes::StoredObjCSelector::NumArgs, and ObjCSelectorTable.

Referenced by clang::api_notes::APINotesReader::lookupObjCMethod().

◆ readContextBlock()

bool clang::api_notes::APINotesReader::Implementation::readContextBlock ( llvm::BitstreamCursor & Cursor,
llvm::SmallVectorImpl< uint64_t > & Scratch )

◆ readControlBlock()

◆ readCXXMethodBlock()

bool clang::api_notes::APINotesReader::Implementation::readCXXMethodBlock ( llvm::BitstreamCursor & Cursor,
llvm::SmallVectorImpl< uint64_t > & Scratch )

◆ readEnumConstantBlock()

bool clang::api_notes::APINotesReader::Implementation::readEnumConstantBlock ( llvm::BitstreamCursor & Cursor,
llvm::SmallVectorImpl< uint64_t > & Scratch )

◆ readFieldBlock()

bool clang::api_notes::APINotesReader::Implementation::readFieldBlock ( llvm::BitstreamCursor & Cursor,
llvm::SmallVectorImpl< uint64_t > & Scratch )

◆ readGlobalFunctionBlock()

bool clang::api_notes::APINotesReader::Implementation::readGlobalFunctionBlock ( llvm::BitstreamCursor & Cursor,
llvm::SmallVectorImpl< uint64_t > & Scratch )

◆ readGlobalVariableBlock()

bool clang::api_notes::APINotesReader::Implementation::readGlobalVariableBlock ( llvm::BitstreamCursor & Cursor,
llvm::SmallVectorImpl< uint64_t > & Scratch )

◆ readIdentifierBlock()

bool clang::api_notes::APINotesReader::Implementation::readIdentifierBlock ( llvm::BitstreamCursor & Cursor,
llvm::SmallVectorImpl< uint64_t > & Scratch )

◆ readObjCMethodBlock()

bool clang::api_notes::APINotesReader::Implementation::readObjCMethodBlock ( llvm::BitstreamCursor & Cursor,
llvm::SmallVectorImpl< uint64_t > & Scratch )

◆ readObjCPropertyBlock()

bool clang::api_notes::APINotesReader::Implementation::readObjCPropertyBlock ( llvm::BitstreamCursor & Cursor,
llvm::SmallVectorImpl< uint64_t > & Scratch )

◆ readObjCSelectorBlock()

bool clang::api_notes::APINotesReader::Implementation::readObjCSelectorBlock ( llvm::BitstreamCursor & Cursor,
llvm::SmallVectorImpl< uint64_t > & Scratch )

◆ readTagBlock()

bool clang::api_notes::APINotesReader::Implementation::readTagBlock ( llvm::BitstreamCursor & Cursor,
llvm::SmallVectorImpl< uint64_t > & Scratch )

◆ readTypedefBlock()

bool clang::api_notes::APINotesReader::Implementation::readTypedefBlock ( llvm::BitstreamCursor & Cursor,
llvm::SmallVectorImpl< uint64_t > & Scratch )

Member Data Documentation

◆ ContextIDTable

std::unique_ptr<SerializedContextIDTable> clang::api_notes::APINotesReader::Implementation::ContextIDTable

◆ ContextInfoTable

std::unique_ptr<SerializedContextInfoTable> clang::api_notes::APINotesReader::Implementation::ContextInfoTable

◆ CXXMethodTable

std::unique_ptr<SerializedCXXMethodTable> clang::api_notes::APINotesReader::Implementation::CXXMethodTable

The C++ method table.

Definition at line 740 of file APINotesReader.cpp.

Referenced by clang::api_notes::APINotesReader::lookupCXXMethod(), and readCXXMethodBlock().

◆ EnumConstantTable

std::unique_ptr<SerializedEnumConstantTable> clang::api_notes::APINotesReader::Implementation::EnumConstantTable

The enumerator table.

Definition at line 764 of file APINotesReader.cpp.

Referenced by clang::api_notes::APINotesReader::lookupEnumConstant(), and readEnumConstantBlock().

◆ FieldTable

std::unique_ptr<SerializedFieldTable> clang::api_notes::APINotesReader::Implementation::FieldTable

The C record field table.

Definition at line 728 of file APINotesReader.cpp.

Referenced by clang::api_notes::APINotesReader::lookupField(), and readFieldBlock().

◆ GlobalFunctionTable

std::unique_ptr<SerializedGlobalFunctionTable> clang::api_notes::APINotesReader::Implementation::GlobalFunctionTable

The global function table.

Definition at line 758 of file APINotesReader.cpp.

Referenced by clang::api_notes::APINotesReader::lookupGlobalFunction(), and readGlobalFunctionBlock().

◆ GlobalVariableTable

std::unique_ptr<SerializedGlobalVariableTable> clang::api_notes::APINotesReader::Implementation::GlobalVariableTable

The global variable table.

Definition at line 752 of file APINotesReader.cpp.

Referenced by clang::api_notes::APINotesReader::lookupGlobalVariable(), and readGlobalVariableBlock().

◆ IdentifierTable

std::unique_ptr<SerializedIdentifierTable> clang::api_notes::APINotesReader::Implementation::IdentifierTable

The identifier table.

Definition at line 704 of file APINotesReader.cpp.

Referenced by getIdentifier(), getSelector(), and readIdentifierBlock().

◆ InputBuffer

llvm::MemoryBuffer* clang::api_notes::APINotesReader::Implementation::InputBuffer

The input buffer for the API notes data.

Definition at line 688 of file APINotesReader.cpp.

Referenced by clang::api_notes::APINotesReader::~APINotesReader().

◆ ModuleName

std::string clang::api_notes::APINotesReader::Implementation::ModuleName

The name of the module that we read from the control block.

Definition at line 694 of file APINotesReader.cpp.

Referenced by readControlBlock().

◆ ObjCMethodTable

std::unique_ptr<SerializedObjCMethodTable> clang::api_notes::APINotesReader::Implementation::ObjCMethodTable

The Objective-C method table.

Definition at line 734 of file APINotesReader.cpp.

Referenced by clang::api_notes::APINotesReader::lookupObjCMethod(), and readObjCMethodBlock().

◆ ObjCPropertyTable

std::unique_ptr<SerializedObjCPropertyTable> clang::api_notes::APINotesReader::Implementation::ObjCPropertyTable

The Objective-C property table.

Definition at line 722 of file APINotesReader.cpp.

Referenced by clang::api_notes::APINotesReader::lookupObjCProperty(), and readObjCPropertyBlock().

◆ ObjCSelectorTable

std::unique_ptr<SerializedObjCSelectorTable> clang::api_notes::APINotesReader::Implementation::ObjCSelectorTable

The Objective-C selector table.

Definition at line 746 of file APINotesReader.cpp.

Referenced by getSelector(), and readObjCSelectorBlock().

◆ SourceFileSizeAndModTime

std::optional<std::pair<off_t, time_t> > clang::api_notes::APINotesReader::Implementation::SourceFileSizeAndModTime

Definition at line 698 of file APINotesReader.cpp.

Referenced by readControlBlock().

◆ SwiftVersion

◆ TagTable

std::unique_ptr<SerializedTagTable> clang::api_notes::APINotesReader::Implementation::TagTable

The tag table.

Definition at line 769 of file APINotesReader.cpp.

Referenced by clang::api_notes::APINotesReader::lookupTag(), and readTagBlock().

◆ TypedefTable

std::unique_ptr<SerializedTypedefTable> clang::api_notes::APINotesReader::Implementation::TypedefTable

The typedef table.

Definition at line 775 of file APINotesReader.cpp.

Referenced by clang::api_notes::APINotesReader::lookupTypedef(), and readTypedefBlock().


The documentation for this class was generated from the following file: