1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Removed deprecated methods from ICPPTemplateInstance and

ICPPSpecialization.

Change-Id: I763acb95cc9dbdcd1341951544629cf912f137ba
This commit is contained in:
Sergey Prigogin 2016-02-16 19:34:03 -08:00
parent 39f168158f
commit 2260e3f7ab
35 changed files with 92 additions and 470 deletions

View file

@ -88,12 +88,12 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateDefinition;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateInstance;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateNonTypeParameter;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameter;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameterMap;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateScope;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateTemplateParameter;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateTypeParameter;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPUsingDeclaration;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPVariable;
import org.eclipse.cdt.core.parser.util.ObjectMap;
import org.eclipse.cdt.internal.core.dom.parser.Value;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTNameBase;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPBasicType;
@ -3075,24 +3075,14 @@ public class AST2TemplateTests extends AST2TestBase {
ICPPVariable t= ba.assertNonProblem("t;", 1, ICPPVariable.class);
ICPPTemplateInstance ci1= assertInstance(t.getType(), ICPPTemplateInstance.class, ICPPClassType.class);
ObjectMap args1= ci1.getArgumentMap();
assertEquals(1, args1.size());
assertInstance(args1.keyAt(0), ICPPTemplateNonTypeParameter.class);
// non-type arguments are currently modelled as a type with attached expression
ICPPBasicType bt0= assertInstance(args1.getAt(0), ICPPBasicType.class);
assertEquals(bt0.getType(), IBasicType.t_int);
assertEquals(256, ci1.getTemplateArguments()[0].getNonTypeValue().numericalValue().intValue());
ICPPTemplateParameterMap args1= ci1.getTemplateParameterMap();
assertEquals(1, args1.getAllParameterPositions().length);
assertEquals(256, args1.getArgument(0).getNonTypeValue().numericalValue().intValue());
ICPPTemplateInstance ct= ba.assertNonProblem("C<_256> ", 7, ICPPTemplateInstance.class, ICPPClassType.class);
ObjectMap args= ct.getArgumentMap();
assertEquals(1, args.size());
assertInstance(args.keyAt(0), ICPPTemplateNonTypeParameter.class);
// non-type arguments are currently modelled as a type with attached expression
ICPPBasicType bt= assertInstance(args.getAt(0), ICPPBasicType.class);
assertEquals(bt.getType(), IBasicType.t_int);
assertEquals(256, ct.getTemplateArguments()[0].getNonTypeValue().numericalValue().intValue());
ICPPTemplateParameterMap args= ct.getTemplateParameterMap();
assertEquals(1, args.getAllParameterPositions().length);
assertEquals(256, args.getArgument(0).getNonTypeValue().numericalValue().intValue());
ba.assertNonProblem("foo(t)", 3);
ba.assertNonProblem("bar(t)", 3);

View file

@ -59,7 +59,6 @@ import org.eclipse.cdt.core.dom.ast.cpp.SemanticQueries;
import org.eclipse.cdt.core.index.IIndex;
import org.eclipse.cdt.core.index.IIndexBinding;
import org.eclipse.cdt.core.index.IndexFilter;
import org.eclipse.cdt.core.parser.util.ObjectMap;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPBasicType;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateTypeArgument;
import org.eclipse.cdt.internal.core.dom.parser.cpp.ClassTypeHelper;
@ -528,20 +527,18 @@ public class IndexCPPTemplateResolutionTest extends IndexBindingResolutionTestBa
assertInstance(b1, ICPPTemplateInstance.class);
assertInstance(b1, ICPPClassType.class);
IType[] type= ((ICPPTemplateInstance)b1).getArguments();
assertInstance(type[0], ICPPClassType.class);
assertInstance(type[1], ICPPClassTemplate.class);
assertInstance(type[1], ICPPClassType.class);
ICPPTemplateArgument[] args= ((ICPPTemplateInstance) b1).getTemplateArguments();
assertInstance(args[0].getTypeValue(), ICPPClassType.class);
assertInstance(args[1].getTypeValue(), ICPPClassTemplate.class);
assertInstance(args[1].getTypeValue(), ICPPClassType.class);
ObjectMap om= ((ICPPTemplateInstance)b1).getArgumentMap();
assertEquals(2, om.size());
assertInstance(om.keyAt(0), ICPPTemplateTypeParameter.class);
assertInstance(om.getAt(0), ICPPClassType.class);
assertInstance(om.keyAt(1), ICPPTemplateTemplateParameter.class);
assertInstance(om.getAt(1), ICPPClassType.class);
assertInstance(om.getAt(1), ICPPClassTemplate.class);
ICPPTemplateParameterMap om= ((ICPPTemplateInstance) b1).getTemplateParameterMap();
assertEquals(2, om.getAllParameterPositions().length);
assertInstance(om.getArgument(0).getTypeValue(), ICPPClassType.class);
assertInstance(om.getArgument(1).getTypeValue(), ICPPClassType.class);
assertInstance(om.getArgument(1).getTypeValue(), ICPPClassTemplate.class);
IBinding b1_spcd= ((ICPPTemplateInstance)b1).getSpecializedBinding();
IBinding b1_spcd= ((ICPPTemplateInstance) b1).getSpecializedBinding();
assertInstance(b1_spcd, ICPPClassTemplate.class);
assertInstance(b1_spcd, ICPPClassType.class);
assertTrue(((IType)b1_spcd).isSameType((IType)b0));
@ -817,16 +814,14 @@ public class IndexCPPTemplateResolutionTest extends IndexBindingResolutionTestBa
assertInstance(b1, ITypedef.class);
assertInstance(b0, ICPPSpecialization.class);
assertInstance(b1, ICPPSpecialization.class);
ObjectMap om0= ((ICPPSpecialization)b0).getArgumentMap();
ObjectMap om1= ((ICPPSpecialization)b1).getArgumentMap();
assertEquals(1, om0.size());
assertEquals(1, om1.size());
assertInstance(om0.keyAt(0), ICPPTemplateTypeParameter.class);
assertInstance(om0.getAt(0), ICPPClassType.class);
assertInstance(om1.keyAt(0), ICPPTemplateTypeParameter.class);
assertInstance(om1.getAt(0), ICPPClassType.class);
assertEquals("B", ((ICPPClassType)om0.getAt(0)).getName());
assertEquals("C", ((ICPPClassType)om1.getAt(0)).getName());
ICPPTemplateParameterMap om0= ((ICPPSpecialization) b0).getTemplateParameterMap();
ICPPTemplateParameterMap om1= ((ICPPSpecialization) b1).getTemplateParameterMap();
assertEquals(1, om0.getAllParameterPositions().length);
assertEquals(1, om1.getAllParameterPositions().length);
assertInstance(om0.getArgument(0).getTypeValue(), ICPPClassType.class);
assertInstance(om1.getArgument(0).getTypeValue(), ICPPClassType.class);
assertEquals("B", ((ICPPClassType) om0.getArgument(0).getTypeValue()).getName());
assertEquals("C", ((ICPPClassType) om1.getArgument(0).getTypeValue()).getName());
}
// template<typename T>
@ -895,23 +890,23 @@ public class IndexCPPTemplateResolutionTest extends IndexBindingResolutionTestBa
IBinding b0= getBindingFromASTName("foo(a,b)", 3);
assertInstance(b0, ICPPFunction.class);
assertInstance(b0, ICPPTemplateInstance.class);
ICPPFunctionType b0type= ((ICPPFunction)b0).getType();
ICPPFunctionType b0type= ((ICPPFunction) b0).getType();
assertInstance(b0type.getReturnType(), ICPPBasicType.class);
IType[] b0_ptypes= b0type.getParameterTypes();
assertEquals(2, b0_ptypes.length);
assertInstance(b0_ptypes[0], ICPPClassType.class);
assertInstance(b0_ptypes[1], ICPPClassType.class);
assertEquals("A", ((ICPPClassType)b0_ptypes[0]).getName());
assertEquals("B", ((ICPPClassType)b0_ptypes[1]).getName());
assertEquals("A", ((ICPPClassType) b0_ptypes[0]).getName());
assertEquals("B", ((ICPPClassType) b0_ptypes[1]).getName());
IParameter[] b0_pms= ((ICPPFunction)b0).getParameters();
IParameter[] b0_pms= ((ICPPFunction) b0).getParameters();
assertEquals(2, b0_pms.length);
assertInstance(b0_pms[0].getType(), ICPPClassType.class);
assertInstance(b0_pms[1].getType(), ICPPClassType.class);
assertEquals("A", ((ICPPClassType)b0_pms[0].getType()).getName());
assertEquals("B", ((ICPPClassType)b0_pms[1].getType()).getName());
assertEquals("A", ((ICPPClassType) b0_pms[0].getType()).getName());
assertEquals("B", ((ICPPClassType) b0_pms[1].getType()).getName());
IBinding b0_spcd= ((ICPPTemplateInstance)b0).getSpecializedBinding();
IBinding b0_spcd= ((ICPPTemplateInstance) b0).getSpecializedBinding();
assertInstance(b0_spcd, ICPPFunction.class);
assertInstance(b0_spcd, ICPPTemplateDefinition.class);
@ -919,46 +914,42 @@ public class IndexCPPTemplateResolutionTest extends IndexBindingResolutionTestBa
assertEquals(2, b0_spcd_pms.length);
assertInstance(b0_spcd_pms[0].getType(), ICPPTemplateTypeParameter.class);
assertInstance(b0_spcd_pms[1].getType(), ICPPTemplateTypeParameter.class);
assertEquals("T1", ((ICPPTemplateTypeParameter)b0_spcd_pms[0].getType()).getName());
assertEquals("T2", ((ICPPTemplateTypeParameter)b0_spcd_pms[1].getType()).getName());
assertEquals("T1", ((ICPPTemplateTypeParameter) b0_spcd_pms[0].getType()).getName());
assertEquals("T2", ((ICPPTemplateTypeParameter) b0_spcd_pms[1].getType()).getName());
ObjectMap b0_am= ((ICPPSpecialization)b0).getArgumentMap();
assertEquals(2, b0_am.size());
assertInstance(b0_am.getAt(0), ICPPClassType.class);
assertInstance(b0_am.getAt(1), ICPPClassType.class);
assertInstance(b0_am.keyAt(0), ICPPTemplateTypeParameter.class);
assertInstance(b0_am.keyAt(1), ICPPTemplateTypeParameter.class);
assertEquals("T1", ((ICPPTemplateTypeParameter)b0_am.keyAt(0)).getName());
assertEquals("T2", ((ICPPTemplateTypeParameter)b0_am.keyAt(1)).getName());
assertEquals("A", ((ICPPClassType)b0_am.getAt(0)).getName());
assertEquals("B", ((ICPPClassType)b0_am.getAt(1)).getName());
ICPPTemplateParameterMap b0_am= ((ICPPSpecialization)b0).getTemplateParameterMap();
assertEquals(2, b0_am.getAllParameterPositions().length);
assertInstance(b0_am.getArgument(0).getTypeValue(), ICPPClassType.class);
assertInstance(b0_am.getArgument(1).getTypeValue(), ICPPClassType.class);
assertEquals("A", ((ICPPClassType) b0_am.getArgument(0).getTypeValue()).getName());
assertEquals("B", ((ICPPClassType) b0_am.getArgument(1).getTypeValue()).getName());
ICPPFunctionType b0_spcd_type= ((ICPPFunction)b0_spcd).getType();
ICPPFunctionType b0_spcd_type= ((ICPPFunction) b0_spcd).getType();
assertInstance(b0_spcd_type.getReturnType(), ICPPBasicType.class);
IType[] b0_spcd_ptypes= b0_spcd_type.getParameterTypes();
assertEquals(2, b0_spcd_ptypes.length);
assertInstance(b0_spcd_ptypes[0], ICPPTemplateTypeParameter.class);
assertInstance(b0_spcd_ptypes[1], ICPPTemplateTypeParameter.class);
assertEquals("T1", ((ICPPTemplateTypeParameter)b0_spcd_ptypes[0]).getName());
assertEquals("T2", ((ICPPTemplateTypeParameter)b0_spcd_ptypes[1]).getName());
assertEquals("T1", ((ICPPTemplateTypeParameter) b0_spcd_ptypes[0]).getName());
assertEquals("T2", ((ICPPTemplateTypeParameter) b0_spcd_ptypes[1]).getName());
IBinding b1= getBindingFromASTName("foo(c,a)", 3);
assertInstance(b1, ICPPFunction.class);
ICPPFunctionType b1type= ((ICPPFunction)b1).getType();
ICPPFunctionType b1type= ((ICPPFunction) b1).getType();
assertInstance(b1type.getReturnType(), ICPPBasicType.class);
IType[] b1_ptypes= b1type.getParameterTypes();
assertEquals(2, b1_ptypes.length);
assertInstance(b1_ptypes[0], ICPPClassType.class);
assertInstance(b1_ptypes[1], ICPPClassType.class);
assertEquals("C", ((ICPPClassType)b1_ptypes[0]).getName());
assertEquals("A", ((ICPPClassType)b1_ptypes[1]).getName());
assertEquals("C", ((ICPPClassType) b1_ptypes[0]).getName());
assertEquals("A", ((ICPPClassType) b1_ptypes[1]).getName());
IParameter[] b1_pms= ((ICPPFunction)b1).getParameters();
assertEquals(2, b1_pms.length);
assertInstance(b1_pms[0].getType(), ICPPClassType.class);
assertInstance(b1_pms[1].getType(), ICPPClassType.class);
assertEquals("C", ((ICPPClassType)b1_pms[0].getType()).getName());
assertEquals("A", ((ICPPClassType)b1_pms[1].getType()).getName());
assertEquals("C", ((ICPPClassType) b1_pms[0].getType()).getName());
assertEquals("A", ((ICPPClassType) b1_pms[1].getType()).getName());
assertInstance(b1, ICPPSpecialization.class);
ICPPSpecialization b1s= (ICPPSpecialization) b1;
@ -966,32 +957,28 @@ public class IndexCPPTemplateResolutionTest extends IndexBindingResolutionTestBa
assertInstance(b1_spcd, ICPPFunction.class);
assertInstance(b1_spcd, ICPPTemplateDefinition.class);
ICPPFunctionType b1_spcd_type= ((ICPPFunction)b1_spcd).getType();
ICPPFunctionType b1_spcd_type= ((ICPPFunction) b1_spcd).getType();
assertInstance(b1_spcd_type.getReturnType(), ICPPBasicType.class);
IType[] b1_spcd_ptypes= b1_spcd_type.getParameterTypes();
assertEquals(2, b1_spcd_ptypes.length);
assertInstance(b1_spcd_ptypes[0], ICPPTemplateTypeParameter.class);
assertInstance(b1_spcd_ptypes[1], ICPPTemplateTypeParameter.class);
assertEquals("T1", ((ICPPTemplateTypeParameter)b1_spcd_ptypes[0]).getName());
assertEquals("T2", ((ICPPTemplateTypeParameter)b1_spcd_ptypes[1]).getName());
assertEquals("T1", ((ICPPTemplateTypeParameter) b1_spcd_ptypes[0]).getName());
assertEquals("T2", ((ICPPTemplateTypeParameter) b1_spcd_ptypes[1]).getName());
IParameter[] b1_spcd_pms= ((ICPPFunction)b1_spcd).getParameters();
assertEquals(2, b1_spcd_pms.length);
assertInstance(b1_spcd_pms[0].getType(), ICPPTemplateTypeParameter.class);
assertInstance(b1_spcd_pms[1].getType(), ICPPTemplateTypeParameter.class);
assertEquals("T1", ((ICPPTemplateTypeParameter)b1_spcd_pms[0].getType()).getName());
assertEquals("T2", ((ICPPTemplateTypeParameter)b1_spcd_pms[1].getType()).getName());
assertEquals("T1", ((ICPPTemplateTypeParameter) b1_spcd_pms[0].getType()).getName());
assertEquals("T2", ((ICPPTemplateTypeParameter) b1_spcd_pms[1].getType()).getName());
ObjectMap b1_am= b1s.getArgumentMap();
assertEquals(2, b1_am.size());
assertInstance(b1_am.keyAt(0), ICPPTemplateTypeParameter.class);
assertInstance(b1_am.keyAt(1), ICPPTemplateTypeParameter.class);
assertInstance(b1_am.getAt(0), ICPPClassType.class);
assertInstance(b1_am.getAt(1), ICPPClassType.class);
assertEquals("T1", ((ICPPTemplateTypeParameter)b1_am.keyAt(0)).getName());
assertEquals("T2", ((ICPPTemplateTypeParameter)b1_am.keyAt(1)).getName());
assertEquals("C", ((ICPPClassType)b1_am.getAt(0)).getName());
assertEquals("A", ((ICPPClassType)b1_am.getAt(1)).getName());
ICPPTemplateParameterMap b1_am= b1s.getTemplateParameterMap();
assertEquals(2, b1_am.getAllParameterPositions().length);
assertInstance(b1_am.getArgument(0).getTypeValue(), ICPPClassType.class);
assertInstance(b1_am.getArgument(1).getTypeValue(), ICPPClassType.class);
assertEquals("C", ((ICPPClassType)b1_am.getArgument(0).getTypeValue()).getName());
assertEquals("A", ((ICPPClassType)b1_am.getArgument(1).getTypeValue()).getName());
}
// class A {};
@ -1108,10 +1095,10 @@ public class IndexCPPTemplateResolutionTest extends IndexBindingResolutionTestBa
assertInstance(b1b, ICPPClassType.class);
assertInstance(b1b, ICPPSpecialization.class);
ICPPSpecialization b1spc= (ICPPSpecialization) b1b;
ObjectMap b1om= b1spc.getArgumentMap();
assertEquals(1, b1om.keyArray().length);
assertInstance(b1om.getAt(0), ICPPClassType.class);
ICPPClassType b1pct= (ICPPClassType) b1om.getAt(0);
ICPPTemplateParameterMap b1om= b1spc.getTemplateParameterMap();
assertEquals(1, b1om.getAllParameterPositions().length);
assertInstance(b1om.getArgument(0).getTypeValue(), ICPPClassType.class);
ICPPClassType b1pct= (ICPPClassType) b1om.getArgument(0).getTypeValue();
assertEquals("B", b1pct.getName());
IBinding b2a = getBindingFromASTName("Foo<B> b2;", 3);
@ -1123,10 +1110,10 @@ public class IndexCPPTemplateResolutionTest extends IndexBindingResolutionTestBa
assertInstance(b2b, ICPPClassType.class);
assertInstance(b2b, ICPPSpecialization.class);
ICPPSpecialization b2spc= (ICPPSpecialization) b2b;
ObjectMap b2om= b2spc.getArgumentMap();
assertEquals(1, b2om.keyArray().length);
assertInstance(b2om.getAt(0), ICPPClassType.class);
ICPPClassType b2pct= (ICPPClassType) b2om.getAt(0);
ICPPTemplateParameterMap b2om= b2spc.getTemplateParameterMap();
assertEquals(1, b2om.getAllParameterPositions().length);
assertInstance(b2om.getArgument(0).getTypeValue(), ICPPClassType.class);
ICPPClassType b2pct= (ICPPClassType) b2om.getArgument(0).getTypeValue();
assertEquals("B", b2pct.getName());
}
@ -1386,9 +1373,8 @@ public class IndexCPPTemplateResolutionTest extends IndexBindingResolutionTestBa
ICPPVariable b0= getBindingFromASTName("y>", 1, ICPPVariable.class);
ICPPClassType b1= getBindingFromASTName("A<y>", 1, ICPPClassType.class, ICPPTemplateDefinition.class);
ICPPTemplateInstance b2= getBindingFromASTName("A<y>", 4, ICPPTemplateInstance.class, ICPPClassType.class);
ObjectMap args= b2.getArgumentMap();
assertInstance(args.keyAt(0), ICPPTemplateNonTypeParameter.class);
assertEquals(1, args.size());
ICPPTemplateParameterMap args= b2.getTemplateParameterMap();
assertEquals(1, args.getAllParameterPositions().length);
}
// template <class T> class A {

View file

@ -13,8 +13,6 @@ package org.eclipse.cdt.internal.pdom.tests;
import java.util.Arrays;
import junit.framework.Test;
import org.eclipse.cdt.core.dom.ast.IBasicType;
import org.eclipse.cdt.core.dom.ast.IBinding;
import org.eclipse.cdt.core.dom.ast.IField;
@ -30,16 +28,18 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPSpecialization;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateArgument;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateNonTypeParameter;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameter;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameterMap;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateTemplateParameter;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateTypeParameter;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPVariable;
import org.eclipse.cdt.core.index.IndexFilter;
import org.eclipse.cdt.core.parser.util.ObjectMap;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPBasicType;
import org.eclipse.cdt.internal.core.dom.parser.cpp.ClassTypeHelper;
import org.eclipse.cdt.internal.core.dom.parser.cpp.ICPPDeferredClassInstance;
import org.eclipse.cdt.internal.core.index.IIndexFragmentBinding;
import junit.framework.Test;
/**
* Tests PDOM class template related bindings
*/
@ -85,17 +85,16 @@ public class CPPClassTemplateTests extends PDOMInlineCodeTestBase {
ICPPSpecialization asp= (ICPPSpecialization) a.getType();
ICPPSpecialization bsp= (ICPPSpecialization) b.getType();
assertEquals(1, asp.getArgumentMap().size());
assertEquals(1, bsp.getArgumentMap().size());
ICPPTemplateParameterMap aArgs = asp.getTemplateParameterMap();
ICPPTemplateParameterMap bArgs = bsp.getTemplateParameterMap();
assertEquals(1, aArgs.getAllParameterPositions().length);
assertEquals(1, bArgs.getAllParameterPositions().length);
assertInstance(asp.getArgumentMap().keyAt(0), ICPPTemplateParameter.class);
assertInstance(bsp.getArgumentMap().keyAt(0), ICPPTemplateParameter.class);
assertInstance(aArgs.getArgument(0).getTypeValue(), ICPPClassType.class);
assertInstance(bArgs.getArgument(0).getTypeValue(), ICPPClassType.class);
assertInstance(asp.getArgumentMap().getAt(0), ICPPClassType.class);
assertInstance(bsp.getArgumentMap().getAt(0), ICPPClassType.class);
assertEquals("A", ((ICPPClassType) asp.getArgumentMap().getAt(0)).getName());
assertEquals("B", ((ICPPClassType) bsp.getArgumentMap().getAt(0)).getName());
assertEquals("A", ((ICPPClassType) aArgs.getArgument(0).getTypeValue()).getName());
assertEquals("B", ((ICPPClassType) bArgs.getArgument(0).getTypeValue()).getName());
assertDeclarationCount(pdom, "a", 1);
assertDeclarationCount(pdom, "b", 1);
@ -237,7 +236,6 @@ public class CPPClassTemplateTests extends PDOMInlineCodeTestBase {
// D<N> dn;
// D<int> dint;
public void testExplicitInstantiation() throws Exception {
{
// template
IIndexFragmentBinding[] b= pdom.findBindings(new char[][] {{'D'}}, IndexFilter.ALL_DECLARED, npm());
@ -263,13 +261,11 @@ public class CPPClassTemplateTests extends PDOMInlineCodeTestBase {
assertInstance(var.getType(), ICPPClassType.class);
assertInstance(var.getType(), ICPPSpecialization.class);
ICPPSpecialization cp= (ICPPSpecialization) var.getType();
ObjectMap m= cp.getArgumentMap();
assertEquals(1, m.size());
Object key= m.keyAt(0), val= m.get(key);
assertInstance(key, ICPPTemplateTypeParameter.class);
assertInstance(val, ICPPClassType.class);
assertEquals(new String[] {"D","C"}, ((ICPPTemplateTypeParameter)key).getQualifiedName());
assertEquals(new String[] {"N"}, ((ICPPClassType)val).getQualifiedName());
ICPPTemplateParameterMap m= cp.getTemplateParameterMap();
assertEquals(1, m.getAllParameterPositions().length);
ICPPTemplateArgument arg = m.getArgument(0);
assertInstance(arg.getTypeValue(), ICPPClassType.class);
assertEquals(new String[] {"N"}, ((ICPPClassType) arg.getTypeValue()).getQualifiedName());
}
{
@ -281,14 +277,11 @@ public class CPPClassTemplateTests extends PDOMInlineCodeTestBase {
assertInstance(var.getType(), ICPPClassType.class);
assertInstance(var.getType(), ICPPSpecialization.class);
ICPPSpecialization cp= (ICPPSpecialization) var.getType();
ObjectMap m= cp.getArgumentMap();
assertEquals(1, m.size());
Object key= m.keyAt(0), val= m.get(key);
assertInstance(key, ICPPTemplateTypeParameter.class);
assertInstance(val, IBasicType.class);
assertEquals(new String[] {"D","C"}, ((ICPPTemplateTypeParameter)key).getQualifiedName());
assertEquals(IBasicType.t_int, ((IBasicType)val).getType());
ICPPTemplateParameterMap m= cp.getTemplateParameterMap();
assertEquals(1, m.getAllParameterPositions().length);
ICPPTemplateArgument arg = m.getArgument(0);
assertInstance(arg.getTypeValue(), IBasicType.class);
assertEquals(IBasicType.Kind.eInt, ((IBasicType) arg.getTypeValue()).getKind());
}
}

View file

@ -11,9 +11,6 @@
*******************************************************************************/
package org.eclipse.cdt.core.dom.ast.cpp;
import org.eclipse.cdt.core.dom.ast.DOMException;
import org.eclipse.cdt.core.dom.ast.IType;
/**
* This interface represents a class template partial specialization. A partial specialization is
* a class template in its own right.
@ -43,10 +40,4 @@ public interface ICPPClassTemplatePartialSpecialization extends ICPPClassTemplat
*/
@Override
public ICPPTemplateArgument[] getTemplateArguments();
/**
* @deprecated use {@link #getTemplateArguments()}, instead.
*/
@Deprecated
public IType[] getArguments() throws DOMException;
}

View file

@ -12,7 +12,6 @@
package org.eclipse.cdt.core.dom.ast.cpp;
import org.eclipse.cdt.core.dom.ast.IBinding;
import org.eclipse.cdt.core.parser.util.ObjectMap;
/**
* For an instantiation of a class template, the members of that instantiation will be
@ -36,10 +35,4 @@ public interface ICPPSpecialization extends ICPPBinding {
* @since 5.1
*/
public ICPPTemplateParameterMap getTemplateParameterMap();
/**
* @deprecated use {@link #getTemplateParameterMap()}, instead.
*/
@Deprecated
public ObjectMap getArgumentMap();
}

View file

@ -11,8 +11,6 @@
*******************************************************************************/
package org.eclipse.cdt.core.dom.ast.cpp;
import org.eclipse.cdt.core.dom.ast.IType;
/**
* This interface represents an instantiation or an explicit specialization of a class or a function template.
* The {@link #isExplicitSpecialization()} method is used to distinguish between the two cases.
@ -31,23 +29,17 @@ public interface ICPPTemplateInstance extends ICPPSpecialization {
* Returns the template that this instance was instantiated from.
*/
public ICPPTemplateDefinition getTemplateDefinition();
/**
* Returns the template arguments of this instance.
* @since 5.1
*/
public ICPPTemplateArgument[] getTemplateArguments();
/**
* Explicit specializations are modeled as instances of a template.
* Returns {@code true} if this binding is an explicit specialization.
* @since 5.2
*/
public boolean isExplicitSpecialization();
/**
* @deprecated Replaced by {@link #getTemplateArguments()}.
*/
@Deprecated
public IType[] getArguments();
}

View file

@ -73,12 +73,6 @@ public class CPPClassInstance extends CPPClassSpecialization implements ICPPTemp
return false;
}
@Override
@Deprecated
public IType[] getArguments() {
return CPPTemplates.getArguments(getTemplateArguments());
}
/**
* For debugging only.
*/

View file

@ -12,7 +12,6 @@
package org.eclipse.cdt.internal.core.dom.parser.cpp;
import org.eclipse.cdt.core.dom.ast.ASTTypeUtil;
import org.eclipse.cdt.core.dom.ast.DOMException;
import org.eclipse.cdt.core.dom.ast.IType;
import org.eclipse.cdt.core.dom.ast.ITypedef;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateId;
@ -22,7 +21,6 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPClassType;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateArgument;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateDefinition;
import org.eclipse.cdt.core.index.IIndexBinding;
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates;
/**
* A partial class template specialization.
@ -85,12 +83,6 @@ public class CPPClassTemplatePartialSpecialization extends CPPClassTemplate
return super.toString() + ASTTypeUtil.getArgumentListString(getTemplateArguments(), true);
}
@Override
@Deprecated
public IType[] getArguments() throws DOMException {
return CPPTemplates.getArguments(getTemplateArguments());
}
@Override
public ICPPTemplateDefinition getPrimaryTemplate() {
return getPrimaryClassTemplate();

View file

@ -129,18 +129,6 @@ public class CPPClassTemplatePartialSpecializationSpecialization extends CPPClas
return super.toString() + ASTTypeUtil.getArgumentListString(getTemplateArguments(), true);
}
@Override
@Deprecated
public ObjectMap getArgumentMap() {
return CPPTemplates.getArgumentMap(getPrimaryClassTemplate(), getTemplateParameterMap());
}
@Override
@Deprecated
public IType[] getArguments() throws DOMException {
return CPPTemplates.getArguments(getTemplateArguments());
}
@Override
public ICPPTemplateArgument getDefaultArgFromIndex(int paramPos) throws DOMException {
// No default arguments for partial specializations

View file

@ -29,7 +29,6 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPScope;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateArgument;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateDefinition;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameter;
import org.eclipse.cdt.core.parser.util.ObjectMap;
import org.eclipse.cdt.internal.core.dom.parser.ISerializableType;
import org.eclipse.cdt.internal.core.dom.parser.ITypeMarshalBuffer;
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates;
@ -169,12 +168,6 @@ public class CPPDeferredClassInstance extends CPPUnknownBinding implements ICPPD
return false;
}
@Override
@Deprecated
public IType[] getArguments() {
return CPPTemplates.getArguments(getTemplateArguments());
}
@Override
public ICPPTemplateArgument[] getTemplateArguments() {
return fArguments;
@ -185,11 +178,6 @@ public class CPPDeferredClassInstance extends CPPUnknownBinding implements ICPPD
return fClassTemplate;
}
@Override
public ObjectMap getArgumentMap() {
return ObjectMap.EMPTY_MAP;
}
@Override
public CPPTemplateParameterMap getTemplateParameterMap() {
ICPPTemplateParameter[] params = fClassTemplate.getTemplateParameters();

View file

@ -42,12 +42,6 @@ public class CPPFunctionInstance extends CPPFunctionSpecialization implements IC
return (ICPPTemplateDefinition) getSpecializedBinding();
}
@Override
@Deprecated
public IType[] getArguments() {
return CPPTemplates.getArguments(fArguments);
}
@Override
public ICPPTemplateArgument[] getTemplateArguments() {
return fArguments;

View file

@ -23,10 +23,8 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPNamespace;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPSpecialization;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameterMap;
import org.eclipse.cdt.core.parser.util.ArrayUtil;
import org.eclipse.cdt.core.parser.util.ObjectMap;
import org.eclipse.cdt.internal.core.dom.Linkage;
import org.eclipse.cdt.internal.core.dom.parser.ASTNode;
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates;
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor;
import org.eclipse.core.runtime.PlatformObject;
@ -137,12 +135,6 @@ public abstract class CPPSpecialization extends PlatformObject implements ICPPSp
return Linkage.CPP_LINKAGE;
}
@Override
@Deprecated
public ObjectMap getArgumentMap() {
return CPPTemplates.getArgumentMap(this, getTemplateParameterMap());
}
@Override
public ICPPTemplateParameterMap getTemplateParameterMap() {
return argumentMap;

View file

@ -17,9 +17,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPSpecialization;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateArgument;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameter;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameterMap;
import org.eclipse.cdt.core.parser.util.ObjectMap;
import org.eclipse.cdt.internal.core.dom.Linkage;
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates;
import org.eclipse.core.runtime.PlatformObject;
/**
@ -95,12 +93,6 @@ public abstract class CPPTemplateParameterSpecialization extends PlatformObject
return fTemplateParameterMap;
}
@Override
@Deprecated
public ObjectMap getArgumentMap() {
return CPPTemplates.getArgumentMap(this, getTemplateParameterMap());
}
@Override
public short getParameterPosition() {
return fSpecialized.getParameterPosition();

View file

@ -63,11 +63,6 @@ public class CPPVariableInstance extends CPPSpecialization
return false;
}
@Override
public IType[] getArguments() {
return null;
}
@Override
public boolean isMutable() {
return false;

View file

@ -22,7 +22,6 @@ import static org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.SemanticUti
import static org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.SemanticUtil.getNestedType;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.eclipse.cdt.core.CCorePlugin;
@ -3018,67 +3017,6 @@ public class CPPTemplates {
return map;
}
/**
* @deprecated for backwards compatibility, only.
*/
@Deprecated
public static IType[] getArguments(ICPPTemplateArgument[] arguments) {
IType[] types= new IType[arguments.length];
for (int i = 0; i < types.length; i++) {
final ICPPTemplateArgument arg= arguments[i];
if (arg == null) {
types[i]= null;
} else if (arg.isNonTypeValue()) {
types[i]= arg.getTypeOfNonTypeValue();
} else {
types[i]= arg.getTypeValue();
}
}
return types;
}
/**
* @deprecated for backwards compatibility, only.
*/
@Deprecated
public static ObjectMap getArgumentMap(IBinding b, ICPPTemplateParameterMap tpmap) {
// backwards compatibility
Integer[] keys= tpmap.getAllParameterPositions();
if (keys.length == 0)
return ObjectMap.EMPTY_MAP;
List<ICPPTemplateDefinition> defs= new ArrayList<>();
IBinding owner= b;
while (owner != null) {
if (owner instanceof ICPPTemplateDefinition) {
defs.add((ICPPTemplateDefinition) owner);
} else if (owner instanceof ICPPTemplateInstance) {
defs.add(((ICPPTemplateInstance) owner).getTemplateDefinition());
}
owner= owner.getOwner();
}
Collections.reverse(defs);
ObjectMap result= new ObjectMap(keys.length);
for (int key : keys) {
int nestingLevel= key >> 16;
int numParam= key & 0xffff;
if (0 <= numParam && 0 <= nestingLevel && nestingLevel < defs.size()) {
ICPPTemplateDefinition tdef= defs.get(nestingLevel);
ICPPTemplateParameter[] tps= tdef.getTemplateParameters();
if (numParam < tps.length) {
ICPPTemplateArgument arg= tpmap.getArgument(key);
if (arg != null) {
IType type= arg.isNonTypeValue() ? arg.getTypeOfNonTypeValue() : arg.getTypeValue();
result.put(tps[numParam], type);
}
}
}
}
return result;
}
public static IBinding findDeclarationForSpecialization(IBinding binding) {
while (binding instanceof ICPPSpecialization) {
if (ASTInternal.hasDeclaration(binding))

View file

@ -11,7 +11,6 @@
*******************************************************************************/
package org.eclipse.cdt.internal.core.index.composite.cpp;
import org.eclipse.cdt.core.dom.ast.IType;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPClassType;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateArgument;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateDefinition;
@ -47,10 +46,4 @@ public class CompositeCPPClassInstance extends CompositeCPPClassSpecialization i
public boolean isExplicitSpecialization() {
return ((ICPPTemplateInstance) rbinding).isExplicitSpecialization();
}
@Override
@Deprecated
public IType[] getArguments() {
return TemplateInstanceUtil.getArguments(cf, (ICPPTemplateInstance) rbinding);
}
}

View file

@ -263,10 +263,4 @@ public class CompositeCPPClassSpecialization extends CompositeCPPClassType imple
ICPPClassType[] result = ClassTypeHelper.getNestedClasses((ICPPClassType) rbinding, point);
return wrapBindings(result);
}
@Override
@Deprecated
public ObjectMap getArgumentMap() {
return TemplateInstanceUtil.getArgumentMap(cf, rbinding);
}
}

View file

@ -11,7 +11,6 @@
*******************************************************************************/
package org.eclipse.cdt.internal.core.index.composite.cpp;
import org.eclipse.cdt.core.dom.ast.IType;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPClassTemplate;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPClassTemplatePartialSpecialization;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateArgument;
@ -42,12 +41,6 @@ public class CompositeCPPClassTemplatePartialSpecialization extends CompositeCPP
return TemplateInstanceUtil.getTemplateArguments(cf, (ICPPClassTemplatePartialSpecialization) rbinding);
}
@Override
@Deprecated
public IType[] getArguments() {
return TemplateInstanceUtil.getArguments(cf, (ICPPClassTemplatePartialSpecialization) rbinding);
}
@Override
public ICPPTemplateDefinition getPrimaryTemplate() {
return getPrimaryClassTemplate();

View file

@ -10,7 +10,6 @@
*******************************************************************************/
package org.eclipse.cdt.internal.core.index.composite.cpp;
import org.eclipse.cdt.core.dom.ast.IType;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPClassTemplate;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPClassTemplatePartialSpecialization;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPClassTemplatePartialSpecializationSpecialization;
@ -79,12 +78,6 @@ public class CompositeCPPClassTemplatePartialSpecializationSpecialization extend
return dci;
}
}
@Override
@Deprecated
public IType[] getArguments() {
return TemplateInstanceUtil.getArguments(cf, (ICPPClassTemplatePartialSpecialization) rbinding);
}
@Override
public ICPPTemplateDefinition getPrimaryTemplate() {

View file

@ -14,7 +14,6 @@ import org.eclipse.cdt.core.dom.ast.IBinding;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPEnumeration;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPSpecialization;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameterMap;
import org.eclipse.cdt.core.parser.util.ObjectMap;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateParameterMap;
import org.eclipse.cdt.internal.core.index.composite.ICompositesFactory;
@ -36,10 +35,4 @@ class CompositeCPPEnumerationSpecialization extends CompositeCPPEnumeration impl
}
return CPPTemplateParameterMap.EMPTY;
}
@Override
@Deprecated
public ObjectMap getArgumentMap() {
return TemplateInstanceUtil.getArgumentMap(cf, rbinding);
}
}

View file

@ -13,7 +13,6 @@ package org.eclipse.cdt.internal.core.index.composite.cpp;
import org.eclipse.cdt.core.dom.ast.IBinding;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPSpecialization;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameterMap;
import org.eclipse.cdt.core.parser.util.ObjectMap;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateParameterMap;
import org.eclipse.cdt.internal.core.dom.parser.cpp.ICPPInternalEnumerator;
import org.eclipse.cdt.internal.core.index.composite.ICompositesFactory;
@ -36,10 +35,4 @@ class CompositeCPPEnumeratorSpecialization extends CompositeCPPEnumerator implem
}
return CPPTemplateParameterMap.EMPTY;
}
@Override
@Deprecated
public ObjectMap getArgumentMap() {
return TemplateInstanceUtil.getArgumentMap(cf, rbinding);
}
}

View file

@ -15,7 +15,6 @@ import org.eclipse.cdt.core.dom.ast.IBinding;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPField;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPSpecialization;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameterMap;
import org.eclipse.cdt.core.parser.util.ObjectMap;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateParameterMap;
import org.eclipse.cdt.internal.core.index.composite.ICompositesFactory;
@ -38,10 +37,4 @@ public class CompositeCPPFieldSpecialization extends CompositeCPPField implement
}
return CPPTemplateParameterMap.EMPTY;
}
@Override
@Deprecated
public ObjectMap getArgumentMap() {
return TemplateInstanceUtil.getArgumentMap(cf, rbinding);
}
}

View file

@ -13,14 +13,12 @@
package org.eclipse.cdt.internal.core.index.composite.cpp;
import org.eclipse.cdt.core.dom.ast.IBinding;
import org.eclipse.cdt.core.dom.ast.IType;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPFunction;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPFunctionInstance;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateArgument;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateDefinition;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateInstance;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameterMap;
import org.eclipse.cdt.core.parser.util.ObjectMap;
import org.eclipse.cdt.internal.core.index.composite.ICompositesFactory;
/**
@ -56,16 +54,4 @@ public class CompositeCPPFunctionInstance extends CompositeCPPFunction implement
public boolean isExplicitSpecialization() {
return ((ICPPTemplateInstance) rbinding).isExplicitSpecialization();
}
@Override
@Deprecated
public IType[] getArguments() {
return TemplateInstanceUtil.getArguments(cf, (ICPPTemplateInstance) rbinding);
}
@Override
@Deprecated
public ObjectMap getArgumentMap() {
return TemplateInstanceUtil.getArgumentMap(cf, rbinding);
}
}

View file

@ -17,7 +17,6 @@ import org.eclipse.cdt.core.dom.ast.IType;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPFunction;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPSpecialization;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameterMap;
import org.eclipse.cdt.core.parser.util.ObjectMap;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateParameterMap;
import org.eclipse.cdt.internal.core.index.composite.ICompositesFactory;
@ -60,10 +59,4 @@ public class CompositeCPPFunctionSpecialization extends CompositeCPPFunction imp
}
return result;
}
@Override
@Deprecated
public ObjectMap getArgumentMap() {
return TemplateInstanceUtil.getArgumentMap(cf, rbinding);
}
}

View file

@ -15,7 +15,6 @@ import org.eclipse.cdt.core.dom.ast.IBinding;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPSpecialization;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameterMap;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPVariable;
import org.eclipse.cdt.core.parser.util.ObjectMap;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateParameterMap;
import org.eclipse.cdt.internal.core.index.composite.ICompositesFactory;
@ -38,10 +37,4 @@ public class CompositeCPPParameterSpecialization extends CompositeCPPParameter i
}
return CPPTemplateParameterMap.EMPTY;
}
@Override
@Deprecated
public ObjectMap getArgumentMap() {
return TemplateInstanceUtil.getArgumentMap(cf, rbinding);
}
}

View file

@ -15,7 +15,6 @@ import org.eclipse.cdt.core.dom.ast.IBinding;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPBinding;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPSpecialization;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameterMap;
import org.eclipse.cdt.core.parser.util.ObjectMap;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateParameterMap;
import org.eclipse.cdt.internal.core.index.composite.ICompositesFactory;
@ -37,10 +36,4 @@ class CompositeCPPTypedefSpecialization extends CompositeCPPTypedef implements I
}
return CPPTemplateParameterMap.EMPTY;
}
@Override
@Deprecated
public ObjectMap getArgumentMap() {
return TemplateInstanceUtil.getArgumentMap(cf, rbinding);
}
}

View file

@ -14,7 +14,6 @@ import org.eclipse.cdt.core.dom.ast.IBinding;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPSpecialization;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameterMap;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPUsingDeclaration;
import org.eclipse.cdt.core.parser.util.ObjectMap;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateParameterMap;
import org.eclipse.cdt.internal.core.index.composite.ICompositesFactory;
@ -36,10 +35,4 @@ class CompositeCPPUsingDeclarationSpecialization extends CompositeCPPUsingDeclar
}
return CPPTemplateParameterMap.EMPTY;
}
@Override
@Deprecated
public ObjectMap getArgumentMap() {
return TemplateInstanceUtil.getArgumentMap(cf, rbinding);
}
}

View file

@ -12,13 +12,11 @@
package org.eclipse.cdt.internal.core.index.composite.cpp;
import org.eclipse.cdt.core.dom.ast.IBinding;
import org.eclipse.cdt.core.dom.ast.IType;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPSpecialization;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateArgument;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateDefinition;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameterMap;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPVariableInstance;
import org.eclipse.cdt.core.parser.util.ObjectMap;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateParameterMap;
import org.eclipse.cdt.internal.core.index.composite.ICompositesFactory;
@ -45,12 +43,6 @@ public class CompositeCPPVariableInstance extends CompositeCPPVariable implement
return delegate.isExplicitSpecialization();
}
@Override
@Deprecated
public IType[] getArguments() {
return TemplateInstanceUtil.getArguments(cf, delegate);
}
@Override
public IBinding getSpecializedBinding() {
return TemplateInstanceUtil.getSpecializedBinding(cf, rbinding);
@ -64,10 +56,4 @@ public class CompositeCPPVariableInstance extends CompositeCPPVariable implement
return CPPTemplateParameterMap.EMPTY;
}
@Override
@Deprecated
public ObjectMap getArgumentMap() {
return TemplateInstanceUtil.getArgumentMap(cf, rbinding);
}
}

View file

@ -17,7 +17,6 @@ import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.dom.ast.DOMException;
import org.eclipse.cdt.core.dom.ast.IBinding;
import org.eclipse.cdt.core.dom.ast.IType;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPClassTemplatePartialSpecialization;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPPartialSpecialization;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPSpecialization;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateArgument;
@ -26,7 +25,6 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateInstance;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameter;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameterMap;
import org.eclipse.cdt.core.index.IIndexBinding;
import org.eclipse.cdt.core.parser.util.ObjectMap;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateNonTypeArgument;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateParameterMap;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateTypeArgument;
@ -112,53 +110,6 @@ public class TemplateInstanceUtil {
return arg;
}
@Deprecated
public static ObjectMap getArgumentMap(ICompositesFactory cf, IIndexBinding rbinding) {
ICPPSpecialization specn= (ICPPSpecialization) rbinding;
IBinding specd= ((CPPCompositesFactory) cf).findOneBinding(specn.getSpecializedBinding());
if (specd == null)
specd= specn.getSpecializedBinding();
ObjectMap preresult= specn.getArgumentMap();
ObjectMap result= new ObjectMap(preresult.size());
Object[] keys= preresult.keyArray();
Object[] keysToAdapt= keys;
if (specd instanceof ICPPTemplateDefinition) {
keysToAdapt= ((ICPPTemplateDefinition) specd).getTemplateParameters();
}
for (int i= 0; i < keys.length && i < keysToAdapt.length; i++) {
IType type= (IType) preresult.get(keys[i]);
result.put(
cf.getCompositeBinding((IIndexFragmentBinding) keysToAdapt[i]), cf.getCompositeType(type));
}
return result;
}
@Deprecated
public static IType[] getArguments(ICompositesFactory cf, ICPPTemplateInstance rbinding) {
return getArguments(cf, rbinding.getArguments());
}
@Deprecated
public static IType[] getArguments(ICompositesFactory cf, ICPPClassTemplatePartialSpecialization rbinding) {
try {
return getArguments(cf, rbinding.getArguments());
} catch (DOMException e) {
CCorePlugin.log(e);
return IType.EMPTY_TYPE_ARRAY;
}
}
@Deprecated
private static IType[] getArguments(ICompositesFactory cf, IType[] result) {
for (int i= 0; i < result.length; i++) {
result[i] = cf.getCompositeType(result[i]);
}
return result;
}
public static ICPPTemplateParameter[] convert(ICompositesFactory cf, ICPPTemplateParameter[] preResult) {
ICPPTemplateParameter[] result= new ICPPTemplateParameter[preResult.length];
for (int i= 0; i < result.length; i++) {

View file

@ -21,7 +21,6 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateDefinition;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateInstance;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClassInstance;
import org.eclipse.cdt.internal.core.dom.parser.cpp.ICPPClassSpecializationScope;
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates;
import org.eclipse.cdt.internal.core.index.IIndexCPPBindingConstants;
import org.eclipse.cdt.internal.core.pdom.dom.PDOMBinding;
import org.eclipse.cdt.internal.core.pdom.dom.PDOMLinkage;
@ -121,10 +120,4 @@ class PDOMCPPClassInstance extends PDOMCPPClassSpecialization implements ICPPTem
return CPPClassInstance.isSameClassInstance(this, type);
}
@Override
@Deprecated
public IType[] getArguments() {
return CPPTemplates.getArguments(getTemplateArguments());
}
}

View file

@ -21,7 +21,6 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateArgument;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateDefinition;
import org.eclipse.cdt.internal.core.Util;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClassTemplatePartialSpecialization;
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates;
import org.eclipse.cdt.internal.core.index.IIndexCPPBindingConstants;
import org.eclipse.cdt.internal.core.index.IndexCPPSignatureUtil;
import org.eclipse.cdt.internal.core.pdom.db.Database;
@ -124,12 +123,6 @@ class PDOMCPPClassTemplatePartialSpecialization extends PDOMCPPClassTemplate
}
}
@Override
@Deprecated
public IType[] getArguments() {
return CPPTemplates.getArguments(getTemplateArguments());
}
@Override
public int pdomCompareTo(PDOMBinding other) {
int cmp = super.pdomCompareTo(other);

View file

@ -19,7 +19,6 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPClassTemplatePartialSpecializationSp
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateArgument;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateDefinition;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPClassTemplatePartialSpecialization;
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates;
import org.eclipse.cdt.internal.core.index.IIndexCPPBindingConstants;
import org.eclipse.cdt.internal.core.pdom.db.Database;
import org.eclipse.cdt.internal.core.pdom.dom.PDOMBinding;
@ -135,12 +134,6 @@ class PDOMCPPClassTemplatePartialSpecializationSpecialization extends PDOMCPPCla
}
}
@Override
@Deprecated
public IType[] getArguments() {
return CPPTemplates.getArguments(getTemplateArguments());
}
@Override
public ICPPTemplateDefinition getPrimaryTemplate() {
return getPrimaryClassTemplate();

View file

@ -20,7 +20,6 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPFunction;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPFunctionInstance;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateArgument;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateDefinition;
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates;
import org.eclipse.cdt.internal.core.index.IIndexCPPBindingConstants;
import org.eclipse.cdt.internal.core.pdom.db.Database;
import org.eclipse.cdt.internal.core.pdom.dom.PDOMBinding;
@ -110,10 +109,4 @@ class PDOMCPPFunctionInstance extends PDOMCPPFunctionSpecialization implements I
return null;
}
}
@Override
@Deprecated
public IType[] getArguments() {
return CPPTemplates.getArguments(getTemplateArguments());
}
}

View file

@ -18,8 +18,6 @@ import org.eclipse.cdt.core.dom.ast.IBinding;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPSpecialization;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateInstance;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameterMap;
import org.eclipse.cdt.core.parser.util.ObjectMap;
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates;
import org.eclipse.cdt.internal.core.index.IndexCPPSignatureUtil;
import org.eclipse.cdt.internal.core.pdom.dom.IPDOMBinding;
import org.eclipse.cdt.internal.core.pdom.dom.IPDOMOverloader;
@ -86,12 +84,6 @@ abstract class PDOMCPPSpecialization extends PDOMCPPBinding implements ICPPSpeci
return (IPDOMBinding) PDOMNode.load(getPDOM(), specializedRec);
}
@Override
@Deprecated
public ObjectMap getArgumentMap() {
return CPPTemplates.getArgumentMap(this, getTemplateParameterMap());
}
@Override
public ICPPTemplateParameterMap getTemplateParameterMap() {
if (fArgMap == null) {

View file

@ -20,7 +20,6 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateDefinition;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPVariableInstance;
import org.eclipse.cdt.internal.core.dom.parser.ProblemType;
import org.eclipse.cdt.internal.core.dom.parser.Value;
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates;
import org.eclipse.cdt.internal.core.index.IIndexCPPBindingConstants;
import org.eclipse.cdt.internal.core.pdom.db.Database;
import org.eclipse.cdt.internal.core.pdom.dom.IPDOMBinding;
@ -81,12 +80,6 @@ public class PDOMCPPVariableInstance extends PDOMCPPSpecialization implements IC
}
}
@Override
@Deprecated
public IType[] getArguments() {
return CPPTemplates.getArguments(getTemplateArguments());
}
@Override
public boolean isMutable() {
return false;