@@ -643,37 +643,34 @@ private String getName0() {
643643 * @see java.lang.RuntimePermission
644644 */
645645 public ClassLoader getClassLoader () {
646- ClassLoader cl = getClassLoader0 ();
647- if (cl == null )
648- return null ;
646+ return getClassLoader0 ();
649647// SecurityManager sm = System.getSecurityManager();
650648// if (sm != null) {
651649// ClassLoader ccl = ClassLoader.getCallerClassLoader();
652650// if (ccl != null && ccl != cl && !cl.isAncestor(ccl)) {
653651// sm.checkPermission(SecurityConstants.GET_CLASSLOADER_PERMISSION);
654652// }
655653// }
656- return cl ;
654+ // return cl;
657655 }
658656
659657 // Package-private to allow ClassLoader access
660658 ClassLoader getClassLoader0 () {
661- @ SuppressWarnings ("unused" )
662- String clazzName = $clazz$ .__CLASS_NAME__ ;
659+ ClassLoader loader = null ;
663660 /**
664661 * getClass().getClassLoader() uses full path
665662 *
666663 * @j2sNative
667664 *
668665 * var baseFolder = Clazz._Loader.getJ2SLibBase();
669- * var loader = Clazz._Loader.requireLoaderByBase(baseFolder);
670- * loader.getResourceAsStream = this.getResourceAsStream;
671- * loader.getResource = this.getResource; // BH return loader;
666+ * loader = Clazz._Loader.requireLoaderByBase(baseFolder);
667+ * var me = this;
668+ * loader.getResourceAsStream$S = function(s) { return me.getResourceAsStream$S(s.indexOf("/") == 0 ? s : "/" + s) };
669+ * loader.getResource$S = function(s) { return me.getResource$S(s.indexOf("/") == 0 ? s : "/" + s) };
672670 *
673671 */
674-
675- { return null ;
676- }
672+ { }
673+ return loader ;
677674
678675 }
679676
@@ -2138,6 +2135,7 @@ public Constructor<T> getDeclaredConstructor(Class<?>... parameterTypes)
21382135 * @since JDK1.1
21392136 */
21402137 public InputStream getResourceAsStream (String name ) {
2138+ // allows an optional second argument to be a base directory in JavaScript
21412139 @ SuppressWarnings ("unused" )
21422140 String clazzName = this .$clazz$ .__CLASS_NAME__ ;
21432141 /**
@@ -2151,7 +2149,6 @@ public InputStream getResourceAsStream(String name) {
21512149 name = "/" + name;
21522150 }
21532151 if (name.indexOf ('/') == 0) {
2154- //is.url = name.substring (1);
21552152 if (arguments.length == 2) // additional argument
21562153 baseFolder = arguments[1];
21572154 if (!baseFolder)
@@ -2258,8 +2255,8 @@ public java.net.URL getResource(String name) {
22582255 /**
22592256 * @j2sNative
22602257 *
2261- * var stream = this.getResourceAsStream(name); return(stream
2262- * ? stream.url : null);
2258+ * var stream = this.getResourceAsStream$S (name);
2259+ * return(stream ? stream.url : null);
22632260 *
22642261 */
22652262 {
0 commit comments