Some cleanup, change diagnostic when assigning to
a property which is not lvalue.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98848 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp
index 1b3202d..a62dbc9 100644
--- a/lib/AST/Expr.cpp
+++ b/lib/AST/Expr.cpp
@@ -1104,11 +1104,11 @@
     if (m->isArrow())
       return LV_Valid;
     Expr *BaseExp = m->getBase();
-    if (BaseExp->getStmtClass() == ObjCPropertyRefExprClass)
+    if (BaseExp->getStmtClass() == ObjCPropertyRefExprClass ||
+        BaseExp->getStmtClass() == ObjCImplicitSetterGetterRefExprClass)
           return LV_SubObjCPropertySetting;
     return 
-      (BaseExp->getStmtClass() == ObjCImplicitSetterGetterRefExprClass) ?
-       LV_SubObjCPropertyGetterSetting : BaseExp->isLvalue(Ctx);        
+       BaseExp->isLvalue(Ctx);        
   }
   case UnaryOperatorClass:
     if (cast<UnaryOperator>(this)->getOpcode() == UnaryOperator::Deref)
@@ -1324,8 +1324,6 @@
     return MLV_InvalidExpression;
   case LV_MemberFunction: return MLV_MemberFunction;
   case LV_SubObjCPropertySetting: return MLV_SubObjCPropertySetting;
-  case LV_SubObjCPropertyGetterSetting: 
-    return MLV_SubObjCPropertyGetterSetting;
   case LV_ClassTemporary:
     return MLV_ClassTemporary;
   }