clang  14.0.0git
Public Member Functions | List of all members
clang::ASTRecordReader Class Reference

An object for streaming information from a record. More...

#include "clang/Serialization/ASTRecordReader.h"

Inheritance diagram for clang::ASTRecordReader:
Inheritance graph
[legend]
Collaboration diagram for clang::ASTRecordReader:
Collaboration graph
[legend]

Public Member Functions

 ASTRecordReader (ASTReader &Reader, ModuleFile &F)
 Construct an ASTRecordReader that uses the default encoding scheme. More...
 
Expected< unsignedreadRecord (llvm::BitstreamCursor &Cursor, unsigned AbbrevID)
 Reads a record with id AbbrevID from Cursor, resetting the internal state. More...
 
bool isModule () const
 Is this a module file for a module (rather than a PCH or similar). More...
 
ASTContextgetContext ()
 Retrieve the AST context that this AST reader supplements. More...
 
unsigned getIdx () const
 The current position in this record. More...
 
size_t size () const
 The length of this record. More...
 
const uint64_t & operator[] (size_t N)
 An arbitrary index in this record. More...
 
uint64_t back ()
 Returns the last value in this record. More...
 
uint64_t readInt ()
 Returns the current value in this record, and advances to the next value. More...
 
ArrayRef< uint64_t > readIntArray (unsigned Len)
 
uint64_t peekInt ()
 Returns the current value in this record, without advancing. More...
 
void skipInts (unsigned N)
 Skips the specified number of values. More...
 
serialization::SubmoduleID getGlobalSubmoduleID (unsigned LocalID)
 Retrieve the global submodule ID its local ID number. More...
 
ModulegetSubmodule (serialization::SubmoduleID GlobalID)
 Retrieve the submodule that corresponds to a global submodule ID. More...
 
bool readLexicalDeclContextStorage (uint64_t Offset, DeclContext *DC)
 Read the record that describes the lexical contents of a DC. More...
 
bool readVisibleDeclContextStorage (uint64_t Offset, serialization::DeclID ID)
 Read the record that describes the visible contents of a DC. More...
 
ExplicitSpecifier readExplicitSpec ()
 
uint64_t getGlobalBitOffset (uint64_t LocalOffset)
 Read information about an exception specification (inherited). More...
 
StmtreadStmt ()
 Reads a statement. More...
 
StmtreadStmtRef ()
 
ExprreadExpr ()
 Reads an expression. More...
 
StmtreadSubStmt ()
 Reads a sub-statement operand during statement reading. More...
 
ExprreadSubExpr ()
 Reads a sub-expression operand during statement reading. More...
 
template<typename T >
T * GetLocalDeclAs (uint32_t LocalID)
 Reads a declaration with the given local ID in the given module. More...
 
TemplateArgumentLocInfo readTemplateArgumentLocInfo (TemplateArgument::ArgKind Kind)
 Reads a TemplateArgumentLocInfo appropriate for the given TemplateArgument kind, advancing Idx. More...
 
TemplateArgumentLoc readTemplateArgumentLoc ()
 Reads a TemplateArgumentLoc, advancing Idx. More...
 
const ASTTemplateArgumentListInforeadASTTemplateArgumentListInfo ()
 
TypeSourceInforeadTypeSourceInfo ()
 Reads a declarator info from the given record, advancing Idx. More...
 
void readTypeLoc (TypeLoc TL)
 Reads the location information for a type. More...
 
serialization::TypeID getGlobalTypeID (unsigned LocalID) const
 Map a local type ID within a given AST file to a global type ID. More...
 
Qualifiers readQualifiers ()
 
QualType readType ()
 Read a type from the current position in the record. More...
 
QualType readQualType ()
 
serialization::DeclID readDeclID ()
 Reads a declaration ID from the given position in this record. More...
 
DeclreadDecl ()
 Reads a declaration from the given position in a record in the given module, advancing Idx. More...
 
DeclreadDeclRef ()
 
template<typename T >
T * readDeclAs ()
 Reads a declaration from the given position in the record, advancing Idx. More...
 
IdentifierInforeadIdentifier ()
 
Selector readSelector ()
 Read a selector from the Record, advancing Idx. More...
 
DeclarationNameLoc readDeclarationNameLoc (DeclarationName Name)
 Read a declaration name, advancing Idx. More...
 
DeclarationNameInfo readDeclarationNameInfo ()
 
void readQualifierInfo (QualifierInfo &Info)
 
NestedNameSpecifierLoc readNestedNameSpecifierLoc ()
 Return a nested name specifier, advancing Idx. More...
 
TemplateArgument readTemplateArgument (bool Canonicalize)
 
TemplateParameterListreadTemplateParameterList ()
 Read a template parameter list, advancing Idx. More...
 
void readTemplateArgumentList (SmallVectorImpl< TemplateArgument > &TemplArgs, bool Canonicalize=false)
 Read a template argument array, advancing Idx. More...
 
void readUnresolvedSet (LazyASTUnresolvedSet &Set)
 Read a UnresolvedSet structure, advancing Idx. More...
 
CXXBaseSpecifier readCXXBaseSpecifier ()
 Read a C++ base specifier, advancing Idx. More...
 
CXXCtorInitializer ** readCXXCtorInitializers ()
 Read a CXXCtorInitializer array, advancing Idx. More...
 
CXXTemporaryreadCXXTemporary ()
 
OMPTraitInforeadOMPTraitInfo ()
 Read an OMPTraitInfo object, advancing Idx. More...
 
OMPClausereadOMPClause ()
 Read an OpenMP clause, advancing Idx. More...
 
void readOMPChildren (OMPChildren *Data)
 Read an OpenMP children, advancing Idx. More...
 
SourceLocation readSourceLocation ()
 Read a source location, advancing Idx. More...
 
SourceRange readSourceRange ()
 Read a source range, advancing Idx. More...
 
llvm::APFloat readAPFloat (const llvm::fltSemantics &Sem)
 Read an arbitrary constant value, advancing Idx. More...
 
bool readBool ()
 Read a boolean value, advancing Idx. More...
 
uint32_t readUInt32 ()
 Read a 32-bit unsigned value; required to satisfy BasicReader. More...
 
uint64_t readUInt64 ()
 Read a 64-bit unsigned value; required to satisfy BasicReader. More...
 
std::string readString ()
 Read a string, advancing Idx. More...
 
std::string readPath ()
 Read a path, advancing Idx. More...
 
VersionTuple readVersionTuple ()
 Read a version tuple, advancing Idx. More...
 
AttrreadAttr ()
 Reads one attribute from the current stream position, advancing Idx. More...
 
void readAttributes (AttrVec &Attrs)
 Reads attributes from the current stream position, advancing Idx. More...
 
Token readToken ()
 Reads a token out of a record, advancing Idx. More...
 
void recordSwitchCaseID (SwitchCase *SC, unsigned ID)
 
SwitchCasegetSwitchCaseWithID (unsigned ID)
 Retrieve the switch-case statement with the given ID. More...
 
- Public Member Functions inherited from clang::serialization::DataStreamBasicReader< ASTRecordReader >
ASTRecordReaderfind (const char *propertyName)
 Implement property-find by ignoring it. More...
 
readEnum ()
 
ASTRecordReaderreadObject ()
 
llvm::ArrayRef< T > readArray (llvm::SmallVectorImpl< T > &buffer)
 
llvm::Optional< T > readOptional (Args &&...args)
 
llvm::APSInt readAPSInt ()
 
llvm::APInt readAPInt ()
 
llvm::FixedPointSemantics readFixedPointSemantics ()
 
APValue::LValuePathSerializationHelper readLValuePathSerializationHelper (SmallVectorImpl< APValue::LValuePathEntry > &path)
 
Qualifiers readQualifiers ()
 
FunctionProtoType::ExceptionSpecInfo readExceptionSpecInfo (llvm::SmallVectorImpl< QualType > &buffer)
 
FunctionProtoType::ExtParameterInfo readExtParameterInfo ()
 
NestedNameSpecifierreadNestedNameSpecifier ()
 

Additional Inherited Members

- Protected Member Functions inherited from clang::serialization::DataStreamBasicReader< ASTRecordReader >
 DataStreamBasicReader (ASTContext &ctx)
 

Detailed Description

An object for streaming information from a record.

Definition at line 30 of file ASTRecordReader.h.

Constructor & Destructor Documentation

◆ ASTRecordReader()

clang::ASTRecordReader::ASTRecordReader ( ASTReader Reader,
ModuleFile F 
)
inline

Construct an ASTRecordReader that uses the default encoding scheme.

Definition at line 44 of file ASTRecordReader.h.

Member Function Documentation

◆ back()

uint64_t clang::ASTRecordReader::back ( )
inline

Returns the last value in this record.

Definition at line 68 of file ASTRecordReader.h.

◆ getContext()

ASTContext& clang::ASTRecordReader::getContext ( )
inline

◆ getGlobalBitOffset()

uint64_t clang::ASTRecordReader::getGlobalBitOffset ( uint64_t  LocalOffset)
inline

Read information about an exception specification (inherited).

Get the global offset corresponding to a local offset.

Definition at line 123 of file ASTRecordReader.h.

◆ getGlobalSubmoduleID()

serialization::SubmoduleID clang::ASTRecordReader::getGlobalSubmoduleID ( unsigned  LocalID)
inline

Retrieve the global submodule ID its local ID number.

Definition at line 88 of file ASTRecordReader.h.

References clang::ASTReader::getGlobalSubmoduleID().

◆ getGlobalTypeID()

serialization::TypeID clang::ASTRecordReader::getGlobalTypeID ( unsigned  LocalID) const
inline

Map a local type ID within a given AST file to a global type ID.

Definition at line 167 of file ASTRecordReader.h.

References clang::ASTReader::getGlobalTypeID().

◆ getIdx()

unsigned clang::ASTRecordReader::getIdx ( ) const
inline

The current position in this record.

Definition at line 59 of file ASTRecordReader.h.

◆ GetLocalDeclAs()

template<typename T >
T* clang::ASTRecordReader::GetLocalDeclAs ( uint32_t  LocalID)
inline

Reads a declaration with the given local ID in the given module.

Returns
The requested declaration, casted to the given return type.

Definition at line 144 of file ASTRecordReader.h.

References clang::ASTReader::GetLocalDecl().

◆ getSubmodule()

Module* clang::ASTRecordReader::getSubmodule ( serialization::SubmoduleID  GlobalID)
inline

Retrieve the submodule that corresponds to a global submodule ID.

Definition at line 93 of file ASTRecordReader.h.

References clang::ASTReader::getSubmodule().

◆ getSwitchCaseWithID()

SwitchCase* clang::ASTRecordReader::getSwitchCaseWithID ( unsigned  ID)
inline

Retrieve the switch-case statement with the given ID.

Definition at line 339 of file ASTRecordReader.h.

References clang::ASTReader::getSwitchCaseWithID().

◆ isModule()

bool clang::ASTRecordReader::isModule ( ) const
inline

Is this a module file for a module (rather than a PCH or similar).

Definition at line 53 of file ASTRecordReader.h.

References clang::serialization::ModuleFile::isModule().

◆ operator[]()

const uint64_t& clang::ASTRecordReader::operator[] ( size_t  N)
inline

An arbitrary index in this record.

Definition at line 65 of file ASTRecordReader.h.

◆ peekInt()

uint64_t clang::ASTRecordReader::peekInt ( )
inline

Returns the current value in this record, without advancing.

Definition at line 81 of file ASTRecordReader.h.

◆ readAPFloat()

llvm::APFloat ASTRecordReader::readAPFloat ( const llvm::fltSemantics &  Sem)

Read an arbitrary constant value, advancing Idx.

Read a floating-point value.

Read an integral value, advancing Idx. Read a signed integral value, advancing Idx. Read a floating-point value, advancing Idx.

Definition at line 8961 of file ASTReader.cpp.

References clang::serialization::DataStreamBasicReader< ASTRecordReader >::readAPInt().

◆ readASTTemplateArgumentListInfo()

const ASTTemplateArgumentListInfo * ASTRecordReader::readASTTemplateArgumentListInfo ( )

◆ readAttr()

Attr * ASTRecordReader::readAttr ( )

Reads one attribute from the current stream position, advancing Idx.

Definition at line 2823 of file ASTReaderDecl.cpp.

References V.

◆ readAttributes()

void ASTRecordReader::readAttributes ( AttrVec Attrs)

Reads attributes from the current stream position, advancing Idx.

Reads attributes from the current stream position.

Definition at line 2854 of file ASTReaderDecl.cpp.

◆ readBool()

bool clang::ASTRecordReader::readBool ( )
inline

Read a boolean value, advancing Idx.

Definition at line 296 of file ASTRecordReader.h.

References readInt().

Referenced by readCXXBaseSpecifier(), readCXXCtorInitializers(), readOMPTraitInfo(), and readTemplateParameterList().

◆ readCXXBaseSpecifier()

CXXBaseSpecifier ASTRecordReader::readCXXBaseSpecifier ( )

Read a C++ base specifier, advancing Idx.

Definition at line 8811 of file ASTReader.cpp.

References readBool(), readInt(), readSourceLocation(), readSourceRange(), and readTypeSourceInfo().

Referenced by clang::ASTReader::GetExternalCXXBaseSpecifiers().

◆ readCXXCtorInitializers()

CXXCtorInitializer ** ASTRecordReader::readCXXCtorInitializers ( )

◆ readCXXTemporary()

CXXTemporary* clang::ASTRecordReader::readCXXTemporary ( )
inline

Definition at line 260 of file ASTRecordReader.h.

References clang::ASTReader::ReadCXXTemporary().

◆ readDecl()

Decl* clang::ASTRecordReader::readDecl ( )
inline

Reads a declaration from the given position in a record in the given module, advancing Idx.

Definition at line 192 of file ASTRecordReader.h.

References clang::ASTReader::ReadDecl().

Referenced by readDeclRef().

◆ readDeclarationNameInfo()

DeclarationNameInfo ASTRecordReader::readDeclarationNameInfo ( )

◆ readDeclarationNameLoc()

DeclarationNameLoc ASTRecordReader::readDeclarationNameLoc ( DeclarationName  Name)

Read a declaration name, advancing Idx.

Definition at line 8725 of file ASTReader.cpp.

Referenced by readDeclarationNameInfo().

◆ readDeclAs()

template<typename T >
T* clang::ASTRecordReader::readDeclAs ( )
inline

Reads a declaration from the given position in the record, advancing Idx.

Returns
The declaration read from this location, casted to the given result type.

Definition at line 205 of file ASTRecordReader.h.

References clang::ASTReader::ReadDeclAs().

◆ readDeclID()

serialization::DeclID clang::ASTRecordReader::readDeclID ( )
inline

Reads a declaration ID from the given position in this record.

Returns
The declaration ID read from the record, adjusted to a global ID.

Definition at line 186 of file ASTRecordReader.h.

References clang::ASTReader::ReadDeclID().

Referenced by readUnresolvedSet().

◆ readDeclRef()

Decl* clang::ASTRecordReader::readDeclRef ( )
inline

Definition at line 195 of file ASTRecordReader.h.

References readDecl().

◆ readExplicitSpec()

ExplicitSpecifier clang::ASTRecordReader::readExplicitSpec ( )
inline

Definition at line 110 of file ASTRecordReader.h.

References readExpr(), and readInt().

◆ readExpr()

Expr* clang::ASTRecordReader::readExpr ( )
inline

◆ readIdentifier()

IdentifierInfo* clang::ASTRecordReader::readIdentifier ( )
inline

Definition at line 209 of file ASTRecordReader.h.

References clang::ASTReader::readIdentifier().

◆ readInt()

uint64_t clang::ASTRecordReader::readInt ( )
inline

◆ readIntArray()

ArrayRef<uint64_t> clang::ASTRecordReader::readIntArray ( unsigned  Len)
inline

Definition at line 74 of file ASTRecordReader.h.

◆ readLexicalDeclContextStorage()

bool clang::ASTRecordReader::readLexicalDeclContextStorage ( uint64_t  Offset,
DeclContext DC 
)
inline

Read the record that describes the lexical contents of a DC.

Definition at line 98 of file ASTRecordReader.h.

References clang::serialization::ModuleFile::DeclsCursor, and Offset.

◆ readNestedNameSpecifierLoc()

NestedNameSpecifierLoc ASTRecordReader::readNestedNameSpecifierLoc ( )

Return a nested name specifier, advancing Idx.

Definition at line 8891 of file ASTReader.cpp.

References getContext(), and readInt().

Referenced by readQualifierInfo().

◆ readOMPChildren()

void ASTRecordReader::readOMPChildren ( OMPChildren Data)

◆ readOMPClause()

OMPClause * ASTRecordReader::readOMPClause ( )

Read an OpenMP clause, advancing Idx.

Definition at line 11690 of file ASTReader.cpp.

References clang::OMPClauseReader::readClause().

Referenced by readOMPChildren().

◆ readOMPTraitInfo()

OMPTraitInfo * ASTRecordReader::readOMPTraitInfo ( )

◆ readPath()

std::string clang::ASTRecordReader::readPath ( )
inline

Read a path, advancing Idx.

Definition at line 314 of file ASTRecordReader.h.

References clang::ASTReader::ReadPath().

◆ readQualifierInfo()

void ASTRecordReader::readQualifierInfo ( QualifierInfo Info)

◆ readQualifiers()

Qualifiers clang::ASTRecordReader::readQualifiers ( )
inline

Definition at line 171 of file ASTRecordReader.h.

References clang::Qualifiers::fromOpaqueValue(), and readInt().

◆ readQualType()

QualType clang::ASTRecordReader::readQualType ( )
inline

Definition at line 179 of file ASTRecordReader.h.

References readType().

◆ readRecord()

Expected< unsigned > ASTRecordReader::readRecord ( llvm::BitstreamCursor &  Cursor,
unsigned  AbbrevID 
)

Reads a record with id AbbrevID from Cursor, resetting the internal state.

Definition at line 11659 of file ASTReader.cpp.

Referenced by clang::ASTReader::GetExternalCXXBaseSpecifiers(), and clang::ASTReader::GetExternalCXXCtorInitializers().

◆ readSelector()

Selector clang::ASTRecordReader::readSelector ( )
inline

Read a selector from the Record, advancing Idx.

Definition at line 214 of file ASTRecordReader.h.

References clang::ASTReader::ReadSelector().

◆ readSourceLocation()

SourceLocation clang::ASTRecordReader::readSourceLocation ( )
inline

◆ readSourceRange()

SourceRange clang::ASTRecordReader::readSourceRange ( )
inline

Read a source range, advancing Idx.

Definition at line 279 of file ASTRecordReader.h.

References clang::ASTReader::ReadSourceRange().

Referenced by readCXXBaseSpecifier().

◆ readStmt()

Stmt* clang::ASTRecordReader::readStmt ( )
inline

Reads a statement.

Definition at line 128 of file ASTRecordReader.h.

References clang::ASTReader::ReadStmt().

Referenced by readOMPChildren(), and readStmtRef().

◆ readStmtRef()

Stmt* clang::ASTRecordReader::readStmtRef ( )
inline

Definition at line 129 of file ASTRecordReader.h.

References readStmt().

◆ readString()

std::string clang::ASTRecordReader::readString ( )
inline

Read a string, advancing Idx.

Definition at line 309 of file ASTRecordReader.h.

References clang::ASTReader::ReadString().

Referenced by readConstraintSatisfaction(), and readSubstitutionDiagnostic().

◆ readSubExpr()

Expr* clang::ASTRecordReader::readSubExpr ( )
inline

Reads a sub-expression operand during statement reading.

Definition at line 138 of file ASTRecordReader.h.

References clang::ASTReader::ReadSubExpr().

◆ readSubStmt()

Stmt* clang::ASTRecordReader::readSubStmt ( )
inline

Reads a sub-statement operand during statement reading.

Definition at line 135 of file ASTRecordReader.h.

References clang::ASTReader::ReadSubStmt().

◆ readTemplateArgument()

TemplateArgument clang::ASTRecordReader::readTemplateArgument ( bool  Canonicalize)
inline

◆ readTemplateArgumentList()

void ASTRecordReader::readTemplateArgumentList ( SmallVectorImpl< TemplateArgument > &  TemplArgs,
bool  Canonicalize = false 
)

Read a template argument array, advancing Idx.

Definition at line 8790 of file ASTReader.cpp.

References readInt(), and readTemplateArgument().

◆ readTemplateArgumentLoc()

TemplateArgumentLoc ASTRecordReader::readTemplateArgumentLoc ( )

◆ readTemplateArgumentLocInfo()

TemplateArgumentLocInfo ASTRecordReader::readTemplateArgumentLocInfo ( TemplateArgument::ArgKind  Kind)

◆ readTemplateParameterList()

TemplateParameterList * ASTRecordReader::readTemplateParameterList ( )

Read a template parameter list, advancing Idx.

Definition at line 8771 of file ASTReader.cpp.

References clang::TemplateParameterList::Create(), getContext(), readBool(), readExpr(), readInt(), and readSourceLocation().

Referenced by readQualifierInfo().

◆ readToken()

Token clang::ASTRecordReader::readToken ( )
inline

Reads a token out of a record, advancing Idx.

Definition at line 330 of file ASTRecordReader.h.

References clang::ASTReader::ReadToken().

◆ readType()

QualType clang::ASTRecordReader::readType ( )
inline

Read a type from the current position in the record.

Definition at line 176 of file ASTRecordReader.h.

References clang::ASTReader::readType().

Referenced by readQualType().

◆ readTypeLoc()

void ASTRecordReader::readTypeLoc ( TypeLoc  TL)

Reads the location information for a type.

Definition at line 6784 of file ASTReader.cpp.

References clang::TypeLoc::getNextTypeLoc(), clang::TypeLoc::isNull(), and clang::TypeLocVisitor< ImplClass, RetTy >::Visit().

◆ readTypeSourceInfo()

TypeSourceInfo * ASTRecordReader::readTypeSourceInfo ( )

Reads a declarator info from the given record, advancing Idx.

Definition at line 6790 of file ASTReader.cpp.

References clang::TypeSourceInfo::getTypeLoc(), and clang::QualType::isNull().

Referenced by readCXXBaseSpecifier(), and readCXXCtorInitializers().

◆ readUInt32()

uint32_t clang::ASTRecordReader::readUInt32 ( )
inline

Read a 32-bit unsigned value; required to satisfy BasicReader.

Definition at line 299 of file ASTRecordReader.h.

References readInt().

Referenced by readOMPTraitInfo().

◆ readUInt64()

uint64_t clang::ASTRecordReader::readUInt64 ( )
inline

Read a 64-bit unsigned value; required to satisfy BasicReader.

Definition at line 304 of file ASTRecordReader.h.

References readInt().

◆ readUnresolvedSet()

void ASTRecordReader::readUnresolvedSet ( LazyASTUnresolvedSet Set)

Read a UnresolvedSet structure, advancing Idx.

Read a UnresolvedSet structure.

Definition at line 8800 of file ASTReader.cpp.

References clang::LazyASTUnresolvedSet::addLazyDecl(), getContext(), readDeclID(), readInt(), and clang::LazyASTUnresolvedSet::reserve().

◆ readVersionTuple()

VersionTuple clang::ASTRecordReader::readVersionTuple ( )
inline

Read a version tuple, advancing Idx.

Definition at line 319 of file ASTRecordReader.h.

References clang::ASTReader::ReadVersionTuple().

◆ readVisibleDeclContextStorage()

bool clang::ASTRecordReader::readVisibleDeclContextStorage ( uint64_t  Offset,
serialization::DeclID  ID 
)
inline

Read the record that describes the visible contents of a DC.

Definition at line 104 of file ASTRecordReader.h.

References clang::serialization::ModuleFile::DeclsCursor, and Offset.

◆ recordSwitchCaseID()

void clang::ASTRecordReader::recordSwitchCaseID ( SwitchCase SC,
unsigned  ID 
)
inline

Definition at line 334 of file ASTRecordReader.h.

References clang::ASTReader::RecordSwitchCaseID().

◆ size()

size_t clang::ASTRecordReader::size ( ) const
inline

The length of this record.

Definition at line 62 of file ASTRecordReader.h.

◆ skipInts()

void clang::ASTRecordReader::skipInts ( unsigned  N)
inline

Skips the specified number of values.

Definition at line 84 of file ASTRecordReader.h.

Referenced by readOMPChildren().


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