summaryrefslogtreecommitdiff
path: root/src/libs/cplusplus/ResolveExpression.h
diff options
context:
space:
mode:
authorPrzemyslaw Gorszkowski <pgorszkowski@gmail.com>2013-06-18 23:05:57 +0200
committerNikolai Kosjar <nikolai.kosjar@digia.com>2013-08-05 10:50:38 +0200
commitbfbf93e64f91630d7fad0bad1c4d38898ed5086b (patch)
tree6b5353d4e2bd383d839e5abf3af7587fa474472a /src/libs/cplusplus/ResolveExpression.h
parent62af8171754f8ec892a609ba7434928793026731 (diff)
downloadqt-creator-bfbf93e64f91630d7fad0bad1c4d38898ed5086b.tar.gz
C++: fix auto completion for template parameters
Fix auto completion for the case when template parameter should be found somewhere of scope of template instantiation declaration. Example: struct A { void foo(); struct B { int b; }; }; template<typename T> struct Template { T* get() { return 0; } T t; }; void A::foo() { Template<B> templ; templ.get()->//no autocompletion templ.t.//no autocompletion } Task-number: QTCREATORBUG-8852 Task-number: QTCREATORBUG-9169 Change-Id: I56b40776e66740f995ae6fc5d69e3c50139a3af2 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Diffstat (limited to 'src/libs/cplusplus/ResolveExpression.h')
-rw-r--r--src/libs/cplusplus/ResolveExpression.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libs/cplusplus/ResolveExpression.h b/src/libs/cplusplus/ResolveExpression.h
index b261dc39a2..79f843107c 100644
--- a/src/libs/cplusplus/ResolveExpression.h
+++ b/src/libs/cplusplus/ResolveExpression.h
@@ -71,7 +71,7 @@ protected:
void thisObject();
- void addResult(const FullySpecifiedType &ty, Scope *scope);
+ void addResult(const FullySpecifiedType &ty, Scope *scope, ClassOrNamespace *binding = 0);
void addResults(const QList<Symbol *> &symbols);
void addResults(const QList<LookupItem> &items);
@@ -126,6 +126,10 @@ protected:
private:
+ ClassOrNamespace *findClassForTemplateParameterInExpressionScope(
+ ClassOrNamespace *resultBinding,
+ const FullySpecifiedType &ty) const;
+
Scope *_scope;
const LookupContext& _context;
Bind bind;