mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-07 17:56:01 +02:00
199572: fix StackOverflowError
This commit is contained in:
parent
2d980092d9
commit
ec2fd1ebff
2 changed files with 16 additions and 1 deletions
|
@ -645,4 +645,18 @@ public class IndexCPPTemplateResolutionTest extends IndexBindingResolutionTestBa
|
|||
IBinding b5 = getBindingFromASTName("left(a,b)", 4);
|
||||
IBinding b6 = getBindingFromASTName("left(a,b)", 4);
|
||||
}
|
||||
|
||||
// class A {};
|
||||
// template<typename T1, typename T2> class D {};
|
||||
// template<typename X1> class D<X1,X1> {};
|
||||
|
||||
// D<A,A> daa;
|
||||
public void testClassPartialSpecializations_199572() throws Exception {
|
||||
IBinding b0= getBindingFromASTName("D<A,A>", 6);
|
||||
assertInstance(b0, ICPPTemplateInstance.class);
|
||||
assertInstance(b0, ICPPClassType.class);
|
||||
IBinding b1= getBindingFromASTName("D<A,A>", 1);
|
||||
assertInstance(b1, ICPPTemplateDefinition.class);
|
||||
assertInstance(b1, ICPPClassType.class);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,4 +37,5 @@ public class CompositeCPPClassTemplatePartialSpecialization extends CompositeCPP
|
|||
public ObjectMap getArgumentMap() { return TemplateInstanceUtil.getArgumentMap(cf, rbinding); }
|
||||
public IBinding getSpecializedBinding() { return TemplateInstanceUtil.getSpecializedBinding(cf, rbinding); }
|
||||
public int getSignatureMemento() throws CoreException { return ((IPDOMOverloader) rbinding).getSignatureMemento(); }
|
||||
public IBinding instantiate(IType[] args) { return InternalTemplateInstantiatorUtil.instantiate(args, cf, rbinding); }
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue