|
clang
5.0.0
|
A lazy pointer to an AST node (of base type T) that resides within an external AST source. More...
#include "clang/AST/ExternalASTSource.h"
Public Member Functions | |
| LazyOffsetPtr () | |
| LazyOffsetPtr (T *Ptr) | |
| LazyOffsetPtr (uint64_t Offset) | |
| LazyOffsetPtr & | operator= (T *Ptr) |
| LazyOffsetPtr & | operator= (uint64_t Offset) |
| operator bool () const | |
| Whether this pointer is non-NULL. More... | |
| bool | isValid () const |
| Whether this pointer is non-NULL. More... | |
| bool | isOffset () const |
| Whether this pointer is currently stored as an offset. More... | |
| T * | get (ExternalASTSource *Source) const |
| Retrieve the pointer to the AST node that this lazy pointer. More... | |
Public Attributes | |
| uint64_t | Ptr |
| Either a pointer to an AST node or the offset within the external AST source where the AST node can be found. More... | |
A lazy pointer to an AST node (of base type T) that resides within an external AST source.
The AST node is identified within the external AST source by a 63-bit offset, and can be retrieved via an operation on the external AST source itself.
Definition at line 326 of file ExternalASTSource.h.
|
inline |
Definition at line 335 of file ExternalASTSource.h.
|
inlineexplicit |
Definition at line 337 of file ExternalASTSource.h.
|
inlineexplicit |
Definition at line 338 of file ExternalASTSource.h.
|
inline |
Retrieve the pointer to the AST node that this lazy pointer.
| Source | the external AST source. |
Definition at line 377 of file ExternalASTSource.h.
Referenced by clang::ObjCMethodDecl::getBody(), clang::FunctionDecl::getBody(), clang::OMPDeclareReductionDecl::getPrevDeclInScope(), clang::Sema::getStdAlignValT(), clang::Sema::getStdBadAlloc(), clang::Sema::getStdNamespace(), clang::CXXConstructorDecl::init_begin(), clang::ObjCImplementationDecl::init_begin(), and clang::ASTContext::setNonKeyFunction().
|
inline |
Whether this pointer is currently stored as an offset.
Definition at line 370 of file ExternalASTSource.h.
Referenced by clang::LazyOffsetPtr< Stmt, uint64_t,&ExternalASTSource::GetExternalDeclStmt >::get().
|
inline |
Whether this pointer is non-NULL.
This operation does not require the AST node to be deserialized.
Definition at line 367 of file ExternalASTSource.h.
Referenced by clang::FunctionDecl::doesDeclarationForceExternallyVisibleDefinition(), and clang::ObjCMethodDecl::hasBody().
|
inlineexplicit |
Whether this pointer is non-NULL.
This operation does not require the AST node to be deserialized.
Definition at line 362 of file ExternalASTSource.h.
|
inline |
Definition at line 344 of file ExternalASTSource.h.
|
inline |
Definition at line 349 of file ExternalASTSource.h.
|
mutable |
Either a pointer to an AST node or the offset within the external AST source where the AST node can be found.
If the low bit is clear, a pointer to the AST node. If the low bit is set, the upper 63 bits are the offset.
Definition at line 332 of file ExternalASTSource.h.
Referenced by clang::LazyOffsetPtr< Stmt, uint64_t,&ExternalASTSource::GetExternalDeclStmt >::get(), clang::LazyOffsetPtr< Stmt, uint64_t,&ExternalASTSource::GetExternalDeclStmt >::isOffset(), clang::LazyOffsetPtr< Stmt, uint64_t,&ExternalASTSource::GetExternalDeclStmt >::isValid(), clang::LazyOffsetPtr< Stmt, uint64_t,&ExternalASTSource::GetExternalDeclStmt >::LazyOffsetPtr(), clang::LazyOffsetPtr< Stmt, uint64_t,&ExternalASTSource::GetExternalDeclStmt >::operator bool(), and clang::LazyOffsetPtr< Stmt, uint64_t,&ExternalASTSource::GetExternalDeclStmt >::operator=().
1.8.6