class CXXConstructExpr
Declaration
class CXXConstructExpr : public Expr { /* full declaration omitted */ };
Description
Represents a call to a C++ constructor.
Declared at: clang/include/clang/AST/ExprCXX.h:1460
Inherits from: Expr
Member Variables
- private clang::CXXConstructorDecl* Constructor
- A pointer to the constructor which will be ultimately called.
- private clang::SourceRange ParenOrBraceRange
- private unsigned int NumArgs
- The number of arguments.
Inherited from Stmt:
Method Overview
- protected CXXConstructExpr(clang::Stmt::StmtClass SC, clang::QualType Ty, clang::SourceLocation Loc, clang::CXXConstructorDecl * Ctor, bool Elidable, ArrayRef<clang::Expr *> Args, bool HadMultipleCandidates, bool ListInitialization, bool StdInitListInitialization, bool ZeroInitialization, clang::CXXConstructExpr::ConstructionKind ConstructKind, clang::SourceRange ParenOrBraceRange)
- protected CXXConstructExpr(clang::Stmt::StmtClass SC, clang::Stmt::EmptyShell Empty, unsigned int NumArgs)
- public static clang::CXXConstructExpr * Create(const clang::ASTContext & Ctx, clang::QualType Ty, clang::SourceLocation Loc, clang::CXXConstructorDecl * Ctor, bool Elidable, ArrayRef<clang::Expr *> Args, bool HadMultipleCandidates, bool ListInitialization, bool StdInitListInitialization, bool ZeroInitialization, clang::CXXConstructExpr::ConstructionKind ConstructKind, clang::SourceRange ParenOrBraceRange)
- public static clang::CXXConstructExpr * CreateEmpty(const clang::ASTContext & Ctx, unsigned int NumArgs)
- public clang::CXXConstructExpr::arg_iterator arg_begin()
- public clang::CXXConstructExpr::const_arg_iterator arg_begin() const
- public clang::CXXConstructExpr::arg_iterator arg_end()
- public clang::CXXConstructExpr::const_arg_iterator arg_end() const
- public clang::CXXConstructExpr::arg_range arguments()
- public clang::CXXConstructExpr::const_arg_range arguments() const
- 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 Arg)
- public const clang::Expr * getArg(unsigned int Arg) const
- public const clang::Expr *const * getArgs() const
- public clang::Expr ** getArgs()
- public clang::SourceLocation getBeginLoc() const
- public clang::CXXConstructExpr::ConstructionKind getConstructionKind() const
- public clang::CXXConstructorDecl * getConstructor() const
- public clang::SourceLocation getEndLoc() const
- public clang::SourceLocation getLocation() const
- public unsigned int getNumArgs() const
- public clang::SourceRange getParenOrBraceRange() const
- private const clang::Stmt *const * getTrailingArgs() const
- private inline clang::Stmt ** getTrailingArgs()
- public bool hadMultipleCandidates() const
- public bool isElidable() const
- public bool isListInitialization() const
- public bool isStdInitListInitialization() const
- public bool requiresZeroInitialization() const
- public void setArg(unsigned int Arg, clang::Expr * ArgExpr)
- public void setConstructionKind(clang::CXXConstructExpr::ConstructionKind CK)
- public void setElidable(bool E)
- public void setHadMultipleCandidates(bool V)
- public void setListInitialization(bool V)
- public void setLocation(clang::SourceLocation Loc)
- public void setParenOrBraceRange(clang::SourceRange Range)
- public void setRequiresZeroInitialization(bool ZeroInit)
- public void setStdInitListInitialization(bool V)
- protected static unsigned int sizeOfTrailingObjects(unsigned int NumArgs)
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
¶CXXConstructExpr(
clang::Stmt::StmtClass SC,
clang::QualType Ty,
clang::SourceLocation Loc,
clang::CXXConstructorDecl* Ctor,
bool Elidable,
ArrayRef<clang::Expr*> Args,
bool HadMultipleCandidates,
bool ListInitialization,
bool StdInitListInitialization,
bool ZeroInitialization,
clang::CXXConstructExpr::ConstructionKind
ConstructKind,
clang::SourceRange ParenOrBraceRange)
CXXConstructExpr(
clang::Stmt::StmtClass SC,
clang::QualType Ty,
clang::SourceLocation Loc,
clang::CXXConstructorDecl* Ctor,
bool Elidable,
ArrayRef<clang::Expr*> Args,
bool HadMultipleCandidates,
bool ListInitialization,
bool StdInitListInitialization,
bool ZeroInitialization,
clang::CXXConstructExpr::ConstructionKind
ConstructKind,
clang::SourceRange ParenOrBraceRange)
Description
Build a C++ construction expression.
Declared at: clang/include/clang/AST/ExprCXX.h:1503
Parameters
- clang::Stmt::StmtClass SC
- clang::QualType Ty
- clang::SourceLocation Loc
- clang::CXXConstructorDecl* Ctor
- bool Elidable
- ArrayRef<clang::Expr*> Args
- bool HadMultipleCandidates
- bool ListInitialization
- bool StdInitListInitialization
- bool ZeroInitialization
- clang::CXXConstructExpr::ConstructionKind ConstructKind
- clang::SourceRange ParenOrBraceRange
¶CXXConstructExpr(clang::Stmt::StmtClass SC,
clang::Stmt::EmptyShell Empty,
unsigned int NumArgs)
CXXConstructExpr(clang::Stmt::StmtClass SC,
clang::Stmt::EmptyShell Empty,
unsigned int NumArgs)
Description
Build an empty C++ construction expression.
Declared at: clang/include/clang/AST/ExprCXX.h:1511
Parameters
- clang::Stmt::StmtClass SC
- clang::Stmt::EmptyShell Empty
- unsigned int NumArgs
¶static clang::CXXConstructExpr* Create(
const clang::ASTContext& Ctx,
clang::QualType Ty,
clang::SourceLocation Loc,
clang::CXXConstructorDecl* Ctor,
bool Elidable,
ArrayRef<clang::Expr*> Args,
bool HadMultipleCandidates,
bool ListInitialization,
bool StdInitListInitialization,
bool ZeroInitialization,
clang::CXXConstructExpr::ConstructionKind
ConstructKind,
clang::SourceRange ParenOrBraceRange)
static clang::CXXConstructExpr* Create(
const clang::ASTContext& Ctx,
clang::QualType Ty,
clang::SourceLocation Loc,
clang::CXXConstructorDecl* Ctor,
bool Elidable,
ArrayRef<clang::Expr*> Args,
bool HadMultipleCandidates,
bool ListInitialization,
bool StdInitListInitialization,
bool ZeroInitialization,
clang::CXXConstructExpr::ConstructionKind
ConstructKind,
clang::SourceRange ParenOrBraceRange)
Description
Create a C++ construction expression.
Declared at: clang/include/clang/AST/ExprCXX.h:1522
Parameters
- const clang::ASTContext& Ctx
- clang::QualType Ty
- clang::SourceLocation Loc
- clang::CXXConstructorDecl* Ctor
- bool Elidable
- ArrayRef<clang::Expr*> Args
- bool HadMultipleCandidates
- bool ListInitialization
- bool StdInitListInitialization
- bool ZeroInitialization
- clang::CXXConstructExpr::ConstructionKind ConstructKind
- clang::SourceRange ParenOrBraceRange
¶static clang::CXXConstructExpr* CreateEmpty(
const clang::ASTContext& Ctx,
unsigned int NumArgs)
static clang::CXXConstructExpr* CreateEmpty(
const clang::ASTContext& Ctx,
unsigned int NumArgs)
Description
Create an empty C++ construction expression.
Declared at: clang/include/clang/AST/ExprCXX.h:1529
Parameters
- const clang::ASTContext& Ctx
- unsigned int NumArgs
¶clang::CXXConstructExpr::arg_iterator arg_begin()
clang::CXXConstructExpr::arg_iterator arg_begin()
Declared at: clang/include/clang/AST/ExprCXX.h:1597
¶clang::CXXConstructExpr::const_arg_iterator
arg_begin() const
clang::CXXConstructExpr::const_arg_iterator
arg_begin() const
Declared at: clang/include/clang/AST/ExprCXX.h:1599
¶clang::CXXConstructExpr::arg_iterator arg_end()
clang::CXXConstructExpr::arg_iterator arg_end()
Declared at: clang/include/clang/AST/ExprCXX.h:1598
¶clang::CXXConstructExpr::const_arg_iterator
arg_end() const
clang::CXXConstructExpr::const_arg_iterator
arg_end() const
Declared at: clang/include/clang/AST/ExprCXX.h:1600
¶clang::CXXConstructExpr::arg_range arguments()
clang::CXXConstructExpr::arg_range arguments()
Declared at: clang/include/clang/AST/ExprCXX.h:1592
¶clang::CXXConstructExpr::const_arg_range
arguments() const
clang::CXXConstructExpr::const_arg_range
arguments() const
Declared at: clang/include/clang/AST/ExprCXX.h:1593
¶clang::Stmt::const_child_range children() const
clang::Stmt::const_child_range children() const
Declared at: clang/include/clang/AST/ExprCXX.h:1641
¶clang::Stmt::child_range children()
clang::Stmt::child_range children()
Declared at: clang/include/clang/AST/ExprCXX.h:1637
¶static bool classof(const clang::Stmt* T)
static bool classof(const clang::Stmt* T)
Declared at: clang/include/clang/AST/ExprCXX.h:1631
Parameters
- const clang::Stmt* T
¶clang::Expr* getArg(unsigned int Arg)
clang::Expr* getArg(unsigned int Arg)
Description
Return the specified argument.
Declared at: clang/include/clang/AST/ExprCXX.h:1611
Parameters
- unsigned int Arg
¶const clang::Expr* getArg(unsigned int Arg) const
const clang::Expr* getArg(unsigned int Arg) const
Declared at: clang/include/clang/AST/ExprCXX.h:1615
Parameters
- unsigned int Arg
¶const clang::Expr* const* getArgs() const
const clang::Expr* const* getArgs() const
Declared at: clang/include/clang/AST/ExprCXX.h:1603
¶clang::Expr** getArgs()
clang::Expr** getArgs()
Declared at: clang/include/clang/AST/ExprCXX.h:1602
¶clang::SourceLocation getBeginLoc() const
clang::SourceLocation getBeginLoc() const
Declared at: clang/include/clang/AST/ExprCXX.h:1626
¶clang::CXXConstructExpr::ConstructionKind
getConstructionKind() const
clang::CXXConstructExpr::ConstructionKind
getConstructionKind() const
Description
Determine whether this constructor is actually constructing a base class (rather than a complete object).
Declared at: clang/include/clang/AST/ExprCXX.h:1580
¶clang::CXXConstructorDecl* getConstructor() const
clang::CXXConstructorDecl* getConstructor() const
Description
Get the constructor that this expression will (ultimately) call.
Declared at: clang/include/clang/AST/ExprCXX.h:1532
¶clang::SourceLocation getEndLoc() const
clang::SourceLocation getEndLoc() const
Declared at: clang/include/clang/AST/ExprCXX.h:1627
¶clang::SourceLocation getLocation() const
clang::SourceLocation getLocation() const
Declared at: clang/include/clang/AST/ExprCXX.h:1534
¶unsigned int getNumArgs() const
unsigned int getNumArgs() const
Description
Return the number of arguments to the constructor call.
Declared at: clang/include/clang/AST/ExprCXX.h:1608
¶clang::SourceRange getParenOrBraceRange() const
clang::SourceRange getParenOrBraceRange() const
Declared at: clang/include/clang/AST/ExprCXX.h:1628
¶const clang::Stmt* const* getTrailingArgs() const
const clang::Stmt* const* getTrailingArgs() const
Declared at: clang/include/clang/AST/ExprCXX.h:1497
¶inline clang::Stmt** getTrailingArgs()
inline clang::Stmt** getTrailingArgs()
Description
Return a pointer to the start of the trailing arguments. Defined just after CXXTemporaryObjectExpr.
Declared at: clang/include/clang/AST/ExprCXX.h:1496
¶bool hadMultipleCandidates() const
bool hadMultipleCandidates() const
Description
Whether the referred constructor was resolved from an overloaded set having size greater than 1.
Declared at: clang/include/clang/AST/ExprCXX.h:1543
¶bool isElidable() const
bool isElidable() const
Description
Whether this construction is elidable.
Declared at: clang/include/clang/AST/ExprCXX.h:1538
¶bool isListInitialization() const
bool isListInitialization() const
Description
Whether this constructor call was written as list-initialization.
Declared at: clang/include/clang/AST/ExprCXX.h:1551
¶bool isStdInitListInitialization() const
bool isStdInitListInitialization() const
Description
Whether this constructor call was written as list-initialization, but was interpreted as forming a std::initializer_list <T > from the list and passing that as a single constructor argument. See C++11 [over.match.list]p1 bullet 1.
Declared at: clang/include/clang/AST/ExprCXX.h:1562
¶bool requiresZeroInitialization() const
bool requiresZeroInitialization() const
Description
Whether this construction first requires zero-initialization before the initializer is called.
Declared at: clang/include/clang/AST/ExprCXX.h:1571
¶void setArg(unsigned int Arg,
clang::Expr* ArgExpr)
void setArg(unsigned int Arg,
clang::Expr* ArgExpr)
Description
Set the specified argument.
Declared at: clang/include/clang/AST/ExprCXX.h:1621
Parameters
- unsigned int Arg
- clang::Expr* ArgExpr
¶void setConstructionKind(
clang::CXXConstructExpr::ConstructionKind CK)
void setConstructionKind(
clang::CXXConstructExpr::ConstructionKind CK)
Declared at: clang/include/clang/AST/ExprCXX.h:1583
Parameters
- clang::CXXConstructExpr::ConstructionKind CK
¶void setElidable(bool E)
void setElidable(bool E)
Declared at: clang/include/clang/AST/ExprCXX.h:1539
Parameters
- bool E
¶void setHadMultipleCandidates(bool V)
void setHadMultipleCandidates(bool V)
Declared at: clang/include/clang/AST/ExprCXX.h:1546
Parameters
- bool V
¶void setListInitialization(bool V)
void setListInitialization(bool V)
Declared at: clang/include/clang/AST/ExprCXX.h:1554
Parameters
- bool V
¶void setLocation(clang::SourceLocation Loc)
void setLocation(clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/ExprCXX.h:1535
Parameters
¶void setParenOrBraceRange(
clang::SourceRange Range)
void setParenOrBraceRange(
clang::SourceRange Range)
Declared at: clang/include/clang/AST/ExprCXX.h:1629
Parameters
- clang::SourceRange Range
¶void setRequiresZeroInitialization(bool ZeroInit)
void setRequiresZeroInitialization(bool ZeroInit)
Declared at: clang/include/clang/AST/ExprCXX.h:1574
Parameters
- bool ZeroInit
¶void setStdInitListInitialization(bool V)
void setStdInitListInitialization(bool V)
Declared at: clang/include/clang/AST/ExprCXX.h:1565
Parameters
- bool V
¶static unsigned int sizeOfTrailingObjects(
unsigned int NumArgs)
static unsigned int sizeOfTrailingObjects(
unsigned int NumArgs)
Description
Return the size in bytes of the trailing objects. Used by CXXTemporaryObjectExpr to allocate the right amount of storage.
Declared at: clang/include/clang/AST/ExprCXX.h:1515
Parameters
- unsigned int NumArgs