clang API Documentation
Describes an explicit type conversion that uses functional notion but could not be resolved because one or more arguments are type-dependent. More...
#include <ExprCXX.h>


Public Types | |
| typedef Expr ** | arg_iterator |
| typedef const Expr *const * | const_arg_iterator |
Public Member Functions | |
| QualType | getTypeAsWritten () const |
| Retrieve the type that is being constructed, as specified in the source code. | |
| TypeSourceInfo * | getTypeSourceInfo () const |
| Retrieve the type source information for the type being constructed. | |
| SourceLocation | getLParenLoc () const |
| Retrieve the location of the left parentheses ('(') that precedes the argument list. | |
| void | setLParenLoc (SourceLocation L) |
| SourceLocation | getRParenLoc () const |
| Retrieve the location of the right parentheses (')') that follows the argument list. | |
| void | setRParenLoc (SourceLocation L) |
| unsigned | arg_size () const |
| Retrieve the number of arguments. | |
| arg_iterator | arg_begin () |
| arg_iterator | arg_end () |
| const_arg_iterator | arg_begin () const |
| const_arg_iterator | arg_end () const |
| Expr * | getArg (unsigned I) |
| const Expr * | getArg (unsigned I) const |
| void | setArg (unsigned I, Expr *E) |
| SourceLocation | getLocStart () const LLVM_READONLY |
| SourceLocation | getLocEnd () const LLVM_READONLY |
| child_range | children () |
Static Public Member Functions | |
| static CXXUnresolvedConstructExpr * | Create (const ASTContext &C, TypeSourceInfo *Type, SourceLocation LParenLoc, ArrayRef< Expr * > Args, SourceLocation RParenLoc) |
| static CXXUnresolvedConstructExpr * | CreateEmpty (const ASTContext &C, unsigned NumArgs) |
| static bool | classof (const Stmt *T) |
Friends | |
| class | ASTStmtReader |
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 T is some type and a1, a2, ..., aN are values, and either 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:
template<typename T, typename A1> inline T make_a(const A1& a1) { return T(a1); }
When the returned expression is instantiated, it may resolve to a constructor call, conversion function call, or some kind of type conversion.
| typedef const Expr* const* clang::CXXUnresolvedConstructExpr::const_arg_iterator |
| arg_iterator clang::CXXUnresolvedConstructExpr::arg_begin | ( | ) | [inline] |
| const_arg_iterator clang::CXXUnresolvedConstructExpr::arg_begin | ( | ) | const [inline] |
| arg_iterator clang::CXXUnresolvedConstructExpr::arg_end | ( | ) | [inline] |
Definition at line 2891 of file ExprCXX.h.
References arg_begin().
| const_arg_iterator clang::CXXUnresolvedConstructExpr::arg_end | ( | ) | const [inline] |
Definition at line 2897 of file ExprCXX.h.
References arg_begin().
| unsigned clang::CXXUnresolvedConstructExpr::arg_size | ( | ) | const [inline] |
| child_range clang::CXXUnresolvedConstructExpr::children | ( | ) | [inline] |
Reimplemented from clang::Stmt.
| static bool clang::CXXUnresolvedConstructExpr::classof | ( | const Stmt * | T | ) | [inline, static] |
Reimplemented from clang::Expr.
Definition at line 2922 of file ExprCXX.h.
References clang::Stmt::getStmtClass().
| CXXUnresolvedConstructExpr * CXXUnresolvedConstructExpr::Create | ( | const ASTContext & | C, |
| TypeSourceInfo * | Type, | ||
| SourceLocation | LParenLoc, | ||
| ArrayRef< Expr * > | Args, | ||
| SourceLocation | RParenLoc | ||
| ) | [static] |
Definition at line 1171 of file ExprCXX.cpp.
References clang::ASTContext::Allocate().
Referenced by clang::Sema::BuildCXXTypeConstructExpr().
| CXXUnresolvedConstructExpr * CXXUnresolvedConstructExpr::CreateEmpty | ( | const ASTContext & | C, |
| unsigned | NumArgs | ||
| ) | [static] |
Definition at line 1182 of file ExprCXX.cpp.
References clang::ASTContext::Allocate().
| Expr* clang::CXXUnresolvedConstructExpr::getArg | ( | unsigned | I | ) | [inline] |
| const Expr* clang::CXXUnresolvedConstructExpr::getArg | ( | unsigned | I | ) | const [inline] |
Definition at line 2906 of file ExprCXX.h.
References arg_begin().
| SourceLocation clang::CXXUnresolvedConstructExpr::getLocEnd | ( | ) | const [inline] |
Reimplemented from clang::Stmt.
Definition at line 2917 of file ExprCXX.h.
References getArg(), clang::Stmt::getLocEnd(), and clang::SourceLocation::isValid().
Reimplemented from clang::Stmt.
Definition at line 1189 of file ExprCXX.cpp.
References clang::TypeLoc::getBeginLoc(), and clang::TypeSourceInfo::getTypeLoc().
| SourceLocation clang::CXXUnresolvedConstructExpr::getLParenLoc | ( | ) | const [inline] |
| SourceLocation clang::CXXUnresolvedConstructExpr::getRParenLoc | ( | ) | const [inline] |
| QualType clang::CXXUnresolvedConstructExpr::getTypeAsWritten | ( | ) | const [inline] |
Retrieve the type that is being constructed, as specified in the source code.
Definition at line 2870 of file ExprCXX.h.
References clang::TypeSourceInfo::getType().
| TypeSourceInfo* clang::CXXUnresolvedConstructExpr::getTypeSourceInfo | ( | ) | const [inline] |
| void clang::CXXUnresolvedConstructExpr::setArg | ( | unsigned | I, |
| Expr * | E | ||
| ) | [inline] |
Definition at line 2911 of file ExprCXX.h.
References arg_begin().
| void clang::CXXUnresolvedConstructExpr::setLParenLoc | ( | SourceLocation | L | ) | [inline] |
| void clang::CXXUnresolvedConstructExpr::setRParenLoc | ( | SourceLocation | L | ) | [inline] |
friend class ASTStmtReader [friend] |
Reimplemented from clang::Stmt.