summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/Expr.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2009-08-18 20:50:23 +0000
committerFariborz Jahanian <fjahanian@apple.com>2009-08-18 20:50:23 +0000
commit88cc2340de3d8d5603acc198df12c46865c8ff2f (patch)
treef30dca275c136f7c019fd9eaa407307257eaca13 /clang/lib/AST/Expr.cpp
parent23f90c1d3aefa4bfacac04cd44153f775c4e6568 (diff)
downloadbcm5719-llvm-88cc2340de3d8d5603acc198df12c46865c8ff2f.tar.gz
bcm5719-llvm-88cc2340de3d8d5603acc198df12c46865c8ff2f.zip
Renamed ObjCKVCRefExpr to ObjCImplctSetterGetterRefExpr.
Removed an unnecessary loop to get to setters incoming argument. Added DoxyGen comments. Still more work to do in this area (WIP). llvm-svn: 79365
Diffstat (limited to 'clang/lib/AST/Expr.cpp')
-rw-r--r--clang/lib/AST/Expr.cpp32
1 files changed, 19 insertions, 13 deletions
diff --git a/clang/lib/AST/Expr.cpp b/clang/lib/AST/Expr.cpp
index ec44584585c..225f1779031 100644
--- a/clang/lib/AST/Expr.cpp
+++ b/clang/lib/AST/Expr.cpp
@@ -542,14 +542,15 @@ bool Expr::isUnusedResultAWarning(SourceLocation &Loc, SourceRange &R1,
case ObjCMessageExprClass:
return false;
- case ObjCKVCRefExprClass: { // Dot syntax for message send.
+ case ObjCImplctSetterGetterRefExprClass: { // Dot syntax for message send.
#if 0
- const ObjCKVCRefExpr *KVCRef = cast<ObjCKVCRefExpr>(this);
+ const ObjCImplctSetterGetterRefExpr *Ref =
+ cast<ObjCImplctSetterGetterRefExpr>(this);
// FIXME: We really want the location of the '.' here.
- Loc = KVCRef->getLocation();
- R1 = SourceRange(KVCRef->getLocation(), KVCRef->getLocation());
- if (KVCRef->getBase())
- R2 = KVCRef->getBase()->getSourceRange();
+ Loc = Ref->getLocation();
+ R1 = SourceRange(Ref->getLocation(), Ref->getLocation());
+ if (Ref->getBase())
+ R2 = Ref->getBase()->getSourceRange();
#else
Loc = getExprLoc();
R1 = getSourceRange();
@@ -793,7 +794,7 @@ Expr::isLvalueResult Expr::isLvalueInternal(ASTContext &Ctx) const {
return LV_Valid;
case ObjCPropertyRefExprClass: // FIXME: check if read-only property.
return LV_Valid;
- case ObjCKVCRefExprClass: // FIXME: check if read-only property.
+ case ObjCImplctSetterGetterRefExprClass: // FIXME: check if read-only property.
return LV_Valid;
case PredefinedExprClass:
return LV_Valid;
@@ -914,9 +915,10 @@ Expr::isModifiableLvalue(ASTContext &Ctx, SourceLocation *Loc) const {
}
// Assigning to an 'implicit' property?
- else if (isa<ObjCKVCRefExpr>(this)) {
- const ObjCKVCRefExpr* KVCExpr = cast<ObjCKVCRefExpr>(this);
- if (KVCExpr->getSetterMethod() == 0)
+ else if (isa<ObjCImplctSetterGetterRefExpr>(this)) {
+ const ObjCImplctSetterGetterRefExpr* Expr =
+ cast<ObjCImplctSetterGetterRefExpr>(this);
+ if (Expr->getSetterMethod() == 0)
return MLV_NoSetterProperty;
}
return MLV_Valid;
@@ -1861,9 +1863,13 @@ Stmt::child_iterator ObjCIvarRefExpr::child_end() { return &Base+1; }
Stmt::child_iterator ObjCPropertyRefExpr::child_begin() { return &Base; }
Stmt::child_iterator ObjCPropertyRefExpr::child_end() { return &Base+1; }
-// ObjCKVCRefExpr
-Stmt::child_iterator ObjCKVCRefExpr::child_begin() { return &Base; }
-Stmt::child_iterator ObjCKVCRefExpr::child_end() { return &Base+1; }
+// ObjCImplctSetterGetterRefExpr
+Stmt::child_iterator ObjCImplctSetterGetterRefExpr::child_begin() {
+ return &Base;
+}
+Stmt::child_iterator ObjCImplctSetterGetterRefExpr::child_end() {
+ return &Base+1;
+}
// ObjCSuperExpr
Stmt::child_iterator ObjCSuperExpr::child_begin() { return child_iterator(); }
OpenPOWER on IntegriCloud