diff options
Diffstat (limited to 'core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java')
-rw-r--r-- | core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java index 4d744a4a26f..822b794a9ce 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java @@ -361,13 +361,13 @@ public class CPPSemantics { } } - if (binding instanceof ICPPClassType) { - if (convertClassToConstructor(data.astName)) { - if (binding instanceof IIndexBinding) { - binding= data.tu.mapToAST((ICPPClassType) binding); + if (binding instanceof IType) { + IType t = getNestedType((IType) binding, TDEF); + if (t instanceof ICPPClassType && convertClassToConstructor(data.astName)) { + ICPPClassType cls= (ICPPClassType) t; + if (cls instanceof IIndexBinding) { + cls= data.tu.mapToAST(cls); } - ICPPClassType cls= (ICPPClassType) binding; - try { if (data.astName instanceof ICPPASTTemplateId && cls instanceof ICPPClassTemplate) { if (data.tu != null) { |