# HG changeset patch # User Michael Haupt # Date 1361368269 -3600 # Node ID fb0ef768d877109959c54d970b4f40f9f22cf7ae # Parent a452bd211e430ec0f13541b08c460664ae4b8be5 simplified class file path retrieval, added test diff -r a452bd211e43 -r fb0ef768d877 graal/com.oracle.graal.api.meta.test/src/com/oracle/graal/api/meta/test/TestResolvedJavaType.java --- a/graal/com.oracle.graal.api.meta.test/src/com/oracle/graal/api/meta/test/TestResolvedJavaType.java Wed Feb 20 14:49:27 2013 +0100 +++ b/graal/com.oracle.graal.api.meta.test/src/com/oracle/graal/api/meta/test/TestResolvedJavaType.java Wed Feb 20 14:51:09 2013 +0100 @@ -29,6 +29,7 @@ import java.lang.annotation.*; import java.lang.reflect.*; +import java.net.*; import java.util.*; import org.junit.*; @@ -556,4 +557,21 @@ } } } + + @Test + public void classFilePathTest() { + for (Class c : classes) { + ResolvedJavaType type = runtime.lookupJavaType(c); + URL path = type.getClassFilePath(); + if (type.isPrimitive() || type.isArray()) { + assertEquals(null, path); + } else { + assertNotNull(path); + String pathString = path.getPath(); + if (type.isLocal() || type.isMember()) { + assertTrue(pathString.indexOf('$') > 0); + } + } + } + } } diff -r a452bd211e43 -r fb0ef768d877 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java Wed Feb 20 14:49:27 2013 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java Wed Feb 20 14:51:09 2013 +0100 @@ -502,12 +502,7 @@ @Override public URL getClassFilePath() { Class cls = mirror(); - String name = cls.getName(); - int dot = name.lastIndexOf('.'); - if (dot != -1) { - name = name.substring(dot + 1); - } - return cls.getResource(name + ".class"); + return cls.getResource(MetaUtil.getSimpleName(cls, true).replace('.', '$') + ".class"); } @Override