forked from qt-creator/qt-creator
C++: Handle recursive auto declarations
Remember auto declarations we have already looked up and stop if we try it again. Task-number: QTCREATORBUG-9503 Change-Id: I989b11609c98bf197ce916d79c9d452294355053 Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
This commit is contained in:
@@ -43,7 +43,9 @@ namespace CPlusPlus {
|
||||
class CPLUSPLUS_EXPORT ResolveExpression: protected ASTVisitor
|
||||
{
|
||||
public:
|
||||
ResolveExpression(const LookupContext &context);
|
||||
ResolveExpression(const LookupContext &context,
|
||||
const QSet<const Declaration *> &autoDeclarationsBeingResolved
|
||||
= QSet<const Declaration *>());
|
||||
virtual ~ResolveExpression();
|
||||
|
||||
QList<LookupItem> operator()(ExpressionAST *ast, Scope *scope);
|
||||
@@ -126,6 +128,7 @@ private:
|
||||
const LookupContext& _context;
|
||||
Bind bind;
|
||||
QList<LookupItem> _results;
|
||||
QSet<const Declaration *> _autoDeclarationsBeingResolved;
|
||||
bool _reference;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user