clang API Documentation
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 <ExternalASTSource.h>
Classes | |
struct | LazyData |
Public Types | |
enum | NotUpdatedTag { NotUpdated } |
typedef llvm::PointerUnion< T, LazyData * > | ValueType |
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 376 of file ExternalASTSource.h.
typedef llvm::PointerUnion<T, LazyData*> clang::LazyGenerationalUpdatePtr< Owner, T, Update >::ValueType |
Definition at line 388 of file ExternalASTSource.h.
enum clang::LazyGenerationalUpdatePtr::NotUpdatedTag |
Create a pointer that is not potentially updated by later generations of the external AST source.
Definition at line 402 of file ExternalASTSource.h.
clang::LazyGenerationalUpdatePtr< Owner, T, Update >::LazyGenerationalUpdatePtr | ( | ValueType | V | ) | [inline] |
Definition at line 391 of file ExternalASTSource.h.
Referenced by clang::LazyGenerationalUpdatePtr< Owner, T, Update >::getFromOpaqueValue().
clang::LazyGenerationalUpdatePtr< Owner, T, Update >::LazyGenerationalUpdatePtr | ( | const ASTContext & | Ctx, |
T | Value = T() |
||
) | [inline, explicit] |
Definition at line 397 of file ExternalASTSource.h.
clang::LazyGenerationalUpdatePtr< Owner, T, Update >::LazyGenerationalUpdatePtr | ( | NotUpdatedTag | , |
T | Value = T() |
||
) | [inline] |
Definition at line 403 of file ExternalASTSource.h.
T clang::LazyGenerationalUpdatePtr< Owner, T, Update >::get | ( | Owner | O | ) | [inline] |
Get the value of this pointer, updating its owner if necessary.
Definition at line 424 of file ExternalASTSource.h.
static LazyGenerationalUpdatePtr clang::LazyGenerationalUpdatePtr< Owner, T, Update >::getFromOpaqueValue | ( | void * | Ptr | ) | [inline, static] |
Definition at line 443 of file ExternalASTSource.h.
References clang::LazyGenerationalUpdatePtr< Owner, T, Update >::LazyGenerationalUpdatePtr().
T clang::LazyGenerationalUpdatePtr< Owner, T, Update >::getNotUpdated | ( | ) | const [inline] |
Get the most recently computed value of this pointer without updating it.
Definition at line 436 of file ExternalASTSource.h.
void* clang::LazyGenerationalUpdatePtr< Owner, T, Update >::getOpaqueValue | ( | ) | [inline] |
Definition at line 442 of file ExternalASTSource.h.
Referenced by llvm::PointerLikeTypeTraits< clang::LazyGenerationalUpdatePtr< Owner, T, Update > >::getAsVoidPointer().
template clang::LazyGenerationalUpdatePtr< const Decl *, Decl *,&ExternalASTSource::CompleteRedeclChain >::ValueType clang::LazyGenerationalUpdatePtr< Owner, T, Update >::makeValue | ( | const ASTContext & | Ctx, |
T | Value | ||
) | [static] |
Create the representation of a LazyGenerationalUpdatePtr.
Definition at line 2464 of file ASTContext.h.
References clang::ASTContext::getExternalSource().
void clang::LazyGenerationalUpdatePtr< Owner, T, Update >::markIncomplete | ( | ) | [inline] |
Forcibly set this pointer (which must be lazy) as needing updates.
Definition at line 407 of file ExternalASTSource.h.
void clang::LazyGenerationalUpdatePtr< Owner, T, Update >::set | ( | T | NewValue | ) | [inline] |
Set the value of this pointer, in the current generation.
Definition at line 412 of file ExternalASTSource.h.
Referenced by clang::Redeclarable< decl_type >::DeclLink::setLatest().
void clang::LazyGenerationalUpdatePtr< Owner, T, Update >::setNotUpdated | ( | T | NewValue | ) | [inline] |
Set the value of this pointer, for this and all future generations.
Definition at line 421 of file ExternalASTSource.h.
ValueType clang::LazyGenerationalUpdatePtr< Owner, T, Update >::Value |
Definition at line 389 of file ExternalASTSource.h.