You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

преди 20 години
преди 20 години
преди 20 години
преди 20 години
преди 20 години
преди 20 години
преди 20 години
преди 20 години
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310
  1. diff -N -a -u -r -b bcel-5.1/build.xml bcel/build.xml
  2. --- bcel-5.1/build.xml 2003-04-25 09:06:14.000000000 +0100
  3. +++ bcel/build.xml 2004-08-11 21:25:17.449281600 +0100
  4. @@ -65,7 +65,7 @@
  5. <target name="build" depends="compile"/>
  6. <!-- Jar the library -->
  7. - <target name="jar" depends="examples">
  8. + <target name="jar" depends="init,compile">
  9. <jar jarfile="${build.dir}/${name}.jar"
  10. basedir="${build.dest}"
  11. manifest="${basedir}/manifest.txt"
  12. diff -N -a -u -r -b bcel-5.1/manifest.txt bcel/manifest.txt
  13. --- bcel-5.1/manifest.txt 1970-01-01 00:00:00.000000000 +0000
  14. +++ bcel/manifest.txt 2004-08-11 21:25:17.509368000 +0100
  15. @@ -0,0 +1,3 @@
  16. +Created-By: Jakarta BCEL 5.1
  17. +Manifest-Version: 1.0
  18. +Main-Class: listclass
  19. diff -N -a -u -r -b bcel-5.1/src/java/org/apache/bcel/generic/Instruction.java bcel/src/java/org/apache/bcel/generic/Instruction.java
  20. --- bcel-5.1/src/java/org/apache/bcel/generic/Instruction.java 2003-04-25 09:06:16.000000000 +0100
  21. +++ bcel/src/java/org/apache/bcel/generic/Instruction.java 2004-08-11 21:28:49.424086400 +0100
  22. @@ -190,26 +190,223 @@
  23. Class clazz;
  24. try {
  25. - clazz = Class.forName(className(opcode));
  26. - } catch (ClassNotFoundException cnfe){
  27. - // If a class by that name does not exist, the opcode is illegal.
  28. - // Note that IMPDEP1, IMPDEP2, BREAKPOINT are also illegal in a sense.
  29. - throw new ClassGenException("Illegal opcode detected.");
  30. + switch(opcode) {
  31. + case Constants.NOP: obj = new NOP(); break;
  32. + case Constants.ACONST_NULL: obj = new ACONST_NULL(); break;
  33. + case Constants.ICONST_M1:
  34. + case Constants.ICONST_0:
  35. + case Constants.ICONST_1:
  36. + case Constants.ICONST_2:
  37. + case Constants.ICONST_3:
  38. + case Constants.ICONST_4:
  39. + case Constants.ICONST_5: obj = new ICONST(); break;
  40. + case Constants.LCONST_0:
  41. + case Constants.LCONST_1: obj = new LCONST(); break;
  42. + case Constants.FCONST_0:
  43. + case Constants.FCONST_1:
  44. + case Constants.FCONST_2: obj = new FCONST(); break;
  45. + case Constants.DCONST_0:
  46. + case Constants.DCONST_1: obj = new DCONST(); break;
  47. + case Constants.BIPUSH : obj = new BIPUSH(); break;
  48. + case Constants.SIPUSH : obj = new SIPUSH(); break;
  49. + case Constants.LDC : obj = new LDC(); break;
  50. + case Constants.LDC_W: obj = new LDC_W(); break;
  51. + case Constants.LDC2_W: obj = new LDC2_W(); break;
  52. + case Constants.ILOAD : obj = new ILOAD(); break;
  53. + case Constants.LLOAD : obj = new LLOAD(); break;
  54. + case Constants.FLOAD : obj = new FLOAD(); break;
  55. + case Constants.DLOAD : obj = new DLOAD(); break;
  56. + case Constants.ALOAD : obj = new ALOAD(); break;
  57. + case Constants.ILOAD_0:
  58. + case Constants.ILOAD_1:
  59. + case Constants.ILOAD_2:
  60. + case Constants.ILOAD_3: obj = new ILOAD(); break;
  61. + case Constants.LLOAD_0:
  62. + case Constants.LLOAD_1:
  63. + case Constants.LLOAD_2:
  64. + case Constants.LLOAD_3: obj = new LLOAD(); break;
  65. + case Constants.FLOAD_0:
  66. + case Constants.FLOAD_1:
  67. + case Constants.FLOAD_2:
  68. + case Constants.FLOAD_3: obj = new FLOAD(); break;
  69. + case Constants.DLOAD_0:
  70. + case Constants.DLOAD_1:
  71. + case Constants.DLOAD_2:
  72. + case Constants.DLOAD_3: obj = new DLOAD(); break;
  73. + case Constants.ALOAD_0:
  74. + case Constants.ALOAD_1:
  75. + case Constants.ALOAD_2:
  76. + case Constants.ALOAD_3: obj = new ALOAD(); break;
  77. + case Constants.IALOAD : obj = new IALOAD(); break;
  78. + case Constants.LALOAD : obj = new LALOAD(); break;
  79. + case Constants.FALOAD : obj = new FALOAD(); break;
  80. + case Constants.DALOAD : obj = new DALOAD(); break;
  81. + case Constants.AALOAD : obj = new AALOAD(); break;
  82. + case Constants.BALOAD : obj = new BALOAD(); break;
  83. + case Constants.CALOAD : obj = new CALOAD(); break;
  84. + case Constants.SALOAD : obj = new SALOAD(); break;
  85. + case Constants.ISTORE : obj = new ISTORE(); break;
  86. + case Constants.LSTORE : obj = new LSTORE(); break;
  87. + case Constants.FSTORE : obj = new FSTORE(); break;
  88. + case Constants.DSTORE : obj = new DSTORE(); break;
  89. + case Constants.ASTORE : obj = new ASTORE(); break;
  90. + case Constants.ISTORE_0:
  91. + case Constants.ISTORE_1:
  92. + case Constants.ISTORE_2:
  93. + case Constants.ISTORE_3: obj = new ISTORE(); break;
  94. + case Constants.LSTORE_0:
  95. + case Constants.LSTORE_1:
  96. + case Constants.LSTORE_2:
  97. + case Constants.LSTORE_3: obj = new LSTORE(); break;
  98. + case Constants.FSTORE_0:
  99. + case Constants.FSTORE_1:
  100. + case Constants.FSTORE_2:
  101. + case Constants.FSTORE_3: obj = new FSTORE(); break;
  102. + case Constants.DSTORE_0:
  103. + case Constants.DSTORE_1:
  104. + case Constants.DSTORE_2:
  105. + case Constants.DSTORE_3: obj = new DSTORE(); break;
  106. + case Constants.ASTORE_0:
  107. + case Constants.ASTORE_1:
  108. + case Constants.ASTORE_2:
  109. + case Constants.ASTORE_3: obj = new ASTORE(); break;
  110. + case Constants.IASTORE : obj = new IASTORE(); break;
  111. + case Constants.LASTORE : obj = new LASTORE(); break;
  112. + case Constants.FASTORE : obj = new FASTORE(); break;
  113. + case Constants.DASTORE : obj = new DASTORE(); break;
  114. + case Constants.AASTORE : obj = new AASTORE(); break;
  115. + case Constants.BASTORE : obj = new BASTORE(); break;
  116. + case Constants.CASTORE : obj = new CASTORE(); break;
  117. + case Constants.SASTORE : obj = new SASTORE(); break;
  118. + case Constants.POP : obj = new POP(); break;
  119. + case Constants.POP2 : obj = new POP2(); break;
  120. + case Constants.DUP : obj = new DUP(); break;
  121. + case Constants.DUP_X1: obj = new DUP_X1(); break;
  122. + case Constants.DUP_X2: obj = new DUP_X2(); break;
  123. + case Constants.DUP2 : obj = new DUP2(); break;
  124. + case Constants.DUP2_X1: obj = new DUP2_X1(); break;
  125. + case Constants.DUP2_X2: obj = new DUP2_X2(); break;
  126. + case Constants.SWAP : obj = new SWAP(); break;
  127. + case Constants.IADD : obj = new IADD(); break;
  128. + case Constants.LADD : obj = new LADD(); break;
  129. + case Constants.FADD : obj = new FADD(); break;
  130. + case Constants.DADD : obj = new DADD(); break;
  131. + case Constants.ISUB : obj = new ISUB(); break;
  132. + case Constants.LSUB : obj = new LSUB(); break;
  133. + case Constants.FSUB : obj = new FSUB(); break;
  134. + case Constants.DSUB : obj = new DSUB(); break;
  135. + case Constants.IMUL : obj = new IMUL(); break;
  136. + case Constants.LMUL : obj = new LMUL(); break;
  137. + case Constants.FMUL : obj = new FMUL(); break;
  138. + case Constants.DMUL : obj = new DMUL(); break;
  139. + case Constants.IDIV : obj = new IDIV(); break;
  140. + case Constants.LDIV : obj = new LDIV(); break;
  141. + case Constants.FDIV : obj = new FDIV(); break;
  142. + case Constants.DDIV : obj = new DDIV(); break;
  143. + case Constants.IREM : obj = new IREM(); break;
  144. + case Constants.LREM : obj = new LREM(); break;
  145. + case Constants.FREM : obj = new FREM(); break;
  146. + case Constants.DREM : obj = new DREM(); break;
  147. + case Constants.INEG : obj = new INEG(); break;
  148. + case Constants.LNEG : obj = new LNEG(); break;
  149. + case Constants.FNEG : obj = new FNEG(); break;
  150. + case Constants.DNEG : obj = new DNEG(); break;
  151. + case Constants.ISHL : obj = new ISHL(); break;
  152. + case Constants.LSHL : obj = new LSHL(); break;
  153. + case Constants.ISHR : obj = new ISHR(); break;
  154. + case Constants.LSHR : obj = new LSHR(); break;
  155. + case Constants.IUSHR : obj = new IUSHR(); break;
  156. + case Constants.LUSHR : obj = new LUSHR(); break;
  157. + case Constants.IAND : obj = new IAND(); break;
  158. + case Constants.LAND : obj = new LAND(); break;
  159. + case Constants.IOR : obj = new IOR(); break;
  160. + case Constants.LOR : obj = new LOR(); break;
  161. + case Constants.IXOR : obj = new IXOR(); break;
  162. + case Constants.LXOR : obj = new LXOR(); break;
  163. + case Constants.IINC : obj = new IINC(); break;
  164. + case Constants.I2L : obj = new I2L(); break;
  165. + case Constants.I2F : obj = new I2F(); break;
  166. + case Constants.I2D : obj = new I2D(); break;
  167. + case Constants.L2I : obj = new L2I(); break;
  168. + case Constants.L2F : obj = new L2F(); break;
  169. + case Constants.L2D : obj = new L2D(); break;
  170. + case Constants.F2I : obj = new F2I(); break;
  171. + case Constants.F2L : obj = new F2L(); break;
  172. + case Constants.F2D : obj = new F2D(); break;
  173. + case Constants.D2I : obj = new D2I(); break;
  174. + case Constants.D2L : obj = new D2L(); break;
  175. + case Constants.D2F : obj = new D2F(); break;
  176. + case Constants.I2B : obj = new I2B(); break;
  177. + case Constants.I2C : obj = new I2C(); break;
  178. + case Constants.I2S : obj = new I2S(); break;
  179. + case Constants.LCMP : obj = new LCMP(); break;
  180. + case Constants.FCMPL : obj = new FCMPL(); break;
  181. + case Constants.FCMPG : obj = new FCMPG(); break;
  182. + case Constants.DCMPL : obj = new DCMPL(); break;
  183. + case Constants.DCMPG : obj = new DCMPG(); break;
  184. + case Constants.IFEQ : obj = new IFEQ(); break;
  185. + case Constants.IFNE : obj = new IFNE(); break;
  186. + case Constants.IFLT : obj = new IFLT(); break;
  187. + case Constants.IFGE : obj = new IFGE(); break;
  188. + case Constants.IFGT : obj = new IFGT(); break;
  189. + case Constants.IFLE : obj = new IFLE(); break;
  190. + case Constants.IF_ICMPEQ: obj = new IF_ICMPEQ(); break;
  191. + case Constants.IF_ICMPNE: obj = new IF_ICMPNE(); break;
  192. + case Constants.IF_ICMPLT: obj = new IF_ICMPLT(); break;
  193. + case Constants.IF_ICMPGE: obj = new IF_ICMPGE(); break;
  194. + case Constants.IF_ICMPGT: obj = new IF_ICMPGT(); break;
  195. + case Constants.IF_ICMPLE: obj = new IF_ICMPLE(); break;
  196. + case Constants.IF_ACMPEQ: obj = new IF_ACMPEQ(); break;
  197. + case Constants.IF_ACMPNE : obj = new IF_ACMPNE(); break;
  198. + case Constants.GOTO : obj = new GOTO(); break;
  199. + case Constants.JSR : obj = new JSR(); break;
  200. + case Constants.RET : obj = new RET(); break;
  201. + case Constants.TABLESWITCH : obj = new TABLESWITCH(); break;
  202. + case Constants.LOOKUPSWITCH : obj = new LOOKUPSWITCH(); break;
  203. + case Constants.IRETURN : obj = new IRETURN(); break;
  204. + case Constants.LRETURN : obj = new LRETURN(); break;
  205. + case Constants.FRETURN : obj = new FRETURN(); break;
  206. + case Constants.DRETURN : obj = new DRETURN(); break;
  207. + case Constants.ARETURN : obj = new ARETURN(); break;
  208. + case Constants.RETURN : obj = new RETURN(); break;
  209. + case Constants.GETSTATIC : obj = new GETSTATIC(); break;
  210. + case Constants.PUTSTATIC : obj = new PUTSTATIC(); break;
  211. + case Constants.GETFIELD : obj = new GETFIELD(); break;
  212. + case Constants.PUTFIELD : obj = new PUTFIELD(); break;
  213. + case Constants.INVOKEVIRTUAL : obj = new INVOKEVIRTUAL(); break;
  214. + case Constants.INVOKESPECIAL : obj = new INVOKESPECIAL(); break;
  215. + case Constants.INVOKESTATIC : obj = new INVOKESTATIC(); break;
  216. + case Constants.INVOKEINTERFACE : obj = new INVOKEINTERFACE(); break;
  217. + case Constants.NEW : obj = new NEW(); break;
  218. + case Constants.NEWARRAY : obj = new NEWARRAY(); break;
  219. + case Constants.ANEWARRAY : obj = new ANEWARRAY(); break;
  220. + case Constants.ARRAYLENGTH : obj = new ARRAYLENGTH(); break;
  221. + case Constants.ATHROW : obj = new ATHROW(); break;
  222. + case Constants.CHECKCAST : obj = new CHECKCAST(); break;
  223. + case Constants.INSTANCEOF : obj = new INSTANCEOF(); break;
  224. + case Constants.MONITORENTER : obj = new MONITORENTER(); break;
  225. + case Constants.MONITOREXIT : obj = new MONITOREXIT(); break;
  226. + case Constants.MULTIANEWARRAY : obj = new MULTIANEWARRAY(); break;
  227. + case Constants.IFNULL : obj = new IFNULL(); break;
  228. + case Constants.IFNONNULL : obj = new IFNONNULL(); break;
  229. + case Constants.GOTO_W : obj = new GOTO_W(); break;
  230. + case Constants.JSR_W : obj = new JSR_W(); break;
  231. + default:
  232. + throw new ClassGenException("Illegal opcode detected");
  233. + }
  234. + } catch (ClassGenException e) {
  235. + throw e;
  236. + } catch (Exception e) {
  237. + throw new ClassGenException(e.toString());
  238. }
  239. -
  240. - try {
  241. - obj = (Instruction)clazz.newInstance();
  242. -
  243. if(wide && !((obj instanceof LocalVariableInstruction) ||
  244. (obj instanceof IINC) ||
  245. (obj instanceof RET)))
  246. - throw new Exception("Illegal opcode after wide: " + opcode);
  247. + throw new ClassGenException("Illegal opcode after wide: " + opcode);
  248. obj.setOpcode(opcode);
  249. obj.initFromFile(bytes, wide); // Do further initializations, if any
  250. // Byte code offset set in InstructionList
  251. - } catch(Exception e) { throw new ClassGenException(e.toString()); }
  252. -
  253. return obj;
  254. }
  255. diff -N -a -u -r -b bcel-5.1/src/java/org/apache/bcel/generic/LDC_W.java bcel/src/java/org/apache/bcel/generic/LDC_W.java
  256. --- bcel-5.1/src/java/org/apache/bcel/generic/LDC_W.java 2003-04-25 09:06:16.000000000 +0100
  257. +++ bcel/src/java/org/apache/bcel/generic/LDC_W.java 2004-08-11 21:28:47.160832000 +0100
  258. @@ -83,6 +83,6 @@
  259. {
  260. setIndex(bytes.readUnsignedShort());
  261. // Override just in case it has been changed
  262. - opcode = org.apache.bcel.Constants.LDC_W;
  263. + // opcode = org.apache.bcel.Constants.LDC_W;
  264. }
  265. }
  266. diff -N -a -u -r -b bcel-5.1/src/java/org/apache/bcel/generic/MethodGen.java bcel/src/java/org/apache/bcel/generic/MethodGen.java
  267. --- bcel-5.1/src/java/org/apache/bcel/generic/MethodGen.java 2003-04-25 09:06:16.000000000 +0100
  268. +++ bcel/src/java/org/apache/bcel/generic/MethodGen.java 2004-08-11 21:28:47.641523200 +0100
  269. @@ -133,9 +133,9 @@
  270. /* Add local variables, namely the implicit `this' and the arguments
  271. */
  272. - if(!isStatic() && (class_name != null)) { // Instance method -> `this' is local var 0
  273. - addLocalVariable("this", new ObjectType(class_name), start, end);
  274. - }
  275. +// if(!isStatic() && (class_name != null)) { // Instance method -> `this' is local var 0
  276. +// addLocalVariable("this", new ObjectType(class_name), start, end);
  277. +// }
  278. }
  279. if(arg_types != null) {
  280. @@ -152,17 +152,17 @@
  281. throw new ClassGenException("Mismatch in argument array lengths: " +
  282. size + " vs. " + arg_names.length);
  283. } else { // Give them dummy names
  284. - arg_names = new String[size];
  285. -
  286. - for(int i=0; i < size; i++)
  287. - arg_names[i] = "arg" + i;
  288. -
  289. - setArgumentNames(arg_names);
  290. +// arg_names = new String[size];
  291. +//
  292. +// for(int i=0; i < size; i++)
  293. +// arg_names[i] = "arg" + i;
  294. +//
  295. +// setArgumentNames(arg_names);
  296. }
  297. if(!abstract_) {
  298. for(int i=0; i < size; i++) {
  299. - addLocalVariable(arg_names[i], arg_types[i], start, end);
  300. +// addLocalVariable(arg_names[i], arg_types[i], start, end);
  301. }
  302. }
  303. }