From 0fb210a8fe7c96b67b76846b9556ead8d4b66610 Mon Sep 17 00:00:00 2001 From: Markus Schorn Date: Wed, 14 May 2008 11:05:13 +0000 Subject: [PATCH] Bindings for method-definitions of class templates with non-type parameters, bug 231868. --- .../parser/tests/ast2/AST2TemplateTests.java | 18 ++++++++++++++++++ 1 file changed, 18 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 70c17308adf..667465fe3c9 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 @@ -2487,4 +2487,22 @@ public class AST2TemplateTests extends AST2BaseTest { ba.assertNonProblem("C<> c2", 1, ICPPTemplateDefinition.class, ICPPClassType.class); ba.assertNonProblem("C<> c2", 3, ICPPTemplateInstance.class, ICPPClassType.class); } + + // template class TestClass { + // int member1; + // void fun1(void); + // }; + // template inline void TestClass::fun1(void) { + // member1 = 0; + // } + public void testDefinitionOfClassTemplateWithNonTypeParameter() throws Exception { + BindingAssertionHelper ba=new BindingAssertionHelper(getAboveComment(), true); + ICPPMethod f1= ba.assertNonProblem("fun1(void);", 4, ICPPMethod.class); + ICPPField m1= ba.assertNonProblem("member1;", 7, ICPPField.class); + ICPPMethod f2= ba.assertNonProblem("fun1(void) {", 4, ICPPMethod.class); + ICPPField m2= ba.assertNonProblem("member1 =", 7, ICPPField.class); + assertSame(m1, m2); + assertSame(f1, f2); + } + }