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:

protected

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:

Inherited from ValueStmt:

Inherited from Stmt:

Methods

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)

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)

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)

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

Declared at: clang/include/clang/AST/ExprCXX.h:3515

clang::CXXUnresolvedConstructExpr::arg_iterator
arg_begin()

Declared at: clang/include/clang/AST/ExprCXX.h:3508

clang::CXXUnresolvedConstructExpr::arg_iterator
arg_end()

Declared at: clang/include/clang/AST/ExprCXX.h:3509

clang::CXXUnresolvedConstructExpr::
    const_arg_iterator
    arg_end() const

Declared at: clang/include/clang/AST/ExprCXX.h:3516

clang::CXXUnresolvedConstructExpr::const_arg_range
arguments() const

Declared at: clang/include/clang/AST/ExprCXX.h:3517

clang::CXXUnresolvedConstructExpr::arg_range
arguments()

Declared at: clang/include/clang/AST/ExprCXX.h:3510

clang::Stmt::const_child_range children() const

Declared at: clang/include/clang/AST/ExprCXX.h:3553

clang::Stmt::child_range children()

Declared at: clang/include/clang/AST/ExprCXX.h:3548

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)

Declared at: clang/include/clang/AST/ExprCXX.h:3521

Parameters

unsigned int I

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

Declared at: clang/include/clang/AST/ExprCXX.h:3536

clang::SourceLocation getEndLoc() const

Declared at: clang/include/clang/AST/ExprCXX.h:3537

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

Description

Retrieve the number of arguments.

Declared at: clang/include/clang/AST/ExprCXX.h:3503

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

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

Description

Retrieve the type source information for the type being constructed.

Declared at: clang/include/clang/AST/ExprCXX.h:3485

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)

Declared at: clang/include/clang/AST/ExprCXX.h:3531

Parameters

unsigned int I
clang::Expr* E

void setLParenLoc(clang::SourceLocation L)

Declared at: clang/include/clang/AST/ExprCXX.h:3490

Parameters

clang::SourceLocation L

void setRParenLoc(clang::SourceLocation L)

Declared at: clang/include/clang/AST/ExprCXX.h:3495

Parameters

clang::SourceLocation L