471 ResolvedJavaType iSai2 = metaAccess.lookupJavaType(SingleAbstractImplementorInterface2.class); |
471 ResolvedJavaType iSai2 = metaAccess.lookupJavaType(SingleAbstractImplementorInterface2.class); |
472 ResolvedJavaType aSai2 = metaAccess.lookupJavaType(SingleAbstractImplementor2.class); |
472 ResolvedJavaType aSai2 = metaAccess.lookupJavaType(SingleAbstractImplementor2.class); |
473 metaAccess.lookupJavaType(ConcreteTransitiveImplementor1.class); |
473 metaAccess.lookupJavaType(ConcreteTransitiveImplementor1.class); |
474 metaAccess.lookupJavaType(ConcreteTransitiveImplementor2.class); |
474 metaAccess.lookupJavaType(ConcreteTransitiveImplementor2.class); |
475 assertEquals(aSai2, iSai2.getSingleImplementor()); |
475 assertEquals(aSai2, iSai2.getSingleImplementor()); |
|
476 |
|
477 for (Class<?> c : classes) { |
|
478 ResolvedJavaType type = metaAccess.lookupJavaType(c); |
|
479 try { |
|
480 type.getSingleImplementor(); |
|
481 if (!c.isInterface()) { |
|
482 throw new AssertionError("Expected exception for calling getSingleImplmentor on " + c.getName()); |
|
483 } |
|
484 } catch (JVMCIError e) { |
|
485 if (c.isInterface()) { |
|
486 throw new AssertionError("Unexpected exception", e); |
|
487 } |
|
488 } |
|
489 } |
476 } |
490 } |
477 |
491 |
478 @Test(expected = JVMCIError.class) |
492 @Test(expected = JVMCIError.class) |
479 public void getSingleImplementorTestClassReceiver() { |
493 public void getSingleImplementorTestClassReceiver() { |
480 ResolvedJavaType base = metaAccess.lookupJavaType(Base.class); |
494 ResolvedJavaType base = metaAccess.lookupJavaType(Base.class); |
828 assertNotNull(metaAccess.lookupJavaType(D.class).getClassInitializer()); |
842 assertNotNull(metaAccess.lookupJavaType(D.class).getClassInitializer()); |
829 assertNull(metaAccess.lookupJavaType(B.class).getClassInitializer()); |
843 assertNull(metaAccess.lookupJavaType(B.class).getClassInitializer()); |
830 assertNull(metaAccess.lookupJavaType(C.class).getClassInitializer()); |
844 assertNull(metaAccess.lookupJavaType(C.class).getClassInitializer()); |
831 assertNull(metaAccess.lookupJavaType(int.class).getClassInitializer()); |
845 assertNull(metaAccess.lookupJavaType(int.class).getClassInitializer()); |
832 assertNull(metaAccess.lookupJavaType(void.class).getClassInitializer()); |
846 assertNull(metaAccess.lookupJavaType(void.class).getClassInitializer()); |
|
847 for (Class<?> c : classes) { |
|
848 ResolvedJavaType type = metaAccess.lookupJavaType(c); |
|
849 type.getClassInitializer(); |
|
850 } |
833 } |
851 } |
834 |
852 |
835 @Test |
853 @Test |
836 public void getAnnotationsTest() { |
854 public void getAnnotationsTest() { |
837 for (Class<?> c : classes) { |
855 for (Class<?> c : classes) { |