summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/Control.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@nokia.com>2009-10-05 18:02:01 +0200
committerErik Verbruggen <erik.verbruggen@nokia.com>2009-10-05 18:02:01 +0200
commitf1e665463b221ff33d714d55683033afdaf46576 (patch)
treea580aec2664c9977be748d6f93c7d295bb854a50 /src/shared/cplusplus/Control.cpp
parentb43f279227e7eb074f68f2222a908c568b1e749e (diff)
downloadqt-creator-f1e665463b221ff33d714d55683033afdaf46576.tar.gz
Added protocol & class definedness checks, and added property attribute checks.
Diffstat (limited to 'src/shared/cplusplus/Control.cpp')
-rw-r--r--src/shared/cplusplus/Control.cpp24
1 files changed, 24 insertions, 0 deletions
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<Enum *> enums;
std::vector<UsingDeclaration *> usingDeclarations;
std::vector<ForwardClassDeclaration *> classForwardDeclarations;
+ std::vector<ObjCBaseClass *> objcBaseClasses;
+ std::vector<ObjCBaseProtocol *> objcBaseProtocols;
std::vector<ObjCClass *> objcClasses;
std::vector<ObjCProtocol *> objcProtocols;
std::vector<ObjCForwardClassDeclaration *> 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); }