summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/Control.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@nokia.com>2009-08-05 18:30:18 +0200
committerErik Verbruggen <erik.verbruggen@nokia.com>2009-08-05 18:30:18 +0200
commit86a7b26fcd09c5c0510410631421956b877db840 (patch)
tree8b116f47776c64b60d182c246f9ddeab534403a7 /src/shared/cplusplus/Control.cpp
parentca34b0ca1c57a0ec0f8f61ad1b0dd4f8bfc9b554 (diff)
downloadqt-creator-86a7b26fcd09c5c0510410631421956b877db840.tar.gz
Fixed semantic checks for Objective-C methods and fast-enumeration.
Diffstat (limited to 'src/shared/cplusplus/Control.cpp')
-rw-r--r--src/shared/cplusplus/Control.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/shared/cplusplus/Control.cpp b/src/shared/cplusplus/Control.cpp
index 96a6719611..b065afde3c 100644
--- a/src/shared/cplusplus/Control.cpp
+++ b/src/shared/cplusplus/Control.cpp
@@ -125,6 +125,7 @@ public:
delete_array_entries(objcProtocols);
delete_array_entries(objcForwardClassDeclarations);
delete_array_entries(objcForwardProtocolDeclarations);
+ delete_array_entries(objcMethods);
}
NameId *findOrInsertNameId(Identifier *id)
@@ -368,6 +369,13 @@ public:
return fwd;
}
+ ObjCMethod *newObjCMethod(unsigned sourceLocation, Name *name)
+ {
+ ObjCMethod *method = new ObjCMethod(translationUnit, sourceLocation, name);
+ objcMethods.push_back(method);
+ return method;
+ }
+
Enum *newEnum(unsigned sourceLocation, Name *name)
{
Enum *e = new Enum(translationUnit,
@@ -549,6 +557,7 @@ public:
std::vector<ObjCProtocol *> objcProtocols;
std::vector<ObjCForwardClassDeclaration *> objcForwardClassDeclarations;
std::vector<ObjCForwardProtocolDeclaration *> objcForwardProtocolDeclarations;
+ std::vector<ObjCMethod *> objcMethods;
};
Control::Control()
@@ -726,4 +735,7 @@ ObjCProtocol *Control::newObjCProtocol(unsigned sourceLocation, Name *name)
ObjCForwardProtocolDeclaration *Control::newObjCForwardProtocolDeclaration(unsigned sourceLocation, Name *name)
{ return d->newObjCForwardProtocolDeclaration(sourceLocation, name); }
+ObjCMethod *Control::newObjCMethod(unsigned sourceLocation, Name *name)
+{ return d->newObjCMethod(sourceLocation, name); }
+
CPLUSPLUS_END_NAMESPACE