clang API Documentation
#include <ExprCXX.h>


Public Member Functions | |
| CXXMemberCallExpr (ASTContext &C, Expr *fn, Expr **args, unsigned numargs, QualType t, ExprValueKind VK, SourceLocation RP) | |
| CXXMemberCallExpr (ASTContext &C, EmptyShell Empty) | |
| Expr * | getImplicitObjectArgument () const |
| CXXMethodDecl * | getMethodDecl () const |
| Retrieves the declaration of the called method. | |
| CXXRecordDecl * | getRecordDecl () |
Static Public Member Functions | |
| static bool | classof (const Stmt *T) |
| static bool | classof (const CXXMemberCallExpr *) |
CXXMemberCallExpr - Represents a call to a member function that may be written either with member call syntax (e.g., "obj.func()" or "objptr->func()") or with normal function-call syntax ("func()") within a member function that ends up calling a member function. The callee in either case is a MemberExpr that contains both the object argument and the member function, while the arguments are the arguments within the parentheses (not including the object argument).
| clang::CXXMemberCallExpr::CXXMemberCallExpr | ( | ASTContext & | C, |
| Expr * | fn, | ||
| Expr ** | args, | ||
| unsigned | numargs, | ||
| QualType | t, | ||
| ExprValueKind | VK, | ||
| SourceLocation | RP | ||
| ) | [inline] |
| clang::CXXMemberCallExpr::CXXMemberCallExpr | ( | ASTContext & | C, |
| EmptyShell | Empty | ||
| ) | [inline] |
| static bool clang::CXXMemberCallExpr::classof | ( | const Stmt * | T | ) | [inline, static] |
Reimplemented from clang::CallExpr.
Definition at line 116 of file ExprCXX.h.
References clang::Stmt::getStmtClass().
| static bool clang::CXXMemberCallExpr::classof | ( | const CXXMemberCallExpr * | ) | [inline, static] |
| Expr * CXXMemberCallExpr::getImplicitObjectArgument | ( | ) | const |
getImplicitObjectArgument - Retrieves the implicit object argument for the member call. For example, in "x.f(5)", this operation would return "x".
Definition at line 438 of file ExprCXX.cpp.
References clang::CallExpr::getCallee(), and clang::Expr::IgnoreParens().
Referenced by getRecordDecl().
| CXXMethodDecl * CXXMemberCallExpr::getMethodDecl | ( | ) | const |
Retrieves the declaration of the called method.
Definition at line 447 of file ExprCXX.cpp.
References clang::CallExpr::getCallee(), and clang::Expr::IgnoreParens().
Referenced by clang::Sema::BuildCallToMemberFunction().
| CXXRecordDecl * CXXMemberCallExpr::getRecordDecl | ( | ) |
getRecordDecl - Retrieves the CXXRecordDecl for the underlying type of the implicit object argument. Note that this is may not be the same declaration as that of the class context of the CXXMethodDecl which this function is calling. FIXME: Returns 0 for member pointer call exprs.
Definition at line 457 of file ExprCXX.cpp.
References getImplicitObjectArgument(), and clang::Expr::getType().