LLVM 24.0.0git
llvm::TrackUnresolvedResolver Class Referencefinal

(Optionally) delegate resolving to a sub-resolver, and keep track whether there were unresolved references. More...

#include "llvm/TableGen/Record.h"

Inheritance diagram for llvm::TrackUnresolvedResolver:
[legend]

Public Member Functions

 TrackUnresolvedResolver (Resolver *R=nullptr)
bool foundUnresolved () const
const Init * resolve (const Init *VarName) override
 Return the initializer for the given variable name (should normally be a StringInit), or nullptr if the name could not be resolved.
const Init * getCachedResult (const Init *I, bool &Unresolved) const override
 Return the cached result of resolving I, or nullptr.
void cacheResult (const Init *I, const Init *Result, bool Unresolved) override
 Cache the result of resolving I.
void noteUnresolved () override
 Called when a cached result has unresolved references.
Public Member Functions inherited from llvm::Resolver
 Resolver (const Record *CurRec)
virtual ~Resolver ()=default
const Record * getCurrentRecord () const
virtual bool keepUnsetBits () const
bool isFinal () const
void setFinal (bool Final)

Additional Inherited Members

Protected Member Functions inherited from llvm::Resolver
virtual void clearCachedResults ()

Detailed Description

(Optionally) delegate resolving to a sub-resolver, and keep track whether there were unresolved references.

Definition at line 2430 of file Record.h.

Constructor & Destructor Documentation

◆ TrackUnresolvedResolver()

llvm::TrackUnresolvedResolver::TrackUnresolvedResolver ( Resolver * R = nullptr)
inlineexplicit

Definition at line 2435 of file Record.h.

References llvm::Resolver::getCurrentRecord(), and llvm::Resolver::Resolver().

Referenced by resolve().

Member Function Documentation

◆ cacheResult()

void llvm::TrackUnresolvedResolver::cacheResult ( const Init * I,
const Init * Result,
bool FoundUnresolved )
inlineoverridevirtual

Cache the result of resolving I.

Reimplemented from llvm::Resolver.

Definition at line 2447 of file Record.h.

References I.

◆ foundUnresolved()

bool llvm::TrackUnresolvedResolver::foundUnresolved ( ) const
inline

Definition at line 2438 of file Record.h.

Referenced by llvm::VarDefInit::resolveReferences().

◆ getCachedResult()

const Init * llvm::TrackUnresolvedResolver::getCachedResult ( const Init * I,
bool & FoundUnresolved ) const
inlineoverridevirtual

Return the cached result of resolving I, or nullptr.

FoundUnresolved is set if the result has unresolved references.

Reimplemented from llvm::Resolver.

Definition at line 2443 of file Record.h.

References I.

◆ noteUnresolved()

void llvm::TrackUnresolvedResolver::noteUnresolved ( )
inlineoverridevirtual

Called when a cached result has unresolved references.

Reimplemented from llvm::Resolver.

Definition at line 2453 of file Record.h.

◆ resolve()

const Init * TrackUnresolvedResolver::resolve ( const Init * VarName)
overridevirtual

Return the initializer for the given variable name (should normally be a StringInit), or nullptr if the name could not be resolved.

Implements llvm::Resolver.

Definition at line 3298 of file Record.cpp.

References I, llvm::Sub, and TrackUnresolvedResolver().


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