summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/Symbol.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@nokia.com>2009-11-11 09:21:06 +0100
committerErik Verbruggen <erik.verbruggen@nokia.com>2009-11-11 09:21:06 +0100
commit72d4493fc21535f1f2720106e28ae3a6980851f5 (patch)
tree5bbd70967e7fd1e692c3cbfed9f389269025b9e3 /src/shared/cplusplus/Symbol.cpp
parent7938f9def974898bb8d05e98c4b59d983a887d79 (diff)
downloadqt-creator-72d4493fc21535f1f2720106e28ae3a6980851f5.tar.gz
Added scope calculation for Objective-C classes.
Diffstat (limited to 'src/shared/cplusplus/Symbol.cpp')
-rw-r--r--src/shared/cplusplus/Symbol.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/shared/cplusplus/Symbol.cpp b/src/shared/cplusplus/Symbol.cpp
index c04df48baf..6cd6573aa6 100644
--- a/src/shared/cplusplus/Symbol.cpp
+++ b/src/shared/cplusplus/Symbol.cpp
@@ -104,6 +104,9 @@ protected:
virtual void visit(QualifiedNameId *name)
{ _value = operator()(name->unqualifiedNameId()); }
+ virtual void visit(SelectorNameId *name)
+ { _value = name->identifier()->hashCode(); }
+
private:
unsigned _value;
};
@@ -151,6 +154,9 @@ protected:
virtual void visit(QualifiedNameId *name)
{ _identity = name->unqualifiedNameId(); }
+ virtual void visit(SelectorNameId *name)
+ { _identity = name; }
+
private:
Name *_identity;
};
@@ -461,6 +467,12 @@ bool Symbol::isArgument() const
bool Symbol::isBaseClass() const
{ return asBaseClass() != 0; }
+bool Symbol::isObjCBaseClass() const
+{ return asObjCBaseClass() != 0; }
+
+bool Symbol::isObjCBaseProtocol() const
+{ return asObjCBaseProtocol() != 0; }
+
bool Symbol::isObjCClass() const
{ return asObjCClass() != 0; }