use of org.jf.smalidea.psi.impl.SmaliExtendsList in project smali by JesusFreke.
the class SmaliImplementsExtendsTest method testNormalClass.
public void testNormalClass() {
myFixture.addFileToProject("my/pkg/base.smali", ".class public Lmy/pkg/base; .super Ljava/lang/Object;");
myFixture.addFileToProject("my/pkg/iface.smali", ".class public Lmy/pkg/iface; .super Ljava/lang/Object;");
myFixture.addFileToProject("my/pkg/iface2.smali", ".class public Lmy/pkg/iface2; .super Ljava/lang/Object;");
SmaliFile file = (SmaliFile) myFixture.addFileToProject("my/pkg/blah.smali", ".class public Lmy/pkg/blah; .implements Lmy/pkg/iface; .super Lmy/pkg/base; " + ".implements Lmy/pkg/iface2;");
SmaliClass smaliClass = file.getPsiClass();
SmaliExtendsList extendsList = smaliClass.getExtendsList();
Assert.assertEquals(1, extendsList.getReferencedTypes().length);
Assert.assertEquals("my.pkg.base", extendsList.getReferencedTypes()[0].getCanonicalText());
Assert.assertEquals(1, extendsList.getReferenceNames().length);
Assert.assertEquals("my.pkg.base", extendsList.getReferenceNames()[0]);
Assert.assertEquals(1, smaliClass.getExtendsListTypes().length);
Assert.assertEquals("my.pkg.base", smaliClass.getExtendsListTypes()[0].getCanonicalText());
PsiClass resolvedSuper = extendsList.getReferencedTypes()[0].resolve();
Assert.assertNotNull(resolvedSuper);
Assert.assertEquals("my.pkg.base", resolvedSuper.getQualifiedName());
SmaliImplementsList implementsList = smaliClass.getImplementsList();
Assert.assertEquals(2, implementsList.getReferencedTypes().length);
Assert.assertEquals("my.pkg.iface", implementsList.getReferencedTypes()[0].getCanonicalText());
Assert.assertEquals("my.pkg.iface2", implementsList.getReferencedTypes()[1].getCanonicalText());
Assert.assertEquals(2, implementsList.getReferenceNames().length);
Assert.assertEquals("my.pkg.iface", implementsList.getReferenceNames()[0]);
Assert.assertEquals("my.pkg.iface2", implementsList.getReferenceNames()[1]);
Assert.assertEquals(2, smaliClass.getImplementsListTypes().length);
Assert.assertEquals("my.pkg.iface", smaliClass.getImplementsListTypes()[0].getCanonicalText());
Assert.assertEquals("my.pkg.iface2", smaliClass.getImplementsListTypes()[1].getCanonicalText());
PsiClass resolvedInterface = implementsList.getReferencedTypes()[0].resolve();
Assert.assertNotNull(resolvedInterface);
Assert.assertEquals("my.pkg.iface", resolvedInterface.getQualifiedName());
resolvedInterface = implementsList.getReferencedTypes()[1].resolve();
Assert.assertNotNull(resolvedInterface);
Assert.assertEquals("my.pkg.iface2", resolvedInterface.getQualifiedName());
}
use of org.jf.smalidea.psi.impl.SmaliExtendsList in project smali by JesusFreke.
the class SmaliImplementsExtendsTest method testInterface.
public void testInterface() {
myFixture.addFileToProject("my/pkg/iface.smali", ".class public Lmy/pkg/iface; .super Ljava/lang/Object;");
myFixture.addFileToProject("my/pkg/iface2.smali", ".class public Lmy/pkg/iface2; .super Ljava/lang/Object;");
SmaliFile file = (SmaliFile) myFixture.addFileToProject("my/pkg/blah.smali", ".class public interface Lmy/pkg/blah; .implements Lmy/pkg/iface; .super Ljava/lang/Object; " + ".implements Lmy/pkg/iface2;");
SmaliClass smaliClass = file.getPsiClass();
SmaliExtendsList extendsList = smaliClass.getExtendsList();
Assert.assertEquals(2, extendsList.getReferencedTypes().length);
Assert.assertEquals("my.pkg.iface", extendsList.getReferencedTypes()[0].getCanonicalText());
Assert.assertEquals("my.pkg.iface2", extendsList.getReferencedTypes()[1].getCanonicalText());
Assert.assertEquals(2, extendsList.getReferenceNames().length);
Assert.assertEquals("my.pkg.iface", extendsList.getReferenceNames()[0]);
Assert.assertEquals("my.pkg.iface2", extendsList.getReferenceNames()[1]);
Assert.assertEquals(2, smaliClass.getExtendsListTypes().length);
Assert.assertEquals("my.pkg.iface", smaliClass.getExtendsListTypes()[0].getCanonicalText());
Assert.assertEquals("my.pkg.iface2", smaliClass.getExtendsListTypes()[1].getCanonicalText());
PsiClass resolvedInterface = extendsList.getReferencedTypes()[0].resolve();
Assert.assertNotNull(resolvedInterface);
Assert.assertEquals("my.pkg.iface", resolvedInterface.getQualifiedName());
resolvedInterface = extendsList.getReferencedTypes()[1].resolve();
Assert.assertNotNull(resolvedInterface);
Assert.assertEquals("my.pkg.iface2", resolvedInterface.getQualifiedName());
SmaliImplementsList implementsList = smaliClass.getImplementsList();
Assert.assertEquals(0, implementsList.getReferencedTypes().length);
Assert.assertEquals(0, implementsList.getReferenceNames().length);
Assert.assertEquals(0, smaliClass.getImplementsListTypes().length);
}
Aggregations