clang 22.0.0git
|
A lazy value (of type T) that is within an AST node of type Owner, where the value might change in later generations of the external AST source. More...
#include "clang/AST/ExternalASTSource.h"
Classes | |
struct | LazyData |
A cache of the value of this pointer, in the most recent generation in which we queried it. More... |
Public Types | |
enum | NotUpdatedTag { NotUpdated } |
Create a pointer that is not potentially updated by later generations of the external AST source. More... | |
using | ValueType = llvm::PointerUnion<T, LazyData*> |
Public Member Functions | |
LazyGenerationalUpdatePtr (ValueType V) | |
LazyGenerationalUpdatePtr (const ASTContext &Ctx, T Value=T()) | |
LazyGenerationalUpdatePtr (NotUpdatedTag, T Value=T()) | |
void | markIncomplete () |
Forcibly set this pointer (which must be lazy) as needing updates. | |
void | set (T NewValue) |
Set the value of this pointer, in the current generation. | |
void | setNotUpdated (T NewValue) |
Set the value of this pointer, for this and all future generations. | |
T | get (Owner O) |
Get the value of this pointer, updating its owner if necessary. | |
T | getNotUpdated () const |
Get the most recently computed value of this pointer without updating it. | |
void * | getOpaqueValue () |
Static Public Member Functions | |
static ValueType | makeValue (const ASTContext &Ctx, T Value) |
Create the representation of a LazyGenerationalUpdatePtr. | |
static LazyGenerationalUpdatePtr | getFromOpaqueValue (void *Ptr) |
Public Attributes | |
ValueType | Value |
A lazy value (of type T) that is within an AST node of type Owner, where the value might change in later generations of the external AST source.
Definition at line 446 of file ExternalASTSource.h.
using clang::LazyGenerationalUpdatePtr< Owner, T, Update >::ValueType = llvm::PointerUnion<T, LazyData*> |
Definition at line 459 of file ExternalASTSource.h.
enum clang::LazyGenerationalUpdatePtr::NotUpdatedTag |
Create a pointer that is not potentially updated by later generations of the external AST source.
Enumerator | |
---|---|
NotUpdated |
Definition at line 473 of file ExternalASTSource.h.
|
inline |
Definition at line 462 of file ExternalASTSource.h.
Referenced by clang::LazyGenerationalUpdatePtr< const Decl *, Decl *, &ExternalASTSource::CompleteRedeclChain >::getFromOpaqueValue().
|
inlineexplicit |
Definition at line 468 of file ExternalASTSource.h.
|
inline |
Definition at line 474 of file ExternalASTSource.h.
|
inline |
Get the value of this pointer, updating its owner if necessary.
Definition at line 493 of file ExternalASTSource.h.
|
inlinestatic |
Definition at line 512 of file ExternalASTSource.h.
Referenced by llvm::PointerLikeTypeTraits< clang::LazyGenerationalUpdatePtr< Owner, T, Update > >::getFromVoidPointer().
|
inline |
Get the most recently computed value of this pointer without updating it.
Definition at line 505 of file ExternalASTSource.h.
|
inline |
Definition at line 511 of file ExternalASTSource.h.
Referenced by llvm::PointerLikeTypeTraits< clang::LazyGenerationalUpdatePtr< Owner, T, Update > >::getAsVoidPointer().
|
static |
Create the representation of a LazyGenerationalUpdatePtr.
Definition at line 3836 of file ASTContext.h.
References clang::ASTContext::getExternalSource(), makeValue(), clang::T, and Value.
Referenced by makeValue().
|
inline |
Forcibly set this pointer (which must be lazy) as needing updates.
Definition at line 478 of file ExternalASTSource.h.
|
inline |
Set the value of this pointer, in the current generation.
Definition at line 481 of file ExternalASTSource.h.
|
inline |
Set the value of this pointer, for this and all future generations.
Definition at line 490 of file ExternalASTSource.h.
ValueType clang::LazyGenerationalUpdatePtr< Owner, T, Update >::Value |
Definition at line 460 of file ExternalASTSource.h.
Referenced by clang::LazyGenerationalUpdatePtr< Owner, T, Update >::LazyData::LazyData(), and makeValue().