|
clang 24.0.0git
|
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< IdentifierID > | getIdentifier (llvm::StringRef Str) |
| Retrieve the identifier ID for the given string, or an empty optional if the string is unknown. | |
| std::optional< llvm::StringRef > | getIdentifierString (IdentifierID ID) |
| Retrieve the identifier string for the given ID, or an empty optional if the ID is unknown. | |
| template<typename TableT> | |
| void | collectExactFunctionParameterSelectors (TableT &Table, llvm::SmallVectorImpl< APINotesFunctionSelectorKey > &Selectors) |
| Collect exact parameter selector keys stored in the given function-like table. | |
| std::optional< SelectorID > | getSelector (ObjCSelectorRef Selector) |
| Retrieve the selector ID for the given selector, or an empty optional if the string is unknown. | |
| llvm::Error | readControlBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch) |
| llvm::Error | readIdentifierBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch) |
| llvm::Error | readContextBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch) |
| llvm::Error | readObjCPropertyBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch) |
| llvm::Error | readObjCMethodBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch) |
| llvm::Error | readCXXMethodBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch) |
| llvm::Error | readFieldBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch) |
| llvm::Error | readObjCSelectorBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch) |
| llvm::Error | readGlobalVariableBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch) |
| std::optional< FunctionTableKey > | getFunctionKey (uint32_t ParentContextID, llvm::StringRef Name) |
| template<typename ParameterT> | |
| std::optional< FunctionTableKey > | getFunctionKey (uint32_t ParentContextID, llvm::StringRef Name, llvm::ArrayRef< ParameterT > Parameters) |
| std::optional< FunctionTableKey > | getFunctionKey (std::optional< Context > ParentContext, llvm::StringRef Name) |
| template<typename ParameterT> | |
| std::optional< FunctionTableKey > | getFunctionKey (std::optional< Context > ParentContext, llvm::StringRef Name, llvm::ArrayRef< ParameterT > Parameters) |
| llvm::Error | readGlobalFunctionBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch) |
| llvm::Error | readEnumConstantBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch) |
| llvm::Error | readTagBlock (llvm::BitstreamCursor &Cursor, llvm::SmallVectorImpl< uint64_t > &Scratch) |
| llvm::Error | 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< SerializedIdentifierTable > | IdentifierTable |
| The identifier table. | |
| std::optional< llvm::DenseMap< uint32_t, llvm::StringRef > > | IdentifierStrings |
| Lazy reverse lookup cache from identifier ID to string. | |
| std::unique_ptr< SerializedContextIDTable > | ContextIDTable |
| The Objective-C / C++ context ID table. | |
| std::unique_ptr< SerializedContextInfoTable > | ContextInfoTable |
| The Objective-C context info table. | |
| std::unique_ptr< SerializedObjCPropertyTable > | ObjCPropertyTable |
| The Objective-C property table. | |
| std::unique_ptr< SerializedFieldTable > | FieldTable |
| The C record field table. | |
| std::unique_ptr< SerializedObjCMethodTable > | ObjCMethodTable |
| The Objective-C method table. | |
| std::unique_ptr< SerializedCXXMethodTable > | CXXMethodTable |
| The C++ method table. | |
| std::unique_ptr< SerializedObjCSelectorTable > | ObjCSelectorTable |
| The Objective-C selector table. | |
| std::unique_ptr< SerializedGlobalVariableTable > | GlobalVariableTable |
| The global variable table. | |
| std::unique_ptr< SerializedGlobalFunctionTable > | GlobalFunctionTable |
| The global function table. | |
| std::unique_ptr< SerializedEnumConstantTable > | EnumConstantTable |
| The enumerator table. | |
| std::unique_ptr< SerializedTagTable > | TagTable |
| The tag table. | |
| std::unique_ptr< SerializedTypedefTable > | TypedefTable |
| The typedef table. | |
Definition at line 744 of file APINotesReader.cpp.
Definition at line 768 of file APINotesReader.cpp.
Definition at line 774 of file APINotesReader.cpp.
Definition at line 798 of file APINotesReader.cpp.
Definition at line 822 of file APINotesReader.cpp.
Definition at line 786 of file APINotesReader.cpp.
Definition at line 816 of file APINotesReader.cpp.
Definition at line 810 of file APINotesReader.cpp.
Definition at line 759 of file APINotesReader.cpp.
Definition at line 792 of file APINotesReader.cpp.
Definition at line 780 of file APINotesReader.cpp.
Definition at line 804 of file APINotesReader.cpp.
| using clang::api_notes::APINotesReader::Implementation::SerializedTagTable = llvm::OnDiskIterableChainedHashTable<TagTableInfo> |
Definition at line 828 of file APINotesReader.cpp.
Definition at line 833 of file APINotesReader.cpp.
| void clang::api_notes::APINotesReader::Implementation::collectExactFunctionParameterSelectors | ( | TableT & | Table, |
| llvm::SmallVectorImpl< APINotesFunctionSelectorKey > & | Selectors ) |
Collect exact parameter selector keys stored in the given function-like table.
Definition at line 947 of file APINotesReader.cpp.
Referenced by clang::api_notes::APINotesReader::collectExactFunctionParameterSelectors().
| std::optional< FunctionTableKey > clang::api_notes::APINotesReader::Implementation::getFunctionKey | ( | std::optional< Context > | ParentContext, |
| llvm::StringRef | Name ) |
Definition at line 979 of file APINotesReader.cpp.
References getFunctionKey().
| std::optional< FunctionTableKey > clang::api_notes::APINotesReader::Implementation::getFunctionKey | ( | std::optional< Context > | ParentContext, |
| llvm::StringRef | Name, | ||
| llvm::ArrayRef< ParameterT > | Parameters ) |
Definition at line 987 of file APINotesReader.cpp.
References getFunctionKey().
| std::optional< FunctionTableKey > clang::api_notes::APINotesReader::Implementation::getFunctionKey | ( | uint32_t | ParentContextID, |
| llvm::StringRef | Name ) |
Definition at line 963 of file APINotesReader.cpp.
References clang::api_notes::getFunctionKeyImpl(), and getIdentifier().
Referenced by clang::api_notes::APINotesReader::getCXXMethodSelectorKey(), clang::api_notes::APINotesReader::getCXXMethodSelectorKey(), getFunctionKey(), getFunctionKey(), clang::api_notes::APINotesReader::getGlobalFunctionSelectorKey(), clang::api_notes::APINotesReader::getGlobalFunctionSelectorKey(), clang::api_notes::APINotesReader::lookupCXXMethodImpl(), and clang::api_notes::APINotesReader::lookupGlobalFunctionImpl().
| std::optional< FunctionTableKey > clang::api_notes::APINotesReader::Implementation::getFunctionKey | ( | uint32_t | ParentContextID, |
| llvm::StringRef | Name, | ||
| llvm::ArrayRef< ParameterT > | Parameters ) |
Definition at line 971 of file APINotesReader.cpp.
References clang::api_notes::getFunctionKeyImpl(), and getIdentifier().
| std::optional< IdentifierID > clang::api_notes::APINotesReader::Implementation::getIdentifier | ( | llvm::StringRef | Str | ) |
Retrieve the identifier ID for the given string, or an empty optional if the string is unknown.
Definition at line 900 of file APINotesReader.cpp.
References IdentifierTable.
Referenced by clang::api_notes::APINotesReader::lookupEnumConstant(), clang::api_notes::APINotesReader::lookupField(), clang::api_notes::APINotesReader::lookupGlobalVariable(), clang::api_notes::APINotesReader::lookupNamespaceID(), clang::api_notes::APINotesReader::lookupObjCClassID(), clang::api_notes::APINotesReader::lookupObjCProperty(), clang::api_notes::APINotesReader::lookupObjCProtocolID(), clang::api_notes::APINotesReader::lookupTag(), clang::api_notes::APINotesReader::lookupTagID(), and clang::api_notes::APINotesReader::lookupTypedef().
| std::optional< llvm::StringRef > clang::api_notes::APINotesReader::Implementation::getIdentifierString | ( | IdentifierID | ID | ) |
Retrieve the identifier string for the given ID, or an empty optional if the ID is unknown.
Definition at line 915 of file APINotesReader.cpp.
References IdentifierStrings, and IdentifierTable.
Referenced by clang::api_notes::APINotesReader::getParameterSelectorSpellingsForDiagnostics().
| 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 996 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().
| llvm::Error clang::api_notes::APINotesReader::Implementation::readContextBlock | ( | llvm::BitstreamCursor & | Cursor, |
| llvm::SmallVectorImpl< uint64_t > & | Scratch ) |
Definition at line 1178 of file APINotesReader.cpp.
References clang::api_notes::context_block::CONTEXT_ID_DATA, clang::api_notes::context_block::CONTEXT_INFO_DATA, ContextIDTable, ContextInfoTable, Next, and clang::api_notes::OBJC_CONTEXT_BLOCK_ID.
| llvm::Error clang::api_notes::APINotesReader::Implementation::readControlBlock | ( | llvm::BitstreamCursor & | Cursor, |
| llvm::SmallVectorImpl< uint64_t > & | Scratch ) |
Definition at line 1018 of file APINotesReader.cpp.
References clang::api_notes::CONTROL_BLOCK_ID, clang::api_notes::control_block::METADATA, clang::api_notes::control_block::MODULE_NAME, clang::api_notes::control_block::MODULE_OPTIONS, ModuleName, Next, clang::api_notes::control_block::SOURCE_FILE, SourceFileSizeAndModTime, clang::api_notes::VERSION_MAJOR, and clang::api_notes::VERSION_MINOR.
| llvm::Error clang::api_notes::APINotesReader::Implementation::readCXXMethodBlock | ( | llvm::BitstreamCursor & | Cursor, |
| llvm::SmallVectorImpl< uint64_t > & | Scratch ) |
Definition at line 1412 of file APINotesReader.cpp.
References clang::api_notes::CXX_METHOD_BLOCK_ID, clang::api_notes::cxx_method_block::CXX_METHOD_DATA, CXXMethodTable, and Next.
| llvm::Error clang::api_notes::APINotesReader::Implementation::readEnumConstantBlock | ( | llvm::BitstreamCursor & | Cursor, |
| llvm::SmallVectorImpl< uint64_t > & | Scratch ) |
Definition at line 1774 of file APINotesReader.cpp.
References clang::api_notes::ENUM_CONSTANT_BLOCK_ID, clang::api_notes::enum_constant_block::ENUM_CONSTANT_DATA, EnumConstantTable, and Next.
| llvm::Error clang::api_notes::APINotesReader::Implementation::readFieldBlock | ( | llvm::BitstreamCursor & | Cursor, |
| llvm::SmallVectorImpl< uint64_t > & | Scratch ) |
Definition at line 1483 of file APINotesReader.cpp.
References clang::api_notes::FIELD_BLOCK_ID, clang::api_notes::field_block::FIELD_DATA, FieldTable, and Next.
| llvm::Error clang::api_notes::APINotesReader::Implementation::readGlobalFunctionBlock | ( | llvm::BitstreamCursor & | Cursor, |
| llvm::SmallVectorImpl< uint64_t > & | Scratch ) |
Definition at line 1701 of file APINotesReader.cpp.
References clang::api_notes::GLOBAL_FUNCTION_BLOCK_ID, clang::api_notes::global_function_block::GLOBAL_FUNCTION_DATA, GlobalFunctionTable, and Next.
| llvm::Error clang::api_notes::APINotesReader::Implementation::readGlobalVariableBlock | ( | llvm::BitstreamCursor & | Cursor, |
| llvm::SmallVectorImpl< uint64_t > & | Scratch ) |
Definition at line 1628 of file APINotesReader.cpp.
References clang::api_notes::GLOBAL_VARIABLE_BLOCK_ID, clang::api_notes::global_variable_block::GLOBAL_VARIABLE_DATA, GlobalVariableTable, and Next.
| llvm::Error clang::api_notes::APINotesReader::Implementation::readIdentifierBlock | ( | llvm::BitstreamCursor & | Cursor, |
| llvm::SmallVectorImpl< uint64_t > & | Scratch ) |
Definition at line 1106 of file APINotesReader.cpp.
References clang::api_notes::IDENTIFIER_BLOCK_ID, clang::api_notes::identifier_block::IDENTIFIER_DATA, IdentifierTable, and Next.
| llvm::Error clang::api_notes::APINotesReader::Implementation::readObjCMethodBlock | ( | llvm::BitstreamCursor & | Cursor, |
| llvm::SmallVectorImpl< uint64_t > & | Scratch ) |
Definition at line 1340 of file APINotesReader.cpp.
References Next, clang::api_notes::OBJC_METHOD_BLOCK_ID, clang::api_notes::objc_method_block::OBJC_METHOD_DATA, and ObjCMethodTable.
| llvm::Error clang::api_notes::APINotesReader::Implementation::readObjCPropertyBlock | ( | llvm::BitstreamCursor & | Cursor, |
| llvm::SmallVectorImpl< uint64_t > & | Scratch ) |
Definition at line 1265 of file APINotesReader.cpp.
References Next, clang::api_notes::OBJC_PROPERTY_BLOCK_ID, clang::api_notes::objc_property_block::OBJC_PROPERTY_DATA, and ObjCPropertyTable.
| llvm::Error clang::api_notes::APINotesReader::Implementation::readObjCSelectorBlock | ( | llvm::BitstreamCursor & | Cursor, |
| llvm::SmallVectorImpl< uint64_t > & | Scratch ) |
Definition at line 1554 of file APINotesReader.cpp.
References Next, clang::api_notes::OBJC_SELECTOR_BLOCK_ID, clang::api_notes::objc_selector_block::OBJC_SELECTOR_DATA, and ObjCSelectorTable.
| llvm::Error clang::api_notes::APINotesReader::Implementation::readTagBlock | ( | llvm::BitstreamCursor & | Cursor, |
| llvm::SmallVectorImpl< uint64_t > & | Scratch ) |
Definition at line 1846 of file APINotesReader.cpp.
References Next, clang::api_notes::TAG_BLOCK_ID, clang::api_notes::tag_block::TAG_DATA, and TagTable.
| llvm::Error clang::api_notes::APINotesReader::Implementation::readTypedefBlock | ( | llvm::BitstreamCursor & | Cursor, |
| llvm::SmallVectorImpl< uint64_t > & | Scratch ) |
Definition at line 1917 of file APINotesReader.cpp.
References Next, clang::api_notes::TYPEDEF_BLOCK_ID, clang::api_notes::typedef_block::TYPEDEF_DATA, and TypedefTable.
| std::unique_ptr<SerializedContextIDTable> clang::api_notes::APINotesReader::Implementation::ContextIDTable |
The Objective-C / C++ context ID table.
Definition at line 772 of file APINotesReader.cpp.
Referenced by clang::api_notes::APINotesReader::lookupNamespaceID(), clang::api_notes::APINotesReader::lookupObjCClassID(), clang::api_notes::APINotesReader::lookupObjCProtocolID(), clang::api_notes::APINotesReader::lookupTagID(), and readContextBlock().
| std::unique_ptr<SerializedContextInfoTable> clang::api_notes::APINotesReader::Implementation::ContextInfoTable |
The Objective-C context info table.
Definition at line 778 of file APINotesReader.cpp.
Referenced by clang::api_notes::APINotesReader::lookupObjCClassInfo(), clang::api_notes::APINotesReader::lookupObjCProtocolInfo(), and readContextBlock().
| std::unique_ptr<SerializedCXXMethodTable> clang::api_notes::APINotesReader::Implementation::CXXMethodTable |
The C++ method table.
Definition at line 802 of file APINotesReader.cpp.
Referenced by clang::api_notes::APINotesReader::collectExactFunctionParameterSelectors(), clang::api_notes::APINotesReader::lookupCXXMethodImpl(), and readCXXMethodBlock().
| std::unique_ptr<SerializedEnumConstantTable> clang::api_notes::APINotesReader::Implementation::EnumConstantTable |
The enumerator table.
Definition at line 826 of file APINotesReader.cpp.
Referenced by clang::api_notes::APINotesReader::lookupEnumConstant(), and readEnumConstantBlock().
| std::unique_ptr<SerializedFieldTable> clang::api_notes::APINotesReader::Implementation::FieldTable |
The C record field table.
Definition at line 790 of file APINotesReader.cpp.
Referenced by clang::api_notes::APINotesReader::lookupField(), and readFieldBlock().
| std::unique_ptr<SerializedGlobalFunctionTable> clang::api_notes::APINotesReader::Implementation::GlobalFunctionTable |
The global function table.
Definition at line 820 of file APINotesReader.cpp.
Referenced by clang::api_notes::APINotesReader::collectExactFunctionParameterSelectors(), clang::api_notes::APINotesReader::lookupGlobalFunctionImpl(), and readGlobalFunctionBlock().
| std::unique_ptr<SerializedGlobalVariableTable> clang::api_notes::APINotesReader::Implementation::GlobalVariableTable |
The global variable table.
Definition at line 814 of file APINotesReader.cpp.
Referenced by clang::api_notes::APINotesReader::lookupGlobalVariable(), and readGlobalVariableBlock().
| std::optional<llvm::DenseMap<uint32_t, llvm::StringRef> > clang::api_notes::APINotesReader::Implementation::IdentifierStrings |
Lazy reverse lookup cache from identifier ID to string.
Definition at line 766 of file APINotesReader.cpp.
Referenced by getIdentifierString().
| std::unique_ptr<SerializedIdentifierTable> clang::api_notes::APINotesReader::Implementation::IdentifierTable |
The identifier table.
Definition at line 763 of file APINotesReader.cpp.
Referenced by getIdentifier(), getIdentifierString(), getSelector(), and readIdentifierBlock().
| llvm::MemoryBuffer* clang::api_notes::APINotesReader::Implementation::InputBuffer |
The input buffer for the API notes data.
Definition at line 747 of file APINotesReader.cpp.
Referenced by clang::api_notes::APINotesReader::~APINotesReader().
| std::string clang::api_notes::APINotesReader::Implementation::ModuleName |
The name of the module that we read from the control block.
Definition at line 753 of file APINotesReader.cpp.
Referenced by readControlBlock().
| std::unique_ptr<SerializedObjCMethodTable> clang::api_notes::APINotesReader::Implementation::ObjCMethodTable |
The Objective-C method table.
Definition at line 796 of file APINotesReader.cpp.
Referenced by clang::api_notes::APINotesReader::lookupObjCMethod(), and readObjCMethodBlock().
| std::unique_ptr<SerializedObjCPropertyTable> clang::api_notes::APINotesReader::Implementation::ObjCPropertyTable |
The Objective-C property table.
Definition at line 784 of file APINotesReader.cpp.
Referenced by clang::api_notes::APINotesReader::lookupObjCProperty(), and readObjCPropertyBlock().
| std::unique_ptr<SerializedObjCSelectorTable> clang::api_notes::APINotesReader::Implementation::ObjCSelectorTable |
The Objective-C selector table.
Definition at line 808 of file APINotesReader.cpp.
Referenced by getSelector(), and readObjCSelectorBlock().
| std::optional<std::pair<off_t, time_t> > clang::api_notes::APINotesReader::Implementation::SourceFileSizeAndModTime |
Definition at line 757 of file APINotesReader.cpp.
Referenced by readControlBlock().
| llvm::VersionTuple clang::api_notes::APINotesReader::Implementation::SwiftVersion |
The Swift version to use for filtering.
Definition at line 750 of file APINotesReader.cpp.
Referenced by clang::api_notes::APINotesReader::lookupCXXMethodImpl(), clang::api_notes::APINotesReader::lookupEnumConstant(), clang::api_notes::APINotesReader::lookupField(), clang::api_notes::APINotesReader::lookupGlobalFunctionImpl(), clang::api_notes::APINotesReader::lookupGlobalVariable(), clang::api_notes::APINotesReader::lookupObjCClassInfo(), clang::api_notes::APINotesReader::lookupObjCMethod(), clang::api_notes::APINotesReader::lookupObjCProperty(), clang::api_notes::APINotesReader::lookupObjCProtocolInfo(), clang::api_notes::APINotesReader::lookupTag(), and clang::api_notes::APINotesReader::lookupTypedef().
| std::unique_ptr<SerializedTagTable> clang::api_notes::APINotesReader::Implementation::TagTable |
The tag table.
Definition at line 831 of file APINotesReader.cpp.
Referenced by clang::api_notes::APINotesReader::lookupTag(), and readTagBlock().
| std::unique_ptr<SerializedTypedefTable> clang::api_notes::APINotesReader::Implementation::TypedefTable |
The typedef table.
Definition at line 837 of file APINotesReader.cpp.
Referenced by clang::api_notes::APINotesReader::lookupTypedef(), and readTypedefBlock().