Search in sources :

Example 1 with Panini

use of spoon.test.reference.testclasses.Panini in project spoon by INRIA.

the class TypeReferenceTest method testIgnoreEnclosingClassInActualTypes.

@Test
public void testIgnoreEnclosingClassInActualTypes() throws Exception {
    final CtType<Panini> aPanini = buildClass(Panini.class);
    final CtStatement ctReturn = aPanini.getMethod("entryIterator").getBody().getStatement(0);
    assertTrue(ctReturn instanceof CtReturn);
    final CtExpression ctConstructorCall = ((CtReturn) ctReturn).getReturnedExpression();
    assertTrue(ctConstructorCall instanceof CtConstructorCall);
    assertEquals("spoon.test.reference.testclasses.Panini<K, V>.Itr<java.util.Map.Entry<K, V>>", ctConstructorCall.getType().toString());
}
Also used : CtStatement(spoon.reflect.code.CtStatement) CtReturn(spoon.reflect.code.CtReturn) CtExpression(spoon.reflect.code.CtExpression) CtConstructorCall(spoon.reflect.code.CtConstructorCall) Panini(spoon.test.reference.testclasses.Panini) Test(org.junit.Test)

Example 2 with Panini

use of spoon.test.reference.testclasses.Panini in project spoon by INRIA.

the class TypeReferenceTest method testSubTypeAnonymous.

@Test
public void testSubTypeAnonymous() throws Exception {
    CtType<Panini> paniniCtType = buildClass(Panini.class);
    CtClass anonymousClass = ((CtNewClass) ((CtReturn) paniniCtType.getMethod("entryIterator").getBody().getStatement(0)).getReturnedExpression()).getAnonymousClass();
    assertTrue(anonymousClass.getReference().isSubtypeOf(paniniCtType.getFactory().Type().createReference("spoon.test.reference.testclasses.Panini$Itr")));
}
Also used : CtClass(spoon.reflect.declaration.CtClass) CtNewClass(spoon.reflect.code.CtNewClass) Panini(spoon.test.reference.testclasses.Panini) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)2 Panini (spoon.test.reference.testclasses.Panini)2 CtConstructorCall (spoon.reflect.code.CtConstructorCall)1 CtExpression (spoon.reflect.code.CtExpression)1 CtNewClass (spoon.reflect.code.CtNewClass)1 CtReturn (spoon.reflect.code.CtReturn)1 CtStatement (spoon.reflect.code.CtStatement)1 CtClass (spoon.reflect.declaration.CtClass)1