Mercurial > hg > graal-jvmci-8
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")); |