Took care of clatter's suggestions, dated.
September 30, 2007 12:36:58 AM PDT and
September 30, 2007 12:50:05 AM PDT
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42490 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Sema/SemaDecl.cpp b/Sema/SemaDecl.cpp
index cc34463..7cf76f5 100644
--- a/Sema/SemaDecl.cpp
+++ b/Sema/SemaDecl.cpp
@@ -1439,25 +1439,16 @@
return NewFD;
}
-static void ObjcSetIvarVisibility(ObjcIvarDecl *OIvar,
- tok::ObjCKeywordKind ivarVisibility) {
- assert(OIvar && "missing instance variable");
+/// TranslateIvarVisibility - Translate visibility from a token ID to an
+/// AST enum value.
+static ObjcIvarDecl::AccessControl
+TranslateIvarVisibility(tok::ObjCKeywordKind ivarVisibility) {
switch (ivarVisibility) {
- case tok::objc_private:
- OIvar->setAccessControl(ObjcIvarDecl::Private);
- break;
- case tok::objc_public:
- OIvar->setAccessControl(ObjcIvarDecl::Public);
- break;
- case tok::objc_protected:
- OIvar->setAccessControl(ObjcIvarDecl::Protected);
- break;
- case tok::objc_package:
- OIvar->setAccessControl(ObjcIvarDecl::Package);
- break;
- default:
- OIvar->setAccessControl(ObjcIvarDecl::None);
- break;
+ case tok::objc_private: return ObjcIvarDecl::Private;
+ case tok::objc_public: return ObjcIvarDecl::Public;
+ case tok::objc_protected: return ObjcIvarDecl::Protected;
+ case tok::objc_package: return ObjcIvarDecl::Package;
+ default: assert(false && "Unknown visitibility kind");
}
}
@@ -1498,7 +1489,8 @@
// If we have visibility info, make sure the AST is set accordingly.
if (visibility)
- ObjcSetIvarVisibility(dyn_cast<ObjcIvarDecl>(FD), visibility[i]);
+ cast<ObjcIvarDecl>(FD)->setAccessControl(
+ TranslateIvarVisibility(visibility[i]));
// C99 6.7.2.1p2 - A field may not be a function type.
if (FDTy->isFunctionType()) {