From f1e665463b221ff33d714d55683033afdaf46576 Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Mon, 5 Oct 2009 18:02:01 +0200 Subject: Added protocol & class definedness checks, and added property attribute checks. --- src/shared/cplusplus/Control.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/shared/cplusplus/Control.cpp') diff --git a/src/shared/cplusplus/Control.cpp b/src/shared/cplusplus/Control.cpp index 07e46fd1ae..6338d99fd2 100644 --- a/src/shared/cplusplus/Control.cpp +++ b/src/shared/cplusplus/Control.cpp @@ -128,6 +128,8 @@ public: delete_array_entries(enums); delete_array_entries(usingDeclarations); delete_array_entries(classForwardDeclarations); + delete_array_entries(objcBaseClasses); + delete_array_entries(objcBaseProtocols); delete_array_entries(objcClasses); delete_array_entries(objcProtocols); delete_array_entries(objcForwardClassDeclarations); @@ -348,6 +350,20 @@ public: return c; } + ObjCBaseClass *newObjCBaseClass(unsigned sourceLocation, Name *name) + { + ObjCBaseClass *c = new ObjCBaseClass(translationUnit, sourceLocation, name); + objcBaseClasses.push_back(c); + return c; + } + + ObjCBaseProtocol *newObjCBaseProtocol(unsigned sourceLocation, Name *name) + { + ObjCBaseProtocol *p = new ObjCBaseProtocol(translationUnit, sourceLocation, name); + objcBaseProtocols.push_back(p); + return p; + } + ObjCClass *newObjCClass(unsigned sourceLocation, Name *name) { ObjCClass *c = new ObjCClass(translationUnit, sourceLocation, name); @@ -561,6 +577,8 @@ public: std::vector enums; std::vector usingDeclarations; std::vector classForwardDeclarations; + std::vector objcBaseClasses; + std::vector objcBaseProtocols; std::vector objcClasses; std::vector objcProtocols; std::vector objcForwardClassDeclarations; @@ -740,6 +758,12 @@ ForwardClassDeclaration *Control::newForwardClassDeclaration(unsigned sourceLoca Name *name) { return d->newForwardClassDeclaration(sourceLocation, name); } +ObjCBaseClass *Control::newObjCBaseClass(unsigned sourceLocation, Name *name) +{ return d->newObjCBaseClass(sourceLocation, name); } + +ObjCBaseProtocol *Control::newObjCBaseProtocol(unsigned sourceLocation, Name *name) +{ return d->newObjCBaseProtocol(sourceLocation, name); } + ObjCClass *Control::newObjCClass(unsigned sourceLocation, Name *name) { return d->newObjCClass(sourceLocation, name); } -- cgit v1.2.1