class CXXUnresolvedConstructExpr
Declaration
class CXXUnresolvedConstructExpr : public Expr,
private TrailingObjects { /* full declaration omitted */ };
Description
Describes an explicit type conversion that uses functional notion but could not be resolved because one or more arguments are type-dependent. The explicit type conversions expressed by CXXUnresolvedConstructExpr have the form T(a1, a2, ..., aN) , where \c T is some type and \c a1, \c a2, ..., \c aN are values, and either \c T is a dependent type or one or more of the a 's is type-dependent. For example, this would occur in a template such as: When the returned expression is instantiated, it may resolve to a constructor call, conversion function call, or some kind of type conversion.
Declared at: clang/include/clang/AST/ExprCXX.h:3445
Inherits from: Expr, TrailingObjects
Member Variables
- private clang::TypeSourceInfo* TSI
- The type being constructed.
- private clang::SourceLocation LParenLoc
- The location of the left parentheses ('(').
- private clang::SourceLocation RParenLoc
- The location of the right parentheses (')').
Inherited from Stmt:
Method Overview
- private CXXUnresolvedConstructExpr(clang::Stmt::EmptyShell Empty, unsigned int NumArgs)
- private CXXUnresolvedConstructExpr(clang::QualType T, clang::TypeSourceInfo * TSI, clang::SourceLocation LParenLoc, ArrayRef<clang::Expr *> Args, clang::SourceLocation RParenLoc)
- public static clang::CXXUnresolvedConstructExpr * Create(const clang::ASTContext & Context, clang::QualType T, clang::TypeSourceInfo * TSI, clang::SourceLocation LParenLoc, ArrayRef<clang::Expr *> Args, clang::SourceLocation RParenLoc)
- public static clang::CXXUnresolvedConstructExpr * CreateEmpty(const clang::ASTContext & Context, unsigned int NumArgs)
- public clang::CXXUnresolvedConstructExpr::const_arg_iterator arg_begin() const
- public clang::CXXUnresolvedConstructExpr::arg_iterator arg_begin()
- public clang::CXXUnresolvedConstructExpr::arg_iterator arg_end()
- public clang::CXXUnresolvedConstructExpr::const_arg_iterator arg_end() const
- public clang::CXXUnresolvedConstructExpr::const_arg_range arguments() const
- public clang::CXXUnresolvedConstructExpr::arg_range arguments()
- public clang::Stmt::const_child_range children() const
- public clang::Stmt::child_range children()
- public static bool classof(const clang::Stmt * T)
- public clang::Expr * getArg(unsigned int I)
- public const clang::Expr * getArg(unsigned int I) const
- public clang::SourceLocation getBeginLoc() const
- public clang::SourceLocation getEndLoc() const
- public clang::SourceLocation getLParenLoc() const
- public unsigned int getNumArgs() const
- public clang::SourceLocation getRParenLoc() const
- public clang::QualType getTypeAsWritten() const
- public clang::TypeSourceInfo * getTypeSourceInfo() const
- public bool isListInitialization() const
- public void setArg(unsigned int I, clang::Expr * E)
- public void setLParenLoc(clang::SourceLocation L)
- public void setRParenLoc(clang::SourceLocation L)
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
¶CXXUnresolvedConstructExpr(
clang::Stmt::EmptyShell Empty,
unsigned int NumArgs)
CXXUnresolvedConstructExpr(
clang::Stmt::EmptyShell Empty,
unsigned int NumArgs)
Declared at: clang/include/clang/AST/ExprCXX.h:3464
Parameters
- clang::Stmt::EmptyShell Empty
- unsigned int NumArgs
¶CXXUnresolvedConstructExpr(
clang::QualType T,
clang::TypeSourceInfo* TSI,
clang::SourceLocation LParenLoc,
ArrayRef<clang::Expr*> Args,
clang::SourceLocation RParenLoc)
CXXUnresolvedConstructExpr(
clang::QualType T,
clang::TypeSourceInfo* TSI,
clang::SourceLocation LParenLoc,
ArrayRef<clang::Expr*> Args,
clang::SourceLocation RParenLoc)
Declared at: clang/include/clang/AST/ExprCXX.h:3460
Parameters
- clang::QualType T
- clang::TypeSourceInfo* TSI
- clang::SourceLocation LParenLoc
- ArrayRef<clang::Expr*> Args
- clang::SourceLocation RParenLoc
¶static clang::CXXUnresolvedConstructExpr* Create(
const clang::ASTContext& Context,
clang::QualType T,
clang::TypeSourceInfo* TSI,
clang::SourceLocation LParenLoc,
ArrayRef<clang::Expr*> Args,
clang::SourceLocation RParenLoc)
static clang::CXXUnresolvedConstructExpr* Create(
const clang::ASTContext& Context,
clang::QualType T,
clang::TypeSourceInfo* TSI,
clang::SourceLocation LParenLoc,
ArrayRef<clang::Expr*> Args,
clang::SourceLocation RParenLoc)
Declared at: clang/include/clang/AST/ExprCXX.h:3470
Parameters
- const clang::ASTContext& Context
- clang::QualType T
- clang::TypeSourceInfo* TSI
- clang::SourceLocation LParenLoc
- ArrayRef<clang::Expr*> Args
- clang::SourceLocation RParenLoc
¶static clang::CXXUnresolvedConstructExpr*
CreateEmpty(const clang::ASTContext& Context,
unsigned int NumArgs)
static clang::CXXUnresolvedConstructExpr*
CreateEmpty(const clang::ASTContext& Context,
unsigned int NumArgs)
Declared at: clang/include/clang/AST/ExprCXX.h:3476
Parameters
- const clang::ASTContext& Context
- unsigned int NumArgs
¶clang::CXXUnresolvedConstructExpr::
const_arg_iterator
arg_begin() const
clang::CXXUnresolvedConstructExpr::
const_arg_iterator
arg_begin() const
Declared at: clang/include/clang/AST/ExprCXX.h:3515
¶clang::CXXUnresolvedConstructExpr::arg_iterator
arg_begin()
clang::CXXUnresolvedConstructExpr::arg_iterator
arg_begin()
Declared at: clang/include/clang/AST/ExprCXX.h:3508
¶clang::CXXUnresolvedConstructExpr::arg_iterator
arg_end()
clang::CXXUnresolvedConstructExpr::arg_iterator
arg_end()
Declared at: clang/include/clang/AST/ExprCXX.h:3509
¶clang::CXXUnresolvedConstructExpr::
const_arg_iterator
arg_end() const
clang::CXXUnresolvedConstructExpr::
const_arg_iterator
arg_end() const
Declared at: clang/include/clang/AST/ExprCXX.h:3516
¶clang::CXXUnresolvedConstructExpr::const_arg_range
arguments() const
clang::CXXUnresolvedConstructExpr::const_arg_range
arguments() const
Declared at: clang/include/clang/AST/ExprCXX.h:3517
¶clang::CXXUnresolvedConstructExpr::arg_range
arguments()
clang::CXXUnresolvedConstructExpr::arg_range
arguments()
Declared at: clang/include/clang/AST/ExprCXX.h:3510
¶clang::Stmt::const_child_range children() const
clang::Stmt::const_child_range children() const
Declared at: clang/include/clang/AST/ExprCXX.h:3553
¶clang::Stmt::child_range children()
clang::Stmt::child_range children()
Declared at: clang/include/clang/AST/ExprCXX.h:3548
¶static bool classof(const clang::Stmt* T)
static bool classof(const clang::Stmt* T)
Declared at: clang/include/clang/AST/ExprCXX.h:3543
Parameters
- const clang::Stmt* T
¶clang::Expr* getArg(unsigned int I)
clang::Expr* getArg(unsigned int I)
Declared at: clang/include/clang/AST/ExprCXX.h:3521
Parameters
- unsigned int I
¶const clang::Expr* getArg(unsigned int I) const
const clang::Expr* getArg(unsigned int I) const
Declared at: clang/include/clang/AST/ExprCXX.h:3526
Parameters
- unsigned int I
¶clang::SourceLocation getBeginLoc() const
clang::SourceLocation getBeginLoc() const
Declared at: clang/include/clang/AST/ExprCXX.h:3536
¶clang::SourceLocation getEndLoc() const
clang::SourceLocation getEndLoc() const
Declared at: clang/include/clang/AST/ExprCXX.h:3537
¶clang::SourceLocation getLParenLoc() const
clang::SourceLocation getLParenLoc() const
Description
Retrieve the location of the left parentheses ('(') that precedes the argument list.
Declared at: clang/include/clang/AST/ExprCXX.h:3489
¶unsigned int getNumArgs() const
unsigned int getNumArgs() const
Description
Retrieve the number of arguments.
Declared at: clang/include/clang/AST/ExprCXX.h:3503
¶clang::SourceLocation getRParenLoc() const
clang::SourceLocation getRParenLoc() const
Description
Retrieve the location of the right parentheses (')') that follows the argument list.
Declared at: clang/include/clang/AST/ExprCXX.h:3494
¶clang::QualType getTypeAsWritten() const
clang::QualType getTypeAsWritten() const
Description
Retrieve the type that is being constructed, as specified in the source code.
Declared at: clang/include/clang/AST/ExprCXX.h:3481
¶clang::TypeSourceInfo* getTypeSourceInfo() const
clang::TypeSourceInfo* getTypeSourceInfo() const
Description
Retrieve the type source information for the type being constructed.
Declared at: clang/include/clang/AST/ExprCXX.h:3485
¶bool isListInitialization() const
bool isListInitialization() const
Description
Determine whether this expression models list-initialization. If so, there will be exactly one subexpression, which will be an InitListExpr.
Declared at: clang/include/clang/AST/ExprCXX.h:3500
¶void setArg(unsigned int I, clang::Expr* E)
void setArg(unsigned int I, clang::Expr* E)
Declared at: clang/include/clang/AST/ExprCXX.h:3531
Parameters
- unsigned int I
- clang::Expr* E
¶void setLParenLoc(clang::SourceLocation L)
void setLParenLoc(clang::SourceLocation L)
Declared at: clang/include/clang/AST/ExprCXX.h:3490
Parameters
¶void setRParenLoc(clang::SourceLocation L)
void setRParenLoc(clang::SourceLocation L)
Declared at: clang/include/clang/AST/ExprCXX.h:3495