class UnresolvedLookupExpr
Declaration
class UnresolvedLookupExpr : public OverloadExpr,
private TrailingObjects { /* full declaration omitted */ };
Description
A reference to a name which we were able to look up during parsing but could not resolve to a specific declaration. This arises in several ways: * we might be waiting for argument-dependent lookup; * the name might resolve to an overloaded function; and eventually: * the lookup might have included a function template. These never include UnresolvedUsingValueDecls, which are always class members and therefore appear only in UnresolvedMemberLookupExprs.
Declared at: clang/include/clang/AST/ExprCXX.h:3090
Inherits from: OverloadExpr, TrailingObjects
Member Variables
- private clang::CXXRecordDecl* NamingClass
- The naming class (C++ [class.access.base]p5) of the lookup, if any. This can generally be recalculated from the context chain, but that can be fairly expensive for unqualified lookups.
Inherited from Stmt:
Method Overview
- public static clang::UnresolvedLookupExpr * Create(const clang::ASTContext & Context, clang::CXXRecordDecl * NamingClass, clang::NestedNameSpecifierLoc QualifierLoc, const clang::DeclarationNameInfo & NameInfo, bool RequiresADL, bool Overloaded, clang::UnresolvedSetIterator Begin, clang::UnresolvedSetIterator End)
- public static clang::UnresolvedLookupExpr * Create(const clang::ASTContext & Context, clang::CXXRecordDecl * NamingClass, clang::NestedNameSpecifierLoc QualifierLoc, clang::SourceLocation TemplateKWLoc, const clang::DeclarationNameInfo & NameInfo, bool RequiresADL, const clang::TemplateArgumentListInfo * Args, clang::UnresolvedSetIterator Begin, clang::UnresolvedSetIterator End)
- public static clang::UnresolvedLookupExpr * CreateEmpty(const clang::ASTContext & Context, unsigned int NumResults, bool HasTemplateKWAndArgsInfo, unsigned int NumTemplateArgs)
- private UnresolvedLookupExpr(const clang::ASTContext & Context, clang::CXXRecordDecl * NamingClass, clang::NestedNameSpecifierLoc QualifierLoc, clang::SourceLocation TemplateKWLoc, const clang::DeclarationNameInfo & NameInfo, bool RequiresADL, bool Overloaded, const clang::TemplateArgumentListInfo * TemplateArgs, clang::UnresolvedSetIterator Begin, clang::UnresolvedSetIterator End)
- private UnresolvedLookupExpr(clang::Stmt::EmptyShell Empty, unsigned int NumResults, bool HasTemplateKWAndArgsInfo)
- public clang::Stmt::child_range children()
- public clang::Stmt::const_child_range children() const
- public static bool classof(const clang::Stmt * T)
- public clang::SourceLocation getBeginLoc() const
- public clang::SourceLocation getEndLoc() const
- public clang::CXXRecordDecl * getNamingClass()
- public const clang::CXXRecordDecl * getNamingClass() const
- public bool isOverloaded() const
- private unsigned int numTrailingObjects(OverloadToken<clang::DeclAccessPair>) const
- private unsigned int numTrailingObjects(OverloadToken<clang::ASTTemplateKWAndArgsInfo>) const
- public bool requiresADL() const
Inherited from OverloadExpr:
- public classof
- public copyTemplateArgumentsInto
- public decls
- public decls_begin
- public decls_end
- public find
- public getLAngleLoc
- public getName
- public getNameInfo
- public getNameLoc
- public getNamingClass
- public getNamingClass
- public getNumDecls
- public getNumTemplateArgs
- public getQualifier
- public getQualifierLoc
- public getRAngleLoc
- public getTemplateArgs
- public getTemplateKeywordLoc
- protected getTrailingASTTemplateKWAndArgsInfo
- protected getTrailingASTTemplateKWAndArgsInfo
- protected getTrailingResults
- protected getTrailingResults
- protected getTrailingTemplateArgumentLoc
- protected getTrailingTemplateArgumentLoc
- public hasExplicitTemplateArgs
- protected hasTemplateKWAndArgsInfo
- public hasTemplateKeyword
- public template_arguments
Inherited from Expr:
- public Classify
- public ClassifyLValue
- public ClassifyModifiable
- public EvaluateAsBooleanCondition
- public EvaluateAsConstantExpr
- public EvaluateAsFixedPoint
- public EvaluateAsFloat
- public EvaluateAsInitializer
- public EvaluateAsInt
- public EvaluateAsLValue
- public EvaluateAsRValue
- public EvaluateForOverflow
- public EvaluateKnownConstInt
- public EvaluateKnownConstIntCheckOverflow
- public EvaluateWithSubstitution
- public HasSideEffects
- public IgnoreCasts
- public IgnoreCasts
- public IgnoreConversionOperatorSingleStep
- public IgnoreConversionOperatorSingleStep
- public IgnoreImpCasts
- public IgnoreImpCasts
- public IgnoreImplicit
- public IgnoreImplicit
- public IgnoreImplicitAsWritten
- public IgnoreImplicitAsWritten
- public IgnoreParenBaseCasts
- public IgnoreParenBaseCasts
- public IgnoreParenCasts
- public IgnoreParenCasts
- public IgnoreParenImpCasts
- public IgnoreParenImpCasts
- public IgnoreParenLValueCasts
- public IgnoreParenLValueCasts
- public IgnoreParenNoopCasts
- public IgnoreParenNoopCasts
- public IgnoreParens
- public IgnoreParens
- public IgnoreUnlessSpelledInSource
- public IgnoreUnlessSpelledInSource
- public classof
- public containsErrors
- public containsUnexpandedParameterPack
- public findBoundMemberType
- public getAsBuiltinConstantDeclRef
- public getBestDynamicClassType
- public getBestDynamicClassTypeExpr
- public getDependence
- public getExprLoc
- public getFPFeaturesInEffect
- public getIntegerConstantExpr
- public getObjCProperty
- public getObjectKind
- public getReferencedDeclOfCallee
- public getReferencedDeclOfCallee
- public getSourceBitField
- public getSourceBitField
- public getType
- public getValueKind
- public getValueKindForType
- public hasAnyTypeDependentArguments
- public hasNonTrivialCall
- public hasPlaceholderType
- public hasPlaceholderType
- public isBoundMemberFunction
- public isCXX11ConstantExpr
- public isCXX98IntegralConstantExpr
- public isConstantInitializer
- public isDefaultArgument
- public isEvaluatable
- public isGLValue
- public isImplicitCXXThis
- public isInstantiationDependent
- public isIntegerConstantExpr
- public isKnownToHaveBooleanValue
- public isLValue
- public isModifiableLvalue
- public isNullPointerConstant
- public isOBJCGCCandidate
- public isObjCSelfExpr
- public isOrdinaryOrBitFieldObject
- public isPRValue
- public isPotentialConstantExpr
- public isPotentialConstantExprUnevaluated
- public isReadIfDiscardedInCPlusPlus11
- public isSameComparisonOperand
- public isTemporaryObject
- public isTypeDependent
- public isUnusedResultAWarning
- public isValueDependent
- public isXValue
- public refersToBitField
- public refersToGlobalRegisterVar
- public refersToMatrixElement
- public refersToVectorElement
- protected setDependence
- public setObjectKind
- public setType
- public setValueKind
- public skipRValueSubobjectAdjustments
- public skipRValueSubobjectAdjustments
- public tryEvaluateObjectSize
- public tryEvaluateStrLen
Inherited from ValueStmt:
Inherited from Stmt:
- public EnableStatistics
- public IgnoreContainers
- public IgnoreContainers
- public PrintStats
- public ProcessODRHash
- public Profile
- public addStmtClass
- public child_begin
- public child_begin
- public child_end
- public child_end
- public children
- public children
- public determineLikelihoodConflict
- public dump
- public dump
- public dumpColor
- public dumpPretty
- public getBeginLoc
- public getEndLoc
- public getID
- public getLikelihood
- public getLikelihood
- public getLikelihood
- public getLikelihoodAttr
- public getSourceRange
- public getStmtClass
- public getStmtClassName
- public printJson
- public printPretty
- public printPrettyControlled
- public stripLabelLikeStatements
- public stripLabelLikeStatements
- public viewAST
Methods
¶static clang::UnresolvedLookupExpr* Create(
const clang::ASTContext& Context,
clang::CXXRecordDecl* NamingClass,
clang::NestedNameSpecifierLoc QualifierLoc,
const clang::DeclarationNameInfo& NameInfo,
bool RequiresADL,
bool Overloaded,
clang::UnresolvedSetIterator Begin,
clang::UnresolvedSetIterator End)
static clang::UnresolvedLookupExpr* Create(
const clang::ASTContext& Context,
clang::CXXRecordDecl* NamingClass,
clang::NestedNameSpecifierLoc QualifierLoc,
const clang::DeclarationNameInfo& NameInfo,
bool RequiresADL,
bool Overloaded,
clang::UnresolvedSetIterator Begin,
clang::UnresolvedSetIterator End)
Declared at: clang/include/clang/AST/ExprCXX.h:3139
Parameters
- const clang::ASTContext& Context
- clang::CXXRecordDecl* NamingClass
- clang::NestedNameSpecifierLoc QualifierLoc
- const clang::DeclarationNameInfo& NameInfo
- bool RequiresADL
- bool Overloaded
- clang::UnresolvedSetIterator Begin
- clang::UnresolvedSetIterator End
¶static clang::UnresolvedLookupExpr* Create(
const clang::ASTContext& Context,
clang::CXXRecordDecl* NamingClass,
clang::NestedNameSpecifierLoc QualifierLoc,
clang::SourceLocation TemplateKWLoc,
const clang::DeclarationNameInfo& NameInfo,
bool RequiresADL,
const clang::TemplateArgumentListInfo* Args,
clang::UnresolvedSetIterator Begin,
clang::UnresolvedSetIterator End)
static clang::UnresolvedLookupExpr* Create(
const clang::ASTContext& Context,
clang::CXXRecordDecl* NamingClass,
clang::NestedNameSpecifierLoc QualifierLoc,
clang::SourceLocation TemplateKWLoc,
const clang::DeclarationNameInfo& NameInfo,
bool RequiresADL,
const clang::TemplateArgumentListInfo* Args,
clang::UnresolvedSetIterator Begin,
clang::UnresolvedSetIterator End)
Declared at: clang/include/clang/AST/ExprCXX.h:3145
Parameters
- const clang::ASTContext& Context
- clang::CXXRecordDecl* NamingClass
- clang::NestedNameSpecifierLoc QualifierLoc
- clang::SourceLocation TemplateKWLoc
- const clang::DeclarationNameInfo& NameInfo
- bool RequiresADL
- const clang::TemplateArgumentListInfo* Args
- clang::UnresolvedSetIterator Begin
- clang::UnresolvedSetIterator End
¶static clang::UnresolvedLookupExpr* CreateEmpty(
const clang::ASTContext& Context,
unsigned int NumResults,
bool HasTemplateKWAndArgsInfo,
unsigned int NumTemplateArgs)
static clang::UnresolvedLookupExpr* CreateEmpty(
const clang::ASTContext& Context,
unsigned int NumResults,
bool HasTemplateKWAndArgsInfo,
unsigned int NumTemplateArgs)
Declared at: clang/include/clang/AST/ExprCXX.h:3151
Parameters
- const clang::ASTContext& Context
- unsigned int NumResults
- bool HasTemplateKWAndArgsInfo
- unsigned int NumTemplateArgs
¶UnresolvedLookupExpr(
const clang::ASTContext& Context,
clang::CXXRecordDecl* NamingClass,
clang::NestedNameSpecifierLoc QualifierLoc,
clang::SourceLocation TemplateKWLoc,
const clang::DeclarationNameInfo& NameInfo,
bool RequiresADL,
bool Overloaded,
const clang::TemplateArgumentListInfo*
TemplateArgs,
clang::UnresolvedSetIterator Begin,
clang::UnresolvedSetIterator End)
UnresolvedLookupExpr(
const clang::ASTContext& Context,
clang::CXXRecordDecl* NamingClass,
clang::NestedNameSpecifierLoc QualifierLoc,
clang::SourceLocation TemplateKWLoc,
const clang::DeclarationNameInfo& NameInfo,
bool RequiresADL,
bool Overloaded,
const clang::TemplateArgumentListInfo*
TemplateArgs,
clang::UnresolvedSetIterator Begin,
clang::UnresolvedSetIterator End)
Declared at: clang/include/clang/AST/ExprCXX.h:3118
Parameters
- const clang::ASTContext& Context
- clang::CXXRecordDecl* NamingClass
- clang::NestedNameSpecifierLoc QualifierLoc
- clang::SourceLocation TemplateKWLoc
- const clang::DeclarationNameInfo& NameInfo
- bool RequiresADL
- bool Overloaded
- const clang::TemplateArgumentListInfo* TemplateArgs
- clang::UnresolvedSetIterator Begin
- clang::UnresolvedSetIterator End
¶UnresolvedLookupExpr(
clang::Stmt::EmptyShell Empty,
unsigned int NumResults,
bool HasTemplateKWAndArgsInfo)
UnresolvedLookupExpr(
clang::Stmt::EmptyShell Empty,
unsigned int NumResults,
bool HasTemplateKWAndArgsInfo)
Declared at: clang/include/clang/AST/ExprCXX.h:3126
Parameters
- clang::Stmt::EmptyShell Empty
- unsigned int NumResults
- bool HasTemplateKWAndArgsInfo
¶clang::Stmt::child_range children()
clang::Stmt::child_range children()
Declared at: clang/include/clang/AST/ExprCXX.h:3181
¶clang::Stmt::const_child_range children() const
clang::Stmt::const_child_range children() const
Declared at: clang/include/clang/AST/ExprCXX.h:3185
¶static bool classof(const clang::Stmt* T)
static bool classof(const clang::Stmt* T)
Declared at: clang/include/clang/AST/ExprCXX.h:3189
Parameters
- const clang::Stmt* T
¶clang::SourceLocation getBeginLoc() const
clang::SourceLocation getBeginLoc() const
Declared at: clang/include/clang/AST/ExprCXX.h:3169
¶clang::SourceLocation getEndLoc() const
clang::SourceLocation getEndLoc() const
Declared at: clang/include/clang/AST/ExprCXX.h:3175
¶clang::CXXRecordDecl* getNamingClass()
clang::CXXRecordDecl* getNamingClass()
Description
Gets the 'naming class' (in the sense of C++0x [class.access.base]p5) of the lookup. This is the scope that was looked in to find these results.
Declared at: clang/include/clang/AST/ExprCXX.h:3166
¶const clang::CXXRecordDecl* getNamingClass() const
const clang::CXXRecordDecl* getNamingClass() const
Declared at: clang/include/clang/AST/ExprCXX.h:3167
¶bool isOverloaded() const
bool isOverloaded() const
Description
True if this lookup is overloaded.
Declared at: clang/include/clang/AST/ExprCXX.h:3161
¶unsigned int numTrailingObjects(
OverloadToken<clang::DeclAccessPair>) const
unsigned int numTrailingObjects(
OverloadToken<clang::DeclAccessPair>) const
Declared at: clang/include/clang/AST/ExprCXX.h:3129
Parameters
- OverloadToken<clang::DeclAccessPair>
¶unsigned int numTrailingObjects(
OverloadToken<
clang::ASTTemplateKWAndArgsInfo>) const
unsigned int numTrailingObjects(
OverloadToken<
clang::ASTTemplateKWAndArgsInfo>) const
Declared at: clang/include/clang/AST/ExprCXX.h:3133
Parameters
- OverloadToken<clang::ASTTemplateKWAndArgsInfo>
¶bool requiresADL() const
bool requiresADL() const
Description
True if this declaration should be extended by argument-dependent lookup.
Declared at: clang/include/clang/AST/ExprCXX.h:3158