diff options
Diffstat (limited to 'NET/worlds/scape/WorldScriptLoader.java')
| -rw-r--r-- | NET/worlds/scape/WorldScriptLoader.java | 276 |
1 files changed, 276 insertions, 0 deletions
diff --git a/NET/worlds/scape/WorldScriptLoader.java b/NET/worlds/scape/WorldScriptLoader.java new file mode 100644 index 0000000..e323e78 --- /dev/null +++ b/NET/worlds/scape/WorldScriptLoader.java @@ -0,0 +1,276 @@ +/* */ package NET.worlds.scape; +/* */ +/* */ import java.io.PrintStream; +/* */ import java.util.Hashtable; +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ class WorldScriptLoader +/* */ extends ClassLoader +/* */ { +/* 19 */ Hashtable<String, Class<?>> cache = new Hashtable(); +/* */ String lastWorldName; +/* */ +/* */ /* Error */ +/* */ private byte[] loadClassData(String name) +/* */ { +/* */ // Byte code: +/* */ // 0: ldc 27 +/* */ // 2: astore_2 +/* */ // 3: aload_1 +/* */ // 4: aload_2 +/* */ // 5: invokevirtual 29 java/lang/String:startsWith (Ljava/lang/String;)Z +/* */ // 8: ifeq +12 -> 20 +/* */ // 11: aload_1 +/* */ // 12: aload_2 +/* */ // 13: invokevirtual 35 java/lang/String:length ()I +/* */ // 16: invokevirtual 39 java/lang/String:substring (I)Ljava/lang/String; +/* */ // 19: astore_1 +/* */ // 20: aload_1 +/* */ // 21: ldc 43 +/* */ // 23: invokevirtual 45 java/lang/String:indexOf (Ljava/lang/String;)I +/* */ // 26: istore_3 +/* */ // 27: iload_3 +/* */ // 28: iconst_m1 +/* */ // 29: if_icmpne +8 -> 37 +/* */ // 32: iconst_0 +/* */ // 33: istore_3 +/* */ // 34: goto +18 -> 52 +/* */ // 37: iload_3 +/* */ // 38: new 30 java/lang/String +/* */ // 41: dup +/* */ // 42: ldc 43 +/* */ // 44: invokespecial 49 java/lang/String:<init> (Ljava/lang/String;)V +/* */ // 47: invokevirtual 35 java/lang/String:length ()I +/* */ // 50: iadd +/* */ // 51: istore_3 +/* */ // 52: aload_1 +/* */ // 53: ldc 52 +/* */ // 55: invokevirtual 45 java/lang/String:indexOf (Ljava/lang/String;)I +/* */ // 58: istore 4 +/* */ // 60: iload_3 +/* */ // 61: ifne +10 -> 71 +/* */ // 64: aload_0 +/* */ // 65: getfield 54 NET/worlds/scape/WorldScriptLoader:lastWorldName Ljava/lang/String; +/* */ // 68: ifnonnull +51 -> 119 +/* */ // 71: iload 4 +/* */ // 73: iconst_m1 +/* */ // 74: if_icmpeq +15 -> 89 +/* */ // 77: aload_1 +/* */ // 78: iload_3 +/* */ // 79: iload 4 +/* */ // 81: invokevirtual 56 java/lang/String:substring (II)Ljava/lang/String; +/* */ // 84: astore 5 +/* */ // 86: goto +68 -> 154 +/* */ // 89: aload_1 +/* */ // 90: iload_3 +/* */ // 91: invokevirtual 39 java/lang/String:substring (I)Ljava/lang/String; +/* */ // 94: astore 5 +/* */ // 96: new 59 java/lang/StringBuilder +/* */ // 99: dup +/* */ // 100: aload_1 +/* */ // 101: invokestatic 61 java/lang/String:valueOf (Ljava/lang/Object;)Ljava/lang/String; +/* */ // 104: invokespecial 65 java/lang/StringBuilder:<init> (Ljava/lang/String;)V +/* */ // 107: ldc 52 +/* */ // 109: invokevirtual 66 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; +/* */ // 112: invokevirtual 70 java/lang/StringBuilder:toString ()Ljava/lang/String; +/* */ // 115: astore_1 +/* */ // 116: goto +38 -> 154 +/* */ // 119: aload_0 +/* */ // 120: getfield 54 NET/worlds/scape/WorldScriptLoader:lastWorldName Ljava/lang/String; +/* */ // 123: astore 5 +/* */ // 125: aload_1 +/* */ // 126: ldc 52 +/* */ // 128: invokevirtual 74 java/lang/String:endsWith (Ljava/lang/String;)Z +/* */ // 131: ifne +23 -> 154 +/* */ // 134: new 59 java/lang/StringBuilder +/* */ // 137: dup +/* */ // 138: aload_1 +/* */ // 139: invokestatic 61 java/lang/String:valueOf (Ljava/lang/Object;)Ljava/lang/String; +/* */ // 142: invokespecial 65 java/lang/StringBuilder:<init> (Ljava/lang/String;)V +/* */ // 145: ldc 52 +/* */ // 147: invokevirtual 66 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; +/* */ // 150: invokevirtual 70 java/lang/StringBuilder:toString ()Ljava/lang/String; +/* */ // 153: astore_1 +/* */ // 154: new 59 java/lang/StringBuilder +/* */ // 157: dup +/* */ // 158: invokestatic 77 NET/worlds/network/NetUpdate:getUpgradeServerURL ()Ljava/lang/String; +/* */ // 161: invokestatic 61 java/lang/String:valueOf (Ljava/lang/Object;)Ljava/lang/String; +/* */ // 164: invokespecial 65 java/lang/StringBuilder:<init> (Ljava/lang/String;)V +/* */ // 167: aload 5 +/* */ // 169: invokevirtual 66 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; +/* */ // 172: ldc 82 +/* */ // 174: invokevirtual 66 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; +/* */ // 177: aload_1 +/* */ // 178: invokevirtual 66 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder; +/* */ // 181: invokevirtual 70 java/lang/StringBuilder:toString ()Ljava/lang/String; +/* */ // 184: invokestatic 84 NET/worlds/network/URL:make (Ljava/lang/String;)LNET/worlds/network/URL; +/* */ // 187: astore 6 +/* */ // 189: aload 6 +/* */ // 191: iconst_1 +/* */ // 192: invokestatic 90 NET/worlds/network/Cache:getFile (LNET/worlds/network/URL;Z)LNET/worlds/network/CacheFile; +/* */ // 195: astore 7 +/* */ // 197: aload 7 +/* */ // 199: invokevirtual 96 NET/worlds/network/CacheFile:waitUntilLoaded ()V +/* */ // 202: aload 7 +/* */ // 204: invokevirtual 101 NET/worlds/network/CacheFile:error ()Z +/* */ // 207: ifeq +5 -> 212 +/* */ // 210: aconst_null +/* */ // 211: areturn +/* */ // 212: aload_0 +/* */ // 213: aload 5 +/* */ // 215: putfield 54 NET/worlds/scape/WorldScriptLoader:lastWorldName Ljava/lang/String; +/* */ // 218: aload 7 +/* */ // 220: invokevirtual 105 NET/worlds/network/CacheFile:getLocalName ()Ljava/lang/String; +/* */ // 223: astore 8 +/* */ // 225: new 108 java/io/File +/* */ // 228: dup +/* */ // 229: aload 8 +/* */ // 231: invokespecial 110 java/io/File:<init> (Ljava/lang/String;)V +/* */ // 234: astore 9 +/* */ // 236: new 111 java/io/FileInputStream +/* */ // 239: dup +/* */ // 240: aload 9 +/* */ // 242: invokespecial 113 java/io/FileInputStream:<init> (Ljava/io/File;)V +/* */ // 245: astore 10 +/* */ // 247: sipush 1024 +/* */ // 250: newarray <illegal type> +/* */ // 252: astore 11 +/* */ // 254: new 116 java/io/ByteArrayOutputStream +/* */ // 257: dup +/* */ // 258: invokespecial 118 java/io/ByteArrayOutputStream:<init> ()V +/* */ // 261: astore 12 +/* */ // 263: aload 10 +/* */ // 265: aload 11 +/* */ // 267: invokevirtual 119 java/io/FileInputStream:read ([B)I +/* */ // 270: istore 13 +/* */ // 272: iload 13 +/* */ // 274: iconst_m1 +/* */ // 275: if_icmpne +6 -> 281 +/* */ // 278: goto +18 -> 296 +/* */ // 281: aload 12 +/* */ // 283: aload 11 +/* */ // 285: iconst_0 +/* */ // 286: iload 13 +/* */ // 288: invokevirtual 123 java/io/ByteArrayOutputStream:write ([BII)V +/* */ // 291: goto -28 -> 263 +/* */ // 294: astore 13 +/* */ // 296: aload 10 +/* */ // 298: invokevirtual 127 java/io/FileInputStream:close ()V +/* */ // 301: aload 12 +/* */ // 303: invokevirtual 130 java/io/ByteArrayOutputStream:toByteArray ()[B +/* */ // 306: areturn +/* */ // 307: astore 9 +/* */ // 309: aconst_null +/* */ // 310: areturn +/* */ // Line number table: +/* */ // Java source line #26 -> byte code offset #0 +/* */ // Java source line #27 -> byte code offset #3 +/* */ // Java source line #28 -> byte code offset #11 +/* */ // Java source line #32 -> byte code offset #20 +/* */ // Java source line #33 -> byte code offset #27 +/* */ // Java source line #34 -> byte code offset #32 +/* */ // Java source line #35 -> byte code offset #34 +/* */ // Java source line #36 -> byte code offset #37 +/* */ // Java source line #38 -> byte code offset #52 +/* */ // Java source line #41 -> byte code offset #60 +/* */ // Java source line #42 -> byte code offset #71 +/* */ // Java source line #43 -> byte code offset #77 +/* */ // Java source line #44 -> byte code offset #86 +/* */ // Java source line #45 -> byte code offset #89 +/* */ // Java source line #46 -> byte code offset #96 +/* */ // Java source line #48 -> byte code offset #116 +/* */ // Java source line #49 -> byte code offset #119 +/* */ // Java source line #50 -> byte code offset #125 +/* */ // Java source line #51 -> byte code offset #134 +/* */ // Java source line #56 -> byte code offset #154 +/* */ // Java source line #59 -> byte code offset #189 +/* */ // Java source line #60 -> byte code offset #197 +/* */ // Java source line #61 -> byte code offset #202 +/* */ // Java source line #62 -> byte code offset #210 +/* */ // Java source line #65 -> byte code offset #212 +/* */ // Java source line #66 -> byte code offset #218 +/* */ // Java source line #69 -> byte code offset #225 +/* */ // Java source line #71 -> byte code offset #236 +/* */ // Java source line #73 -> byte code offset #247 +/* */ // Java source line #75 -> byte code offset #254 +/* */ // Java source line #79 -> byte code offset #263 +/* */ // Java source line #80 -> byte code offset #272 +/* */ // Java source line #81 -> byte code offset #278 +/* */ // Java source line #82 -> byte code offset #281 +/* */ // Java source line #83 -> byte code offset #291 +/* */ // Java source line #88 -> byte code offset #296 +/* */ // Java source line #89 -> byte code offset #301 +/* */ // Java source line #90 -> byte code offset #307 +/* */ // Java source line #91 -> byte code offset #309 +/* */ // Local variable table: +/* */ // start length slot name signature +/* */ // 0 311 0 this WorldScriptLoader +/* */ // 0 311 1 name String +/* */ // 2 11 2 prefix String +/* */ // 26 65 3 nameIdx int +/* */ // 58 22 4 extIdx int +/* */ // 84 3 5 worldName String +/* */ // 94 3 5 worldName String +/* */ // 123 91 5 worldName String +/* */ // 187 3 6 scriptURL NET.worlds.network.URL +/* */ // 195 24 7 f NET.worlds.network.CacheFile +/* */ // 223 7 8 fileName String +/* */ // 234 7 9 file java.io.File +/* */ // 307 3 9 e Exception +/* */ // 245 52 10 fis java.io.FileInputStream +/* */ // 252 32 11 buffer byte[] +/* */ // 261 41 12 os java.io.ByteArrayOutputStream +/* */ // 270 17 13 bytesRead int +/* */ // 294 1 13 localException1 Exception +/* */ // Exception table: +/* */ // from to target type +/* */ // 263 278 294 java/lang/Exception +/* */ // 281 291 294 java/lang/Exception +/* */ // 225 306 307 java/lang/Exception +/* */ } +/* */ +/* */ public synchronized Class<?> loadClass(String name, boolean resolve) +/* */ { +/* 99 */ Class<?> c = (Class)this.cache.get(name); +/* 100 */ if (c == null) { +/* 101 */ byte[] data = null; +/* */ +/* 103 */ if (!name.startsWith("java.")) { +/* 104 */ data = loadClassData(name); +/* */ } +/* */ +/* 107 */ if (data == null) { +/* */ try { +/* 109 */ return findSystemClass(name); +/* */ } catch (Error e) { +/* 111 */ System.out.println("Could not load script " + name + " " + e); +/* 112 */ return null; +/* */ } catch (Exception e) { +/* 114 */ System.out.println("Could not load script " + name + " " + e); +/* 115 */ return null; +/* */ } +/* */ } +/* 118 */ c = defineClass(null, data, 0, data.length); +/* 119 */ this.cache.put(name, c); +/* */ } +/* 121 */ if (resolve) { +/* 122 */ resolveClass(c); +/* */ } +/* 124 */ return c; +/* */ } +/* */ } + + +/* Location: C:\Program Files (x86)\Worlds Inc\WorldsPlayer - Win7\lib\worlds.jar!\NET\worlds\scape\WorldScriptLoader.class + * Java compiler version: 6 (50.0) + * JD-Core Version: 0.7.1 + */
\ No newline at end of file |