comparison jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java @ 23366:45168ac6d3bc

Merge.
author Roland Schatz <roland.schatz@oracle.com>
date Fri, 29 Apr 2016 11:10:18 +0200
parents 30af491f98c5 b05ad394cfd5
children 802821d82a92
comparison
equal deleted inserted replaced
23365:30af491f98c5 23366:45168ac6d3bc
840 } 840 }
841 } 841 }
842 } 842 }
843 } 843 }
844 844
845 static class TrivialCloneable implements Cloneable {
846 @Override
847 protected Object clone() {
848 return new TrivialCloneable();
849 }
850 }
851
852 @Test
853 public void isAllocationCloneableTest() {
854 ResolvedJavaType cloneable = metaAccess.lookupJavaType(Cloneable.class);
855 for (Class<?> c : classes) {
856 ResolvedJavaType type = metaAccess.lookupJavaType(c);
857 if (type.isAllocationCloneable()) {
858 // Only Cloneable types should be allocation cloneable
859 assertTrue(c.toString(), cloneable.isAssignableFrom(type));
860 }
861 }
862 /*
863 * We can't know for sure which types should be allocation cloneable on a particular
864 * platform but assume that at least totally trivial objects should be.
865 */
866 ResolvedJavaType trivialCloneable = metaAccess.lookupJavaType(TrivialCloneable.class);
867 assertTrue(trivialCloneable.toString(), trivialCloneable.isAllocationCloneable());
868 }
869
845 @Test 870 @Test
846 public void findMethodTest() { 871 public void findMethodTest() {
847 try { 872 try {
848 ResolvedJavaMethod findFoo = metaAccess.lookupJavaType(D.class).findMethod("foo", metaAccess.parseMethodDescriptor("()V")); 873 ResolvedJavaMethod findFoo = metaAccess.lookupJavaType(D.class).findMethod("foo", metaAccess.parseMethodDescriptor("()V"));
849 ResolvedJavaMethod expectedFoo = metaAccess.lookupJavaMethod(D.class.getDeclaredMethod("foo")); 874 ResolvedJavaMethod expectedFoo = metaAccess.lookupJavaMethod(D.class.getDeclaredMethod("foo"));