summaryrefslogtreecommitdiff
path: root/src/libs/cplusplus/LookupContext.h
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@digia.com>2013-06-11 10:22:10 +0200
committerNikolai Kosjar <nikolai.kosjar@digia.com>2013-06-11 16:30:58 +0200
commit50a900e509be2e1f448f29be126ba3b7f8173901 (patch)
tree6dd872f08066a0ae492745669b6c026c4e99bac1 /src/libs/cplusplus/LookupContext.h
parent8f1b6656677344e9ca4b6798ddd900725c478b16 (diff)
downloadqt-creator-50a900e509be2e1f448f29be126ba3b7f8173901.tar.gz
C++: Handle recursive using/typedef declarations
Remember using/typedef declarations we have already looked up and stop if we try it again. Change-Id: I91bf0aef4df18539a47d015f0113543aef1f692a Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Diffstat (limited to 'src/libs/cplusplus/LookupContext.h')
-rw-r--r--src/libs/cplusplus/LookupContext.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libs/cplusplus/LookupContext.h b/src/libs/cplusplus/LookupContext.h
index 921c605b14..37b6f339b9 100644
--- a/src/libs/cplusplus/LookupContext.h
+++ b/src/libs/cplusplus/LookupContext.h
@@ -289,7 +289,9 @@ public:
QList<LookupItem> lookup(const Name *name, Scope *scope) const;
ClassOrNamespace *lookupType(const Name *name, Scope *scope,
- ClassOrNamespace* enclosingTemplateInstantiation = 0) const;
+ ClassOrNamespace* enclosingTemplateInstantiation = 0,
+ QSet<const Declaration *> typedefsBeingResolved
+ = QSet<const Declaration *>()) const;
ClassOrNamespace *lookupType(Symbol *symbol,
ClassOrNamespace* enclosingTemplateInstantiation = 0) const;
ClassOrNamespace *lookupParent(Symbol *symbol) const;