From c5b46572201eb37f210e31bcd79e09ad7f2af9e9 Mon Sep 17 00:00:00 2001 From: Michael Woski Date: Mon, 4 Sep 2017 12:12:49 +0200 Subject: [PATCH] bug 521820 - don't filter alias template for CPPASTNamedTypeSpecifier Change-Id: Ie66b148aabaf7f73bb639359c46d3d2d974c305f Signed-off-by: Michael Woski --- .../parser/cpp/CPPASTNamedTypeSpecifier.java | 2 ++ .../text/contentassist2/CompletionTests.java | 21 +++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNamedTypeSpecifier.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNamedTypeSpecifier.java index 310bde8672e..5938d6d04f2 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNamedTypeSpecifier.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNamedTypeSpecifier.java @@ -20,6 +20,7 @@ import org.eclipse.cdt.core.dom.ast.ICPPASTCompletionContext; import org.eclipse.cdt.core.dom.ast.IEnumeration; import org.eclipse.cdt.core.dom.ast.ITypedef; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamedTypeSpecifier; +import org.eclipse.cdt.core.dom.ast.cpp.ICPPAliasTemplate; import org.eclipse.cdt.core.dom.ast.cpp.ICPPClassType; import org.eclipse.cdt.core.dom.ast.cpp.ICPPNamespace; import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateTypeParameter; @@ -123,6 +124,7 @@ public class CPPASTNamedTypeSpecifier extends CPPASTBaseDeclSpecifier || binding instanceof IEnumeration || binding instanceof ICPPNamespace || binding instanceof ITypedef + || binding instanceof ICPPAliasTemplate || binding instanceof ICPPTemplateTypeParameter) { if (i != j) bindings[j] = binding; diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTests.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTests.java index 8902a93084a..46147abbacd 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTests.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTests.java @@ -1910,4 +1910,25 @@ public class CompletionTests extends CompletionTestBase { public void testInheritingConstructor_511653() throws Exception { assertCompletionResults(new String[] { "A;" }); } + + // template + // struct A { + // + // struct Hello{}; + // + // }; + // + // struct B { + // + // template + // using Test = A; + // + // void main() { + // Te/*cursor*/ + // } + // + // }; + public void testAliasTemplateTypeSpecifier_521820() throws Exception { + assertCompletionResults(new String[] { "Test<>" }); + } }