summaryrefslogtreecommitdiff
path: root/src/libs/cplusplus/ResolveExpression.h
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/libs/cplusplus/ResolveExpression.h
parent7938f9def974898bb8d05e98c4b59d983a887d79 (diff)
downloadqt-creator-72d4493fc21535f1f2720106e28ae3a6980851f5.tar.gz
Added scope calculation for Objective-C classes.
Diffstat (limited to 'src/libs/cplusplus/ResolveExpression.h')
-rw-r--r--src/libs/cplusplus/ResolveExpression.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/libs/cplusplus/ResolveExpression.h b/src/libs/cplusplus/ResolveExpression.h
index 34541e9f45..adda2716c3 100644
--- a/src/libs/cplusplus/ResolveExpression.h
+++ b/src/libs/cplusplus/ResolveExpression.h
@@ -61,6 +61,8 @@ public:
QList<Result> resolveMember(Name *memberName, Class *klass,
Name *className = 0) const;
+ QList<Result> resolveMember(Name *memberName, ObjCClass *klass) const;
+
protected:
QList<Result> switchResults(const QList<Result> &symbols);
@@ -109,6 +111,9 @@ protected:
virtual bool visit(PostIncrDecrAST *ast);
virtual bool visit(MemberAccessAST *ast);
+ // Objective-C expressions
+ virtual bool visit(ObjCMessageExpressionAST *ast);
+
QList<Scope *> visibleScopes(const Result &result) const;
private:
@@ -136,6 +141,16 @@ private:
QList<ResolveExpression::Result> _blackList;
};
+class CPLUSPLUS_EXPORT ResolveObjCClass
+{
+public:
+ ResolveObjCClass();
+
+ QList<Symbol *> operator()(Name *name,
+ const ResolveExpression::Result &p,
+ const LookupContext &context);
+};
+
} // end of namespace CPlusPlus