ObjC++: also index ObjC symbols.

@classes, @protocols, @properties and -methods (and +methods) will now
show up in the locator.

Change-Id: I33f904c456c321fc80b8aba7ff52d5f1207c58be
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
This commit is contained in:
Erik Verbruggen
2014-07-16 16:35:03 +02:00
committed by Nikolai Kosjar
parent b8adc78615
commit 3a242495fe
5 changed files with 101 additions and 29 deletions

View File

@@ -85,12 +85,12 @@ protected:
// Objective-C
virtual bool visit(CPlusPlus::ObjCBaseClass *);
virtual bool visit(CPlusPlus::ObjCBaseProtocol *);
virtual bool visit(CPlusPlus::ObjCClass *);
virtual bool visit(CPlusPlus::ObjCClass *symbol);
virtual bool visit(CPlusPlus::ObjCForwardClassDeclaration *);
virtual bool visit(CPlusPlus::ObjCProtocol *);
virtual bool visit(CPlusPlus::ObjCProtocol *symbol);
virtual bool visit(CPlusPlus::ObjCForwardProtocolDeclaration *);
virtual bool visit(CPlusPlus::ObjCMethod *);
virtual bool visit(CPlusPlus::ObjCPropertyDeclaration *);
virtual bool visit(CPlusPlus::ObjCMethod *symbol);
virtual bool visit(CPlusPlus::ObjCPropertyDeclaration *symbol);
QString scopedSymbolName(const QString &symbolName, const CPlusPlus::Symbol *symbol) const;
QString scopedSymbolName(const CPlusPlus::Symbol *symbol) const;
@@ -99,6 +99,10 @@ protected:
const QString &symbolScope, IndexItem::ItemType type,
CPlusPlus::Symbol *symbol);
private:
template<class T> void processClass(T *clazz);
template<class T> void processFunction(T *func);
private:
QString findOrInsert(const QString &s)
{ return strings.insert(s); }