clang 20.0.0git
Public Types | Public Member Functions | Public Attributes | List of all members
clang::api_notes::APINotesReader::Implementation Class Reference

Public Types

using SerializedIdentifierTable = llvm::OnDiskIterableChainedHashTable< IdentifierTableInfo >
 
using SerializedContextIDTable = llvm::OnDiskIterableChainedHashTable< ContextIDTableInfo >
 
using SerializedContextInfoTable = llvm::OnDiskIterableChainedHashTable< ContextInfoTableInfo >
 
using SerializedObjCPropertyTable = llvm::OnDiskIterableChainedHashTable< ObjCPropertyTableInfo >
 
using SerializedFieldTable = llvm::OnDiskIterableChainedHashTable< FieldTableInfo >
 
using SerializedObjCMethodTable = llvm::OnDiskIterableChainedHashTable< ObjCMethodTableInfo >
 
using SerializedCXXMethodTable = llvm::OnDiskIterableChainedHashTable< CXXMethodTableInfo >
 
using SerializedObjCSelectorTable = llvm::OnDiskIterableChainedHashTable< ObjCSelectorTableInfo >
 
using SerializedGlobalVariableTable = llvm::OnDiskIterableChainedHashTable< GlobalVariableTableInfo >
 
using SerializedGlobalFunctionTable = llvm::OnDiskIterableChainedHashTable< GlobalFunctionTableInfo >
 
using SerializedEnumConstantTable = llvm::OnDiskIterableChainedHashTable< EnumConstantTableInfo >
 
using SerializedTagTable = llvm::OnDiskIterableChainedHashTable< TagTableInfo >
 
using SerializedTypedefTable = llvm::OnDiskIterableChainedHashTable< TypedefTableInfo >
 

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 639 of file APINotesReader.cpp.

Member Typedef Documentation

◆ SerializedContextIDTable

using clang::api_notes::APINotesReader::Implementation::SerializedContextIDTable = llvm::OnDiskIterableChainedHashTable<ContextIDTableInfo>

Definition at line 660 of file APINotesReader.cpp.

◆ SerializedContextInfoTable

using clang::api_notes::APINotesReader::Implementation::SerializedContextInfoTable = llvm::OnDiskIterableChainedHashTable<ContextInfoTableInfo>

Definition at line 666 of file APINotesReader.cpp.

◆ SerializedCXXMethodTable

using clang::api_notes::APINotesReader::Implementation::SerializedCXXMethodTable = llvm::OnDiskIterableChainedHashTable<CXXMethodTableInfo>

Definition at line 690 of file APINotesReader.cpp.

◆ SerializedEnumConstantTable

using clang::api_notes::APINotesReader::Implementation::SerializedEnumConstantTable = llvm::OnDiskIterableChainedHashTable<EnumConstantTableInfo>

Definition at line 714 of file APINotesReader.cpp.

◆ SerializedFieldTable

using clang::api_notes::APINotesReader::Implementation::SerializedFieldTable = llvm::OnDiskIterableChainedHashTable<FieldTableInfo>

Definition at line 678 of file APINotesReader.cpp.

◆ SerializedGlobalFunctionTable

using clang::api_notes::APINotesReader::Implementation::SerializedGlobalFunctionTable = llvm::OnDiskIterableChainedHashTable<GlobalFunctionTableInfo>

Definition at line 708 of file APINotesReader.cpp.

◆ SerializedGlobalVariableTable

using clang::api_notes::APINotesReader::Implementation::SerializedGlobalVariableTable = llvm::OnDiskIterableChainedHashTable<GlobalVariableTableInfo>

Definition at line 702 of file APINotesReader.cpp.

◆ SerializedIdentifierTable

using clang::api_notes::APINotesReader::Implementation::SerializedIdentifierTable = llvm::OnDiskIterableChainedHashTable<IdentifierTableInfo>

Definition at line 654 of file APINotesReader.cpp.

◆ SerializedObjCMethodTable

using clang::api_notes::APINotesReader::Implementation::SerializedObjCMethodTable = llvm::OnDiskIterableChainedHashTable<ObjCMethodTableInfo>

Definition at line 684 of file APINotesReader.cpp.

◆ SerializedObjCPropertyTable

using clang::api_notes::APINotesReader::Implementation::SerializedObjCPropertyTable = llvm::OnDiskIterableChainedHashTable<ObjCPropertyTableInfo>

Definition at line 672 of file APINotesReader.cpp.

◆ SerializedObjCSelectorTable

using clang::api_notes::APINotesReader::Implementation::SerializedObjCSelectorTable = llvm::OnDiskIterableChainedHashTable<ObjCSelectorTableInfo>

Definition at line 696 of file APINotesReader.cpp.

◆ SerializedTagTable

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

Definition at line 720 of file APINotesReader.cpp.

◆ SerializedTypedefTable

using clang::api_notes::APINotesReader::Implementation::SerializedTypedefTable = llvm::OnDiskIterableChainedHashTable<TypedefTableInfo>

Definition at line 725 of file APINotesReader.cpp.

Member Function Documentation

◆ getIdentifier()

std::optional< IdentifierID > clang::api_notes::APINotesReader::Implementation::getIdentifier ( llvm::StringRef  Str)

◆ 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 783 of file APINotesReader.cpp.

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

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

◆ readContextBlock()

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

◆ readControlBlock()

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

◆ 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 694 of file APINotesReader.cpp.

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

◆ EnumConstantTable

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

The enumerator table.

Definition at line 718 of file APINotesReader.cpp.

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

◆ FieldTable

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

The C record field table.

Definition at line 682 of file APINotesReader.cpp.

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

◆ GlobalFunctionTable

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

The global function table.

Definition at line 712 of file APINotesReader.cpp.

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

◆ GlobalVariableTable

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

The global variable table.

Definition at line 706 of file APINotesReader.cpp.

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

◆ IdentifierTable

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

The identifier table.

Definition at line 658 of file APINotesReader.cpp.

◆ InputBuffer

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

The input buffer for the API notes data.

Definition at line 642 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 648 of file APINotesReader.cpp.

◆ ObjCMethodTable

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

The Objective-C method table.

Definition at line 688 of file APINotesReader.cpp.

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

◆ ObjCPropertyTable

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

The Objective-C property table.

Definition at line 676 of file APINotesReader.cpp.

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

◆ ObjCSelectorTable

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

The Objective-C selector table.

Definition at line 700 of file APINotesReader.cpp.

◆ SourceFileSizeAndModTime

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

Definition at line 652 of file APINotesReader.cpp.

◆ SwiftVersion

llvm::VersionTuple clang::api_notes::APINotesReader::Implementation::SwiftVersion

◆ TagTable

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

The tag table.

Definition at line 723 of file APINotesReader.cpp.

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

◆ TypedefTable

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

The typedef table.

Definition at line 729 of file APINotesReader.cpp.

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


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