Added scope calculation for Objective-C classes.

This commit is contained in:
Erik Verbruggen
2009-11-11 09:21:06 +01:00
parent 7938f9def9
commit 72d4493fc2
17 changed files with 513 additions and 28 deletions

View File

@@ -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