[cfe-commits] r42472 - in /cfe/trunk/Sema: Sema.h SemaDecl.cpp
Fariborz Jahanian
fjahanian at apple.com
Sat Sep 29 10:14:57 PDT 2007
Author: fjahanian
Date: Sat Sep 29 12:14:55 2007
New Revision: 42472
URL: http://llvm.org/viewvc/llvm-project?rev=42472&view=rev
Log:
Code clean up. Moved couple of static functions to be private members of Sema class.
Avoiding passing a Sema object to these utility functions.
Modified:
cfe/trunk/Sema/Sema.h
cfe/trunk/Sema/SemaDecl.cpp
Modified: cfe/trunk/Sema/Sema.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/Sema/Sema.h?rev=42472&r1=42471&r2=42472&view=diff
==============================================================================
--- cfe/trunk/Sema/Sema.h (original)
+++ cfe/trunk/Sema/Sema.h Sat Sep 29 12:14:55 2007
@@ -48,6 +48,7 @@
class TypedefDecl;
class ObjcInterfaceDecl;
class ObjcProtocolDecl;
+ class ObjcImplementationDecl;
/// Sema - This implements semantic analysis and AST building for C.
class Sema : public Action {
@@ -207,6 +208,17 @@
QualType HandleVectorTypeAttribute(QualType curType, AttributeList *rawAttr);
void HandleOCUVectorTypeAttribute(TypedefDecl *d, AttributeList *rawAttr);
+ /// CheckProtocolMethodDefs - This routine checks unimpletented methods
+ /// Declared in protocol, and those referenced by it.
+ void CheckProtocolMethodDefs(ObjcProtocolDecl *PDecl,
+ const llvm::DenseMap<void *, char>& InsMap,
+ const llvm::DenseMap<void *, char>& ClsMap);
+
+ /// ImplMethodsVsClassMethods - This is main routine to warn if any method
+ /// remains unimplemented in the @implementation class.
+ void ImplMethodsVsClassMethods(ObjcImplementationDecl* IMPDecl,
+ ObjcInterfaceDecl* IDecl);
+
//===--------------------------------------------------------------------===//
// Statement Parsing Callbacks: SemaStmt.cpp.
public:
Modified: cfe/trunk/Sema/SemaDecl.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/Sema/SemaDecl.cpp?rev=42472&r1=42471&r2=42472&view=diff
==============================================================================
--- cfe/trunk/Sema/SemaDecl.cpp (original)
+++ cfe/trunk/Sema/SemaDecl.cpp Sat Sep 29 12:14:55 2007
@@ -1189,8 +1189,7 @@
/// CheckProtocolMethodDefs - This routine checks unimpletented methods
/// Declared in protocol, and those referenced by it.
-///
-static void CheckProtocolMethodDefs(Sema* objSema, ObjcProtocolDecl *PDecl,
+void Sema::CheckProtocolMethodDefs(ObjcProtocolDecl *PDecl,
const llvm::DenseMap<void *, char>& InsMap,
const llvm::DenseMap<void *, char>& ClsMap) {
// check unimplemented instance methods.
@@ -1198,27 +1197,26 @@
for (int j = 0; j < PDecl->getNumInsMethods(); j++)
if (!InsMap.count(methods[j]->getSelector().getAsOpaquePtr())) {
llvm::SmallString<128> buf;
- objSema->Diag(methods[j]->getLocation(), diag::warn_undef_method_impl,
- methods[j]->getSelector().getName(buf));
+ Diag(methods[j]->getLocation(), diag::warn_undef_method_impl,
+ methods[j]->getSelector().getName(buf));
}
// check unimplemented class methods
methods = PDecl->getClsMethods();
for (int j = 0; j < PDecl->getNumClsMethods(); j++)
if (!ClsMap.count(methods[j]->getSelector().getAsOpaquePtr())) {
llvm::SmallString<128> buf;
- objSema->Diag(methods[j]->getLocation(), diag::warn_undef_method_impl,
- methods[j]->getSelector().getName(buf));
+ Diag(methods[j]->getLocation(), diag::warn_undef_method_impl,
+ methods[j]->getSelector().getName(buf));
}
// Check on this protocols's referenced protocols, recursively
ObjcProtocolDecl** RefPDecl = PDecl->getReferencedProtocols();
for (int i = 0; i < PDecl->getNumReferencedProtocols(); i++)
- CheckProtocolMethodDefs(objSema, RefPDecl[i], InsMap, ClsMap);
+ CheckProtocolMethodDefs(RefPDecl[i], InsMap, ClsMap);
}
-static void ImplMethodsVsClassMethods(Sema* objSema,
- ObjcImplementationDecl* IMPDecl,
- ObjcInterfaceDecl* IDecl) {
+void Sema::ImplMethodsVsClassMethods(ObjcImplementationDecl* IMPDecl,
+ ObjcInterfaceDecl* IDecl) {
llvm::DenseMap<void *, char> InsMap;
// Check and see if instance methods in class interface have been
// implemented in the implementation class.
@@ -1231,8 +1229,8 @@
for (int j = 0; j < IDecl->getNumInsMethods(); j++)
if (!InsMap.count(methods[j]->getSelector().getAsOpaquePtr())) {
llvm::SmallString<128> buf;
- objSema->Diag(methods[j]->getLocation(), diag::warn_undef_method_impl,
- methods[j]->getSelector().getName(buf));
+ Diag(methods[j]->getLocation(), diag::warn_undef_method_impl,
+ methods[j]->getSelector().getName(buf));
}
llvm::DenseMap<void *, char> ClsMap;
// Check and see if class methods in class interface have been
@@ -1246,8 +1244,8 @@
for (int j = 0; j < IDecl->getNumClsMethods(); j++)
if (!ClsMap.count(methods[j]->getSelector().getAsOpaquePtr())) {
llvm::SmallString<128> buf;
- objSema->Diag(methods[j]->getLocation(), diag::warn_undef_method_impl,
- methods[j]->getSelector().getName(buf));
+ Diag(methods[j]->getLocation(), diag::warn_undef_method_impl,
+ methods[j]->getSelector().getName(buf));
}
// Check the protocol list for unimplemented methods in the @implementation
@@ -1255,7 +1253,7 @@
ObjcProtocolDecl** protocols = IDecl->getIntfRefProtocols();
for (int i = 0; i < IDecl->getNumIntfRefProtocols(); i++) {
ObjcProtocolDecl* PDecl = protocols[i];
- CheckProtocolMethodDefs(objSema, PDecl, InsMap, ClsMap);
+ CheckProtocolMethodDefs(PDecl, InsMap, ClsMap);
}
return;
}
@@ -1655,7 +1653,7 @@
ObjcInterfaceDecl* IDecl = getObjCInterfaceDecl(S,
ImplClass->getIdentifier(), SourceLocation());
if (IDecl)
- ImplMethodsVsClassMethods(this, ImplClass, IDecl);
+ ImplMethodsVsClassMethods(ImplClass, IDecl);
}
else
assert(0 && "Sema::ObjcAddMethodsToClass(): Unknown DeclTy");
More information about the cfe-commits
mailing list