clang API Documentation

clang::ObjCImplicitSetterGetterRefExpr Class Reference

#include <ExprObjC.h>

Inheritance diagram for clang::ObjCImplicitSetterGetterRefExpr:
Inheritance graph
[legend]
Collaboration diagram for clang::ObjCImplicitSetterGetterRefExpr:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ObjCImplicitSetterGetterRefExpr (ObjCMethodDecl *getter, QualType t, ExprValueKind VK, ExprObjectKind OK, ObjCMethodDecl *setter, SourceLocation l, Expr *base)
 ObjCImplicitSetterGetterRefExpr (ObjCMethodDecl *getter, QualType t, ExprValueKind VK, ExprObjectKind OK, ObjCMethodDecl *setter, SourceLocation l, SourceLocation sl, QualType st)
 ObjCImplicitSetterGetterRefExpr (ObjCMethodDecl *getter, QualType t, ExprValueKind VK, ExprObjectKind OK, ObjCMethodDecl *setter, SourceLocation l, ObjCInterfaceDecl *C, SourceLocation CL)
 ObjCImplicitSetterGetterRefExpr (EmptyShell Empty)
ObjCMethodDeclgetGetterMethod () const
ObjCMethodDeclgetSetterMethod () const
ObjCInterfaceDeclgetInterfaceDecl () const
void setGetterMethod (ObjCMethodDecl *D)
void setSetterMethod (ObjCMethodDecl *D)
void setInterfaceDecl (ObjCInterfaceDecl *D)
virtual SourceRange getSourceRange () const
const ExprgetBase () const
ExprgetBase ()
void setBase (Expr *base)
SourceLocation getLocation () const
void setLocation (SourceLocation L)
SourceLocation getClassLoc () const
void setClassLoc (SourceLocation L)
SourceLocation getSuperLocation () const
QualType getSuperType () const
bool isSuperReceiver () const
 When the receiver in dot-syntax expression is 'super', this method returns true if both Base expression and Interface are null.
virtual child_iterator child_begin ()
virtual child_iterator child_end ()

Static Public Member Functions

static bool classof (const Stmt *T)
static bool classof (const ObjCImplicitSetterGetterRefExpr *)

Friends

class ASTStmtReader

Detailed Description

ObjCImplicitSetterGetterRefExpr - A dot-syntax expression to access two methods; one to set a value to an 'ivar' (Setter) and the other to access an 'ivar' (Setter). An example for use of this AST is:

  @interface Test { }
  - (Test *)crash;
  - (void)setCrash: (Test*)value;
 @end
 void  foo(Test *p1, Test *p2)
 {
    p2.crash  = p1.crash; // Uses ObjCImplicitSetterGetterRefExpr AST
 }

Definition at line 321 of file ExprObjC.h.


Constructor & Destructor Documentation

clang::ObjCImplicitSetterGetterRefExpr::ObjCImplicitSetterGetterRefExpr ( ObjCMethodDecl getter,
QualType  t,
ExprValueKind  VK,
ExprObjectKind  OK,
ObjCMethodDecl setter,
SourceLocation  l,
Expr base 
) [inline]

Definition at line 345 of file ExprObjC.h.

clang::ObjCImplicitSetterGetterRefExpr::ObjCImplicitSetterGetterRefExpr ( ObjCMethodDecl getter,
QualType  t,
ExprValueKind  VK,
ExprObjectKind  OK,
ObjCMethodDecl setter,
SourceLocation  l,
SourceLocation  sl,
QualType  st 
) [inline]

Definition at line 354 of file ExprObjC.h.

clang::ObjCImplicitSetterGetterRefExpr::ObjCImplicitSetterGetterRefExpr ( ObjCMethodDecl getter,
QualType  t,
ExprValueKind  VK,
ExprObjectKind  OK,
ObjCMethodDecl setter,
SourceLocation  l,
ObjCInterfaceDecl C,
SourceLocation  CL 
) [inline]

Definition at line 367 of file ExprObjC.h.

clang::ObjCImplicitSetterGetterRefExpr::ObjCImplicitSetterGetterRefExpr ( EmptyShell  Empty  )  [inline, explicit]

Definition at line 374 of file ExprObjC.h.


Member Function Documentation

Stmt::child_iterator ObjCImplicitSetterGetterRefExpr::child_begin (  )  [virtual]

Implements clang::Stmt.

Definition at line 2554 of file Expr.cpp.

References isSuperReceiver().

Stmt::child_iterator ObjCImplicitSetterGetterRefExpr::child_end (  )  [virtual]

Implements clang::Stmt.

Definition at line 2561 of file Expr.cpp.

References isSuperReceiver().

static bool clang::ObjCImplicitSetterGetterRefExpr::classof ( const ObjCImplicitSetterGetterRefExpr  )  [inline, static]

Definition at line 409 of file ExprObjC.h.

static bool clang::ObjCImplicitSetterGetterRefExpr::classof ( const Stmt T  )  [inline, static]

Reimplemented from clang::Expr.

Definition at line 406 of file ExprObjC.h.

References clang::Stmt::getStmtClass().

Expr* clang::ObjCImplicitSetterGetterRefExpr::getBase (  )  [inline]

Definition at line 392 of file ExprObjC.h.

const Expr* clang::ObjCImplicitSetterGetterRefExpr::getBase (  )  const [inline]
SourceLocation clang::ObjCImplicitSetterGetterRefExpr::getClassLoc (  )  const [inline]
ObjCMethodDecl* clang::ObjCImplicitSetterGetterRefExpr::getGetterMethod (  )  const [inline]
ObjCInterfaceDecl* clang::ObjCImplicitSetterGetterRefExpr::getInterfaceDecl (  )  const [inline]
SourceLocation clang::ObjCImplicitSetterGetterRefExpr::getLocation (  )  const [inline]
ObjCMethodDecl* clang::ObjCImplicitSetterGetterRefExpr::getSetterMethod (  )  const [inline]
virtual SourceRange clang::ObjCImplicitSetterGetterRefExpr::getSourceRange (  )  const [inline, virtual]

SourceLocation tokens are not useful in isolation - they are low level value objects created/interpreted by SourceManager. We assume AST clients will have a pointer to the respective SourceManager.

Implements clang::Expr.

Definition at line 384 of file ExprObjC.h.

References getBase(), clang::Stmt::getLocStart(), getSuperLocation(), and isSuperReceiver().

SourceLocation clang::ObjCImplicitSetterGetterRefExpr::getSuperLocation (  )  const [inline]
QualType clang::ObjCImplicitSetterGetterRefExpr::getSuperType (  )  const [inline]
bool clang::ObjCImplicitSetterGetterRefExpr::isSuperReceiver (  )  const [inline]

When the receiver in dot-syntax expression is 'super', this method returns true if both Base expression and Interface are null.

Definition at line 404 of file ExprObjC.h.

Referenced by child_begin(), child_end(), clang::CodeGen::CodeGenFunction::EmitObjCPropertyGet(), and getSourceRange().

void clang::ObjCImplicitSetterGetterRefExpr::setBase ( Expr base  )  [inline]
void clang::ObjCImplicitSetterGetterRefExpr::setClassLoc ( SourceLocation  L  )  [inline]
void clang::ObjCImplicitSetterGetterRefExpr::setGetterMethod ( ObjCMethodDecl D  )  [inline]
void clang::ObjCImplicitSetterGetterRefExpr::setInterfaceDecl ( ObjCInterfaceDecl D  )  [inline]
void clang::ObjCImplicitSetterGetterRefExpr::setLocation ( SourceLocation  L  )  [inline]
void clang::ObjCImplicitSetterGetterRefExpr::setSetterMethod ( ObjCMethodDecl D  )  [inline]

Friends And Related Function Documentation

friend class ASTStmtReader [friend]

Definition at line 416 of file ExprObjC.h.


The documentation for this class was generated from the following files: