From e100fce79ab7dacbc1b13930e7cb3af5809dfdde Mon Sep 17 00:00:00 2001 From: Andrew Ferguson Date: Tue, 6 May 2008 12:08:53 +0000 Subject: [PATCH] add test for missing problems when using a template name as a type name in a declaration (see 207840) --- .../parser/tests/ast2/AST2TemplateTests.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2TemplateTests.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2TemplateTests.java index 3b00dd37ed0..ac48badf12a 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2TemplateTests.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2TemplateTests.java @@ -2459,4 +2459,28 @@ public class AST2TemplateTests extends AST2BaseTest { assertInstance(col.getName(4).getParent(), ICPPASTTemplateId.class); assertInstance(col.getName(5).getParent(), IASTIdExpression.class); } + + // // From discussion in 207840. See 14.3.4. + // class A {}; + // + // template + // class B {}; + // + // template + // class C {}; + // + // B b1; + // B<> b2; // error - no default args + // + // C c1; + // C<> c2; // ok - default args + public void _testMissingTemplateArgumentLists() throws Exception { + BindingAssertionHelper ba=new BindingAssertionHelper(getAboveComment(), true); + ba.assertProblem("B b1", 1); + ba.assertNonProblem("B<> b2", 1, ICPPTemplateDefinition.class, ICPPClassType.class); + ba.assertProblem("B<> b2", 3); + ba.assertProblem("C c1", 1); + ba.assertNonProblem("C<> c2", 1, ICPPTemplateDefinition.class, ICPPClassType.class); + ba.assertNonProblem("C<> c2", 3, ICPPTemplateInstance.class, ICPPClassType.class); + } }