From 1252d8004a18579d0c4f786c881cb5f2588307ed Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Sat, 25 Jun 2005 16:42:39 +0000 Subject: [PATCH] 2005-06-25 Alain Magloire PR 98788: Templates * model/org/eclipse/cdt/core/model/tests/CModleElementsTests.java * model/org/eclipse/cdt/core/model/tests/ITemplateTests.java * model/org/eclipse/cdt/core/model/tests/StructureCModelElementsTests.java * model/org/eclipse/cdt/core/model/tests/StructuralTemplateTests.java --- core/org.eclipse.cdt.core.tests/ChangeLog | 7 ++ .../core/model/tests/CModelElementsTests.java | 19 ++-- .../cdt/core/model/tests/ITemplateTests.java | 107 ++++++++++++++---- .../tests/StructuralCModelElementsTests.java | 18 +-- .../model/tests/StructuralTemplateTests.java | 34 +++--- 5 files changed, 132 insertions(+), 53 deletions(-) diff --git a/core/org.eclipse.cdt.core.tests/ChangeLog b/core/org.eclipse.cdt.core.tests/ChangeLog index a384c5f7623..2aeddec3dcf 100644 --- a/core/org.eclipse.cdt.core.tests/ChangeLog +++ b/core/org.eclipse.cdt.core.tests/ChangeLog @@ -1,3 +1,10 @@ +2005-06-25 Alain Magloire + PR 98788: Templates + * model/org/eclipse/cdt/core/model/tests/CModleElementsTests.java + * model/org/eclipse/cdt/core/model/tests/ITemplateTests.java + * model/org/eclipse/cdt/core/model/tests/StructureCModelElementsTests.java + * model/org/eclipse/cdt/core/model/tests/StructuralTemplateTests.java + 2005-06-16 Vladimir Hirsl Updated search related tests to reflect function parameters in search pattern. diff --git a/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/CModelElementsTests.java b/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/CModelElementsTests.java index c5e520ba3ba..f6e8970175c 100644 --- a/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/CModelElementsTests.java +++ b/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/CModelElementsTests.java @@ -27,15 +27,19 @@ import org.eclipse.cdt.core.model.IEnumerator; import org.eclipse.cdt.core.model.IField; import org.eclipse.cdt.core.model.IFunction; import org.eclipse.cdt.core.model.IFunctionDeclaration; +import org.eclipse.cdt.core.model.IFunctionTemplateDeclaration; import org.eclipse.cdt.core.model.IInclude; import org.eclipse.cdt.core.model.IMacro; import org.eclipse.cdt.core.model.IMethod; import org.eclipse.cdt.core.model.IMethodDeclaration; +import org.eclipse.cdt.core.model.IMethodTemplate; +import org.eclipse.cdt.core.model.IMethodTemplateDeclaration; import org.eclipse.cdt.core.model.INamespace; import org.eclipse.cdt.core.model.IParent; import org.eclipse.cdt.core.model.ISourceRange; import org.eclipse.cdt.core.model.ISourceReference; import org.eclipse.cdt.core.model.IStructure; +import org.eclipse.cdt.core.model.IStructureTemplate; import org.eclipse.cdt.core.model.ITranslationUnit; import org.eclipse.cdt.core.model.ITypeDef; import org.eclipse.cdt.core.model.IVariable; @@ -43,9 +47,6 @@ import org.eclipse.cdt.core.model.IVariableDeclaration; import org.eclipse.cdt.core.parser.ast.ASTAccessVisibility; import org.eclipse.cdt.core.testplugin.CProjectHelper; import org.eclipse.cdt.core.testplugin.CTestPlugin; -import org.eclipse.cdt.internal.core.model.FunctionTemplate; -import org.eclipse.cdt.internal.core.model.MethodTemplate; -import org.eclipse.cdt.internal.core.model.StructureTemplate; import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.NullProgressMonitor; @@ -436,8 +437,8 @@ public class CModelElementsTests extends TestCase { private void checkTemplates(IParent namespace) throws CModelException{ // template function - List functionTemplates = namespace.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION); - FunctionTemplate ft = (FunctionTemplate)functionTemplates.get(0); + List functionTemplates = namespace.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION_DECLARATION); + IFunctionTemplateDeclaration ft = (IFunctionTemplateDeclaration)functionTemplates.get(0); assertEquals(ft.getElementName(), new String("aTemplatedFunction")); checkElementOffset(ft); ft.getTemplateSignature(); @@ -448,8 +449,8 @@ public class CModelElementsTests extends TestCase { List nsClasses = namespace.getChildrenOfType(ICElement.C_CLASS); IStructure enclosingClass = (IStructure) nsClasses.get(1); checkLineNumbers(enclosingClass, 115, 120); - List methodTemplates = enclosingClass.getChildrenOfType(ICElement.C_TEMPLATE_METHOD); - MethodTemplate mt = (MethodTemplate)methodTemplates.get(0); + List methodTemplates = enclosingClass.getChildrenOfType(ICElement.C_TEMPLATE_METHOD_DECLARATION); + IMethodTemplateDeclaration mt = (IMethodTemplateDeclaration)methodTemplates.get(0); assertEquals(mt.getElementName(), new String("aTemplatedMethod")); checkElementOffset(mt); assertEquals(mt.getTemplateSignature(), new String("aTemplatedMethod(B) : A")); @@ -458,7 +459,7 @@ public class CModelElementsTests extends TestCase { // template class List classTemplates = namespace.getChildrenOfType(ICElement.C_TEMPLATE_CLASS); - StructureTemplate ct = (StructureTemplate)classTemplates.get(0); + IStructureTemplate ct = (IStructureTemplate)classTemplates.get(0); assertEquals(ct.getElementName(), new String("myarray")); checkElementOffset(ct); assertEquals(ct.getTemplateSignature(), new String("myarray")); @@ -466,7 +467,7 @@ public class CModelElementsTests extends TestCase { // template struct List structTemplates = namespace.getChildrenOfType(ICElement.C_TEMPLATE_STRUCT); - StructureTemplate st = (StructureTemplate)structTemplates.get(0); + IStructureTemplate st = (IStructureTemplate)structTemplates.get(0); assertEquals(st.getElementName(), new String("mystruct")); checkElementOffset(st); assertEquals(st.getTemplateSignature(), new String("mystruct")); diff --git a/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/ITemplateTests.java b/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/ITemplateTests.java index 5a4631105cd..597b40abf58 100644 --- a/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/ITemplateTests.java +++ b/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/ITemplateTests.java @@ -77,7 +77,9 @@ public class ITemplateTests extends IntegratedCModelTest { assertNotNull( c ); } assertNotNull(myElem); - return myElem.getChildrenOfType(ICElement.C_TEMPLATE_METHOD); + List list = myElem.getChildrenOfType(ICElement.C_TEMPLATE_METHOD_DECLARATION); + list.addAll((myElem.getChildrenOfType(ICElement.C_TEMPLATE_METHOD))); + return list; } public void testGetChildrenOfTypeTemplate() throws CModelException { @@ -89,9 +91,10 @@ public class ITemplateTests extends IntegratedCModelTest { }; assertEquals(myExpectedValues.length, arrayElements.size()); for(int i=0; i::first", - "IsGreaterThan", - "Foo::fum" + "fum", + "scrum", + }; + assertEquals(myExpectedValues.length, arrayElements.size()); + // This test is no correct there is no guaranty on the order + // for this particular case + for(int i=0; i::first", + "Foo::fum", + }; + assertEquals(myExpectedValues.length, arrayElements.size()); + // This test is no correct there is no guaranty on the order + // for this particular case + for(int i=0; i::first", +// "Foo::fum", +// "IsGreaterThan" +// }; +// assertEquals(myExpectedValues.length, arrayElements.size()); +// // This test is no correct there is no guaranty on the order +// // for this particular case +// for(int i=0; i(int) : void", "scrum(void) : void", // TODO: deduce the rules of () versus (void), compare below. "nonVector::first() : const T&", // TODO: where should be? + "Foo::fum(int) : void", // TODO: shouldn't signature indicate const function as well? "IsGreaterThan(X, X) : bool", - "Foo::fum(int) : void", /*"default_alloc_template::S_start_free : char*",*/ }; assertEquals(myExpectedValues.length, arrayElements.size()); diff --git a/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/StructuralCModelElementsTests.java b/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/StructuralCModelElementsTests.java index 50f1d6e4329..956b3ef0d20 100644 --- a/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/StructuralCModelElementsTests.java +++ b/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/StructuralCModelElementsTests.java @@ -28,15 +28,18 @@ import org.eclipse.cdt.core.model.IEnumerator; import org.eclipse.cdt.core.model.IField; import org.eclipse.cdt.core.model.IFunction; import org.eclipse.cdt.core.model.IFunctionDeclaration; +import org.eclipse.cdt.core.model.IFunctionTemplateDeclaration; import org.eclipse.cdt.core.model.IInclude; import org.eclipse.cdt.core.model.IMacro; import org.eclipse.cdt.core.model.IMethod; import org.eclipse.cdt.core.model.IMethodDeclaration; +import org.eclipse.cdt.core.model.IMethodTemplateDeclaration; import org.eclipse.cdt.core.model.INamespace; import org.eclipse.cdt.core.model.IParent; import org.eclipse.cdt.core.model.ISourceRange; import org.eclipse.cdt.core.model.ISourceReference; import org.eclipse.cdt.core.model.IStructure; +import org.eclipse.cdt.core.model.IStructureTemplate; import org.eclipse.cdt.core.model.ITranslationUnit; import org.eclipse.cdt.core.model.ITypeDef; import org.eclipse.cdt.core.model.IVariable; @@ -44,9 +47,6 @@ import org.eclipse.cdt.core.model.IVariableDeclaration; import org.eclipse.cdt.core.parser.ast.ASTAccessVisibility; import org.eclipse.cdt.core.testplugin.CProjectHelper; import org.eclipse.cdt.core.testplugin.CTestPlugin; -import org.eclipse.cdt.internal.core.model.FunctionTemplate; -import org.eclipse.cdt.internal.core.model.MethodTemplate; -import org.eclipse.cdt.internal.core.model.StructureTemplate; import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.NullProgressMonitor; @@ -444,8 +444,8 @@ public class StructuralCModelElementsTests extends TestCase { private void checkTemplates(IParent namespace) throws CModelException{ // template function - List functionTemplates = namespace.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION); - FunctionTemplate ft = (FunctionTemplate)functionTemplates.get(0); + List functionTemplates = namespace.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION_DECLARATION); + IFunctionTemplateDeclaration ft = (IFunctionTemplateDeclaration)functionTemplates.get(0); assertEquals(ft.getElementName(), new String("aTemplatedFunction")); //$NON-NLS-1$ checkElementOffset(ft); ft.getTemplateSignature(); @@ -456,8 +456,8 @@ public class StructuralCModelElementsTests extends TestCase { List nsClasses = namespace.getChildrenOfType(ICElement.C_CLASS); IStructure enclosingClass = (IStructure) nsClasses.get(1); checkLineNumbers(enclosingClass, 115, 120); - List methodTemplates = enclosingClass.getChildrenOfType(ICElement.C_TEMPLATE_METHOD); - MethodTemplate mt = (MethodTemplate)methodTemplates.get(0); + List methodTemplates = enclosingClass.getChildrenOfType(ICElement.C_TEMPLATE_METHOD_DECLARATION); + IMethodTemplateDeclaration mt = (IMethodTemplateDeclaration)methodTemplates.get(0); assertEquals(mt.getElementName(), new String("aTemplatedMethod")); //$NON-NLS-1$ checkElementOffset(mt); assertEquals(mt.getTemplateSignature(), new String("aTemplatedMethod(B) : A")); //$NON-NLS-1$ @@ -466,7 +466,7 @@ public class StructuralCModelElementsTests extends TestCase { // template class List classTemplates = namespace.getChildrenOfType(ICElement.C_TEMPLATE_CLASS); - StructureTemplate ct = (StructureTemplate)classTemplates.get(0); + IStructureTemplate ct = (IStructureTemplate)classTemplates.get(0); assertEquals(ct.getElementName(), new String("myarray")); //$NON-NLS-1$ checkElementOffset(ct); assertEquals(ct.getTemplateSignature(), new String("myarray")); //$NON-NLS-1$ @@ -474,7 +474,7 @@ public class StructuralCModelElementsTests extends TestCase { // template struct List structTemplates = namespace.getChildrenOfType(ICElement.C_TEMPLATE_STRUCT); - StructureTemplate st = (StructureTemplate)structTemplates.get(0); + IStructureTemplate st = (IStructureTemplate)structTemplates.get(0); assertEquals(st.getElementName(), new String("mystruct")); //$NON-NLS-1$ checkElementOffset(st); assertEquals(st.getTemplateSignature(), new String("mystruct")); //$NON-NLS-1$ diff --git a/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/StructuralTemplateTests.java b/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/StructuralTemplateTests.java index 06d4ffba5aa..29f34363748 100644 --- a/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/StructuralTemplateTests.java +++ b/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/StructuralTemplateTests.java @@ -57,9 +57,10 @@ public class StructuralTemplateTests extends ITemplateTests { }; assertEquals(myExpectedValues.length, arrayElements.size()); for(int i=0; i(int) : void", "scrum(void) : void", // TODO: deduce the rules of () versus (void), compare below. // TODO: shouldn't signature indicate const function as well? - "IsGreaterThan(X, X) : bool", "first() : const T&", // TODO: where should be? "fum(int) : void", + "IsGreaterThan(X, X) : bool", /*"default_alloc_template::S_start_free : char*",*/ }; assertEquals(myExpectedValues.length, arrayElements.size());