class ASTRecordReader

Declaration

class ASTRecordReader : public DataStreamBasicReader { /* full declaration omitted */ };

Description

An object for streaming information from a record.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:31

Inherits from: DataStreamBasicReader

Member Variables

private clang::ASTReader* Reader
private clang::ASTRecordReader::ModuleFile* F
private unsigned int Idx = 0
private ASTReader::RecordData Record

Method Overview

Methods

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

Description

Construct an ASTRecordReader that uses the default encoding scheme.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:46

Parameters

clang::ASTReader& Reader
clang::ASTRecordReader::ModuleFile& F

template <typename T>
T* GetLocalDeclAs(uint32_t LocalID)

Description

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

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:146

Templates

T

Parameters

uint32_t LocalID

Returns

The requested declaration, casted to the given return type.

uint64_t back()

Description

Returns the last value in this record.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:70

clang::ASTContext& getContext()

Description

Retrieve the AST context that this AST reader supplements.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:58

uint64_t getGlobalBitOffset(uint64_t LocalOffset)

Description

Get the global offset corresponding to a local offset.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:125

Parameters

uint64_t LocalOffset

serialization::SubmoduleID getGlobalSubmoduleID(
    unsigned int LocalID)

Description

Retrieve the global submodule ID its local ID number.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:90

Parameters

unsigned int LocalID

serialization::TypeID getGlobalTypeID(
    unsigned int LocalID) const

Description

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

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:168

Parameters

unsigned int LocalID

unsigned int getIdx() const

Description

The current position in this record.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:61

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

Description

Retrieve the submodule that corresponds to a global submodule ID.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:95

Parameters

serialization::SubmoduleID GlobalID

clang::SwitchCase* getSwitchCaseWithID(
    unsigned int ID)

Description

Retrieve the switch-case statement with the given ID.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:345

Parameters

unsigned int ID

bool isModule() const

Description

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

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:55

uint64_t peekInt()

Description

Returns the current value in this record, without advancing.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:83

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

Description

Read a floating-point value, advancing Idx.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:294

Parameters

const llvm::fltSemantics& Sem

const clang::ASTTemplateArgumentListInfo*
readASTTemplateArgumentListInfo()

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:159

clang::Attr* readAttr()

Description

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

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:325

void readAttributes(clang::AttrVec& Attrs)

Description

Reads attributes from the current stream position, advancing Idx.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:328

Parameters

clang::AttrVec& Attrs

clang::BTFTypeTagAttr* readBTFTypeTagAttr()

Description

Read an BTFTypeTagAttr object.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:331

bool readBool()

Description

Read a boolean value, advancing Idx.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:297

clang::CXXBaseSpecifier readCXXBaseSpecifier()

Description

Read a C++ base specifier, advancing Idx.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:256

clang::CXXCtorInitializer**
readCXXCtorInitializers()

Description

Read a CXXCtorInitializer array, advancing Idx.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:259

clang::CXXTemporary* readCXXTemporary()

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:261

clang::Decl* readDecl()

Description

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

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:193

template <typename T>
T* readDeclAs()

Description

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

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:206

Templates

T

Returns

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

serialization::DeclID readDeclID()

Description

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

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:187

Returns

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

clang::Decl* readDeclRef()

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:196

clang::DeclarationNameInfo
readDeclarationNameInfo()

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:222

clang::DeclarationNameLoc readDeclarationNameLoc(
    clang::DeclarationName Name)

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:221

Parameters

clang::DeclarationName Name

clang::ExplicitSpecifier readExplicitSpec()

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:112

clang::Expr* readExpr()

Description

Reads an expression.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:134

clang::IdentifierInfo* readIdentifier()

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:210

uint64_t readInt()

Description

Returns the current value in this record, and advances to the next value.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:74

ArrayRef<uint64_t> readIntArray(unsigned int Len)

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:76

Parameters

unsigned int Len

bool readLexicalDeclContextStorage(
    uint64_t Offset,
    clang::DeclContext* DC)

Description

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

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:100

Parameters

uint64_t Offset
clang::DeclContext* DC

clang::NestedNameSpecifierLoc
readNestedNameSpecifierLoc()

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:229

void readOMPChildren(clang::OMPChildren* Data)

Description

Read an OpenMP children, advancing Idx.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:272

Parameters

clang::OMPChildren* Data

clang::OMPClause* readOMPClause()

Description

Read an OpenMP clause, advancing Idx.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:269

clang::OMPTraitInfo* readOMPTraitInfo()

Description

Read an OMPTraitInfo object, advancing Idx.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:266

std::string readPath()

Description

Read a path, advancing Idx.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:315

clang::QualType readQualType()

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:180

void readQualifierInfo(clang::QualifierInfo& Info)

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:224

Parameters

clang::QualifierInfo& Info

clang::Qualifiers readQualifiers()

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:172

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

Description

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

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:51

Parameters

llvm::BitstreamCursor& Cursor
unsigned int AbbrevID

clang::Selector readSelector()

Description

Read a selector from the Record, advancing Idx.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:215

clang::SourceLocation readSourceLocation(
    clang::ASTRecordReader::LocSeq* Seq = nullptr)

Description

Read a source location, advancing Idx.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:275

Parameters

clang::ASTRecordReader::LocSeq* Seq = nullptr

clang::SourceRange readSourceRange(
    clang::ASTRecordReader::LocSeq* Seq = nullptr)

Description

Read a source range, advancing Idx.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:280

Parameters

clang::ASTRecordReader::LocSeq* Seq = nullptr

clang::Stmt* readStmt()

Description

Reads a statement.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:130

clang::Stmt* readStmtRef()

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:131

std::string readString()

Description

Read a string, advancing Idx.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:310

clang::Expr* readSubExpr()

Description

Reads a sub-expression operand during statement reading.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:140

clang::Stmt* readSubStmt()

Description

Reads a sub-statement operand during statement reading.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:137

clang::TemplateArgument readTemplateArgument(
    bool Canonicalize)

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:237

Parameters

bool Canonicalize

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

Description

Read a template argument array, advancing Idx.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:249

Parameters

SmallVectorImpl<clang::TemplateArgument>& TemplArgs
bool Canonicalize = false

clang::TemplateArgumentLoc
readTemplateArgumentLoc()

Description

Reads a TemplateArgumentLoc, advancing Idx.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:156

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

Description

Reads a TemplateArgumentLocInfo appropriate for the given TemplateArgument kind, advancing Idx.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:153

Parameters

TemplateArgument::ArgKind Kind

clang::TemplateParameterList*
readTemplateParameterList()

Description

Read a template parameter list, advancing Idx.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:246

clang::Token readToken()

Description

Reads a token out of a record, advancing Idx.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:336

clang::QualType readType()

Description

Read a type from the current position in the record.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:177

void readTypeLoc(
    clang::TypeLoc TL,
    clang::ASTRecordReader::LocSeq* Seq = nullptr)

Description

Reads the location information for a type.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:165

Parameters

clang::TypeLoc TL
clang::ASTRecordReader::LocSeq* Seq = nullptr

clang::TypeSourceInfo* readTypeSourceInfo()

Description

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

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:162

uint32_t readUInt32()

Description

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

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:300

uint64_t readUInt64()

Description

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

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:305

void readUnresolvedSet(
    clang::LazyASTUnresolvedSet& Set)

Description

Read a UnresolvedSet structure, advancing Idx.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:253

Parameters

clang::LazyASTUnresolvedSet& Set

llvm::VersionTuple readVersionTuple()

Description

Read a version tuple, advancing Idx.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:320

bool readVisibleDeclContextStorage(
    uint64_t Offset,
    serialization::DeclID ID)

Description

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

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:106

Parameters

uint64_t Offset
serialization::DeclID ID

void recordSwitchCaseID(clang::SwitchCase* SC,
                        unsigned int ID)

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:340

Parameters

clang::SwitchCase* SC
unsigned int ID

size_t size() const

Description

The length of this record.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:64

void skipInts(unsigned int N)

Description

Skips the specified number of values.

Declared at: clang/include/clang/Serialization/ASTRecordReader.h:86

Parameters

unsigned int N