clang API Documentation
#include <Ownership.h>

Public Types | |
| typedef ActionBase::ActionResult < PtrTy > | DumbResult |
Public Member Functions | |
| ASTOwningResult (bool invalid=false) | |
| ASTOwningResult (PtrTy node) | |
| ASTOwningResult (const DumbResult &res) | |
| ASTOwningResult (const ASTOwningPtr< PtrTy > &o) | |
| ASTOwningResult (const void *) | |
| ASTOwningResult (volatile void *) | |
| ASTOwningResult & | operator= (PtrTy raw) |
| Assignment from a raw pointer. Takes ownership - beware! | |
| ASTOwningResult & | operator= (const DumbResult &res) |
| Assignment from an ActionResult. Takes ownership - beware! | |
| PtrTy | get () const |
| Access to the raw pointer. | |
| bool | isInvalid () const |
| bool | isUsable () const |
| PtrTy | take () |
| Take outside ownership of the raw pointer. | |
| template<typename T > | |
| T * | takeAs () |
| Take outside ownership of the raw pointer and cast it down. | |
| PtrTy | release () |
| Alias for interface familiarity with unique_ptr. | |
| DumbResult | result () |
| Pass ownership to a classical ActionResult. | |
Definition at line 352 of file Ownership.h.
| typedef ActionBase::ActionResult<PtrTy> clang::ASTOwningResult< PtrTy >::DumbResult |
Definition at line 354 of file Ownership.h.
| clang::ASTOwningResult< PtrTy >::ASTOwningResult | ( | bool | invalid = false |
) | [inline, explicit] |
Definition at line 360 of file Ownership.h.
| clang::ASTOwningResult< PtrTy >::ASTOwningResult | ( | PtrTy | node | ) | [inline, explicit] |
Definition at line 362 of file Ownership.h.
| clang::ASTOwningResult< PtrTy >::ASTOwningResult | ( | const DumbResult & | res | ) | [inline, explicit] |
Definition at line 363 of file Ownership.h.
| clang::ASTOwningResult< PtrTy >::ASTOwningResult | ( | const ASTOwningPtr< PtrTy > & | o | ) | [inline] |
Definition at line 365 of file Ownership.h.
| clang::ASTOwningResult< PtrTy >::ASTOwningResult | ( | const void * | ) | [explicit] |
| clang::ASTOwningResult< PtrTy >::ASTOwningResult | ( | volatile void * | ) | [explicit] |
| PtrTy clang::ASTOwningResult< PtrTy >::get | ( | ) | const [inline] |
Access to the raw pointer.
Definition at line 384 of file Ownership.h.
References clang::ActionBase::ActionResult< PtrTy, CompressInvalid >::get().
Referenced by clang::Sema::ActOnIdExpression(), clang::Sema::ActOnUninitializedDecl(), clang::Sema::BuildCompoundLiteralExpr(), clang::Sema::BuildCXXNew(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), clang::Sema::BuildMemberReferenceExpr(), clang::Sema::CodeCompleteObjCSuperMessage(), CopyObject(), clang::Sema::FixOverloadedFunctionReference(), clang::InitializationSequence::Perform(), clang::Sema::PerformCopyInitialization(), clang::TreeTransform< Derived >::RebuildInitList(), clang::TreeTransform< Derived >::RebuildObjCPropertyRefExpr(), clang::Sema::SetIvarInitializers(), clang::TreeTransform< Derived >::TransformCompoundStmt(), and clang::TreeTransform< Derived >::TransformCXXNamedCastExpr().
| bool clang::ASTOwningResult< PtrTy >::isInvalid | ( | ) | const [inline] |
Definition at line 386 of file Ownership.h.
References clang::ActionBase::ActionResult< PtrTy, CompressInvalid >::isInvalid().
Referenced by clang::Sema::ActOnBlockReturnStmt(), clang::Sema::ActOnDesignatedInitializer(), clang::Sema::ActOnIdExpression(), clang::Sema::ActOnPropertyImplDecl(), clang::Sema::ActOnReturnStmt(), clang::Sema::ActOnSizeOfAlignOfExpr(), clang::Sema::ActOnStartOfSwitchStmt(), clang::Sema::ActOnUninitializedDecl(), clang::Sema::AddInitializerToDecl(), clang::Sema::BuildBaseInitializer(), clang::Sema::BuildCallToObjectOfClassType(), clang::Sema::BuildCompoundLiteralExpr(), clang::Sema::BuildCXXDefaultArgExpr(), clang::Sema::BuildCXXNew(), clang::Sema::BuildDeclarationNameExpr(), clang::Sema::BuildExceptionDeclaration(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), clang::Sema::BuildMemberInitializer(), clang::Sema::BuildMemberReferenceExpr(), clang::Sema::CheckMessageArgumentTypes(), clang::Sema::CheckTemplateArgumentList(), clang::Sema::CreateOverloadedArraySubscriptExpr(), clang::Sema::CreateOverloadedBinOp(), clang::Sema::CreateOverloadedUnaryOp(), clang::Sema::CXXCheckConditionalOperands(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::FindAllocationOverload(), clang::Sema::FindCompositePointerType(), clang::Sema::GatherArgumentsForCall(), clang::PragmaPackHandler::HandlePragma(), clang::Sema::InitializeVarWithConstructor(), clang::Sema::InstantiateAttrs(), clang::Sema::InstantiateFunctionDefinition(), clang::Sema::LookupMemberExpr(), clang::Sema::MaybeCreateCXXExprWithTemporaries(), clang::InitializationSequence::Perform(), clang::Sema::PerformCopyInitialization(), clang::Sema::PerformImplicitConversion(), clang::TreeTransform< Derived >::RebuildCXXOperatorCallExpr(), clang::TreeTransform< Derived >::RebuildDesignatedInitExpr(), clang::TreeTransform< Derived >::RebuildInitList(), clang::TreeTransform< Derived >::RebuildObjCPropertyRefExpr(), clang::TreeTransform< Derived >::RebuildSizeOfAlignOf(), clang::Sema::SetIvarInitializers(), clang::Sema::SetParamDefaultArgument(), clang::Sema::SubstDefaultTemplateArgumentIfAvailable(), clang::TreeTransform< Derived >::TransformCompoundStmt(), clang::TreeTransform< Derived >::TransformCXXNamedCastExpr(), clang::TreeTransform< Derived >::TransformStmt(), and clang::TreeTransform< Derived >::TransformTemplateArgument().
| bool clang::ASTOwningResult< PtrTy >::isUsable | ( | ) | const [inline] |
Does this point to a usable AST node? To be usable, the node must be valid and non-null.
Definition at line 390 of file Ownership.h.
References clang::ActionBase::ActionResult< PtrTy, CompressInvalid >::isInvalid().
| ASTOwningResult& clang::ASTOwningResult< PtrTy >::operator= | ( | const DumbResult & | res | ) | [inline] |
Assignment from an ActionResult. Takes ownership - beware!
Definition at line 378 of file Ownership.h.
| ASTOwningResult& clang::ASTOwningResult< PtrTy >::operator= | ( | PtrTy | raw | ) | [inline] |
Assignment from a raw pointer. Takes ownership - beware!
Definition at line 372 of file Ownership.h.
| PtrTy clang::ASTOwningResult< PtrTy >::release | ( | ) | [inline] |
Alias for interface familiarity with unique_ptr.
Definition at line 404 of file Ownership.h.
References clang::ASTOwningResult< PtrTy >::take().
Referenced by clang::Sema::BuildCompoundLiteralExpr(), clang::Sema::BuildCXXNew(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), clang::PragmaPackHandler::HandlePragma(), clang::InitializationSequence::Perform(), clang::Sema::PerformCopyInitialization(), and clang::TreeTransform< Derived >::RebuildShuffleVectorExpr().
| DumbResult clang::ASTOwningResult< PtrTy >::result | ( | ) | [inline] |
Pass ownership to a classical ActionResult.
Definition at line 407 of file Ownership.h.
Referenced by clang::Sema::BuildCallToObjectOfClassType().
| PtrTy clang::ASTOwningResult< PtrTy >::take | ( | ) | [inline] |
Take outside ownership of the raw pointer.
Definition at line 393 of file Ownership.h.
References clang::ActionBase::ActionResult< PtrTy, CompressInvalid >::get().
Referenced by clang::ASTOwningResult< PtrTy >::release(), and clang::ASTOwningResult< PtrTy >::takeAs().
Take outside ownership of the raw pointer and cast it down.
Definition at line 399 of file Ownership.h.
References clang::ASTOwningResult< PtrTy >::take().
Referenced by clang::Sema::ActOnBlockReturnStmt(), clang::Sema::ActOnDesignatedInitializer(), clang::Sema::ActOnForStmt(), clang::Sema::ActOnIdExpression(), clang::Sema::ActOnIfStmt(), clang::Sema::ActOnPropertyImplDecl(), clang::Sema::ActOnReturnStmt(), clang::Sema::ActOnStartOfSwitchStmt(), clang::Sema::ActOnUninitializedDecl(), clang::Sema::ActOnWhileStmt(), clang::Sema::AddInitializerToDecl(), clang::Sema::BuildBaseInitializer(), clang::Sema::BuildCallToObjectOfClassType(), BuildCXXCastArgument(), clang::Sema::BuildCXXDefaultArgExpr(), clang::Sema::BuildCXXNew(), clang::Sema::BuildDeclarationNameExpr(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), clang::Sema::BuildMemberInitializer(), clang::Sema::CheckMessageArgumentTypes(), clang::Sema::CheckTemplateArgumentList(), clang::Sema::CreateOverloadedArraySubscriptExpr(), clang::Sema::CreateOverloadedBinOp(), clang::Sema::CXXCheckConditionalOperands(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::FindAllocationOverload(), clang::Sema::FindCompositePointerType(), clang::Sema::GatherArgumentsForCall(), clang::Sema::InitializeVarWithConstructor(), clang::Sema::InstantiateAttrs(), clang::Sema::LookupInObjCMethod(), clang::Sema::LookupMemberExpr(), clang::Sema::MaybeCreateCXXExprWithTemporaries(), clang::InitializationSequence::Perform(), clang::Sema::PerformImplicitConversion(), clang::Sema::SetIvarInitializers(), clang::Sema::SetParamDefaultArgument(), clang::Sema::SubstDefaultTemplateArgumentIfAvailable(), clang::TreeTransform< Derived >::TransformCompoundStmt(), and clang::TreeTransform< Derived >::TransformTemplateArgument().