rt/emul/mini/src/main/java/java/lang/Class.java
changeset 1717 f5200d90b730
parent 1702 228f26fc1159
child 1727 86e61729f754
     1.1 --- a/rt/emul/mini/src/main/java/java/lang/Class.java	Tue Sep 23 21:52:27 2014 +0200
     1.2 +++ b/rt/emul/mini/src/main/java/java/lang/Class.java	Thu Oct 30 01:50:21 2014 +0100
     1.3 @@ -1436,19 +1436,21 @@
     1.4       * @since  JDK1.1
     1.5       */
     1.6      public java.net.URL getResource(String name) {
     1.7 -        return newResourceURL(name, getResourceAsStream(name));
     1.8 +        name = resolveName(name);
     1.9 +        byte[] arr = ClassLoader.getResourceAsStream0(name, 0);
    1.10 +        return arr == null ? null : newResourceURL(name, arr);
    1.11      }
    1.12  
    1.13 -    static URL newResourceURL(String name, InputStream is) {
    1.14 -        return is == null ? null : newResourceURL0(URL.class, "res:/" + name, is);
    1.15 +    static URL newResourceURL(String name, byte[] arr) {
    1.16 +        return newResourceURL0(URL.class, "res:/" + name, arr);
    1.17      }
    1.18      
    1.19 -    @JavaScriptBody(args = { "url", "spec", "is" }, body = 
    1.20 +    @JavaScriptBody(args = { "url", "spec", "arr" }, body = 
    1.21          "var u = url.cnstr(true);\n"
    1.22 -      + "u.constructor.cons__VLjava_lang_String_2Ljava_io_InputStream_2.call(u, spec, is);\n"
    1.23 +      + "u.constructor.cons__VLjava_lang_String_2_3B.call(u, spec, arr);\n"
    1.24        + "return u;"
    1.25      )
    1.26 -    private static native URL newResourceURL0(Class<URL> url, String spec, InputStream is);
    1.27 +    private static native URL newResourceURL0(Class<URL> url, String spec, byte[] arr);
    1.28  
    1.29     /**
    1.30       * Add a package name prefix if the name is not absolute Remove leading "/"