Highlight local and member symbols.

This commit is contained in:
Roberto Raggi
2010-07-15 16:03:48 +02:00
parent cc3179ef03
commit 9b24e0ae2a
7 changed files with 503 additions and 256 deletions

View File

@@ -87,6 +87,9 @@ protected:
void addTypeUsage(const QList<Symbol *> &candidates, NameAST *ast);
void addTypeUsage(const Use &use);
void checkMemberName(NameAST *ast);
void addMemberUsage(const QList<Symbol *> &candidates, NameAST *ast);
virtual bool preVisit(AST *);
virtual bool visit(NamespaceAST *);
@@ -105,6 +108,9 @@ protected:
virtual bool visit(TypenameTypeParameterAST *ast);
virtual bool visit(TemplateTypeParameterAST *ast);
virtual bool visit(FunctionDefinitionAST *ast);
virtual bool visit(MemberAccessAST *ast);
unsigned startOfTemplateDeclaration(TemplateDeclarationAST *ast) const;
Scope *findScope(AST *ast) const;
@@ -116,8 +122,10 @@ private:
QString _fileName;
QList<Document::DiagnosticMessage> _diagnosticMessages;
QSet<QByteArray> _potentialTypes;
QSet<QByteArray> _potentialMembers;
QList<ScopedSymbol *> _scopes;
QList<TemplateDeclarationAST *> _templateDeclarationStack;
QList<FunctionDefinitionAST *> _functionDefinitionStack;
QVector<Use> _typeUsages;
bool _flushRequested;
unsigned _flushLine;