Note: Early access Java 9 support- currently subject to change
+ *
+ * @see
+ * JPMS: Modules in the Java Language and JVM
+ * @since 6.1
+ */
+ public static final byte CONSTANT_Module = 19;
+
+ /**
+ * Marks a constant pool entry as a Package Reference.
+ *
+ *
Note: Early access Java 9 support- currently subject to change
+ *
+ * @see
+ * JPMS: Modules in the Java Language and JVM
+ * @since 6.1
+ */
+ public static final byte CONSTANT_Package = 20;
+
+ /**
+ * The names of the types of entries in a constant pool.
+ * Use getConstantName instead
+ */
+ private static final String[] CONSTANT_NAMES = {
+ "", "CONSTANT_Utf8", "", "CONSTANT_Integer",
+ "CONSTANT_Float", "CONSTANT_Long", "CONSTANT_Double",
+ "CONSTANT_Class", "CONSTANT_String", "CONSTANT_Fieldref",
+ "CONSTANT_Methodref", "CONSTANT_InterfaceMethodref",
+ "CONSTANT_NameAndType", "", "", "CONSTANT_MethodHandle",
+ "CONSTANT_MethodType", "", "CONSTANT_InvokeDynamic",
+ "CONSTANT_Module", "CONSTANT_Package"};
+
+ /**
+ *
+ * @param index
+ * @return the CONSTANT_NAMES entry at the given index
+ * @since 6.0
+ */
+ public static String getConstantName(final int index) {
+ return CONSTANT_NAMES[index];
+ }
+
+ /** The name of the static initializer, also called "class
+ * initialization method" or "interface initialization
+ * method". This is "<clinit>".
+ */
+ public static final String STATIC_INITIALIZER_NAME = "";
+
+ /** The name of every constructor method in a class, also called
+ * "instance initialization method". This is "<init>".
+ */
+ public static final String CONSTRUCTOR_NAME = "";
+
+ /**
+ * The names of the interfaces implemented by arrays
+ */
+ private static final String[] INTERFACES_IMPLEMENTED_BY_ARRAYS = {"java.lang.Cloneable", "java.io.Serializable"};
+
+ /**
+ * @since 6.0
+ */
+ public static Iterable getInterfacesImplementedByArrays() {
+ return Collections.unmodifiableList(Arrays.asList(INTERFACES_IMPLEMENTED_BY_ARRAYS));
+ }
+
+ /**
+ * Maximum Constant Pool entries.
+ * One of the limitations of the Java Virtual Machine.
+ * @see
+ * The Java Virtual Machine Specification, Java SE 8 Edition, page 330, chapter 4.11.
+ */
+ public static final int MAX_CP_ENTRIES = 65535;
+
+ /**
+ * Maximum code size (plus one; the code size must be LESS than this)
+ * One of the limitations of the Java Virtual Machine.
+ * Note vmspec2 page 152 ("Limitations") says:
+ * "The amount of code per non-native, non-abstract method is limited to 65536 bytes by
+ * the sizes of the indices in the exception_table of the Code attribute (§4.7.3),
+ * in the LineNumberTable attribute (§4.7.8), and in the LocalVariableTable attribute (§4.7.9)."
+ * However this should be taken as an upper limit rather than the defined maximum.
+ * On page 134 (4.8.1 Static Constants) of the same spec, it says:
+ * "The value of the code_length item must be less than 65536."
+ * The entry in the Limitations section has been removed from later versions of the spec;
+ * it is not present in the Java SE 8 edition.
+ *
+ * @see
+ * The Java Virtual Machine Specification, Java SE 8 Edition, page 104, chapter 4.7.
+ */
+ public static final int MAX_CODE_SIZE = 65536; //bytes
+
+ /**
+ * The maximum number of dimensions in an array ({@value}).
+ * One of the limitations of the Java Virtual Machine.
+ *
+ * @see
+ * Field Descriptors in The Java Virtual Machine Specification
+ */
+ public static final int MAX_ARRAY_DIMENSIONS = 255;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short NOP = 0;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ACONST_NULL = 1;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ICONST_M1 = 2;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ICONST_0 = 3;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ICONST_1 = 4;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ICONST_2 = 5;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ICONST_3 = 6;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ICONST_4 = 7;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ICONST_5 = 8;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LCONST_0 = 9;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LCONST_1 = 10;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FCONST_0 = 11;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FCONST_1 = 12;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FCONST_2 = 13;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DCONST_0 = 14;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DCONST_1 = 15;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short BIPUSH = 16;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short SIPUSH = 17;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LDC = 18;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LDC_W = 19;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LDC2_W = 20;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ILOAD = 21;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LLOAD = 22;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FLOAD = 23;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DLOAD = 24;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ALOAD = 25;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ILOAD_0 = 26;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ILOAD_1 = 27;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ILOAD_2 = 28;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ILOAD_3 = 29;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LLOAD_0 = 30;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LLOAD_1 = 31;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LLOAD_2 = 32;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LLOAD_3 = 33;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FLOAD_0 = 34;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FLOAD_1 = 35;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FLOAD_2 = 36;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FLOAD_3 = 37;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DLOAD_0 = 38;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DLOAD_1 = 39;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DLOAD_2 = 40;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DLOAD_3 = 41;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ALOAD_0 = 42;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ALOAD_1 = 43;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ALOAD_2 = 44;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ALOAD_3 = 45;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IALOAD = 46;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LALOAD = 47;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FALOAD = 48;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DALOAD = 49;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short AALOAD = 50;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short BALOAD = 51;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short CALOAD = 52;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short SALOAD = 53;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ISTORE = 54;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LSTORE = 55;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FSTORE = 56;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DSTORE = 57;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ASTORE = 58;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ISTORE_0 = 59;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ISTORE_1 = 60;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ISTORE_2 = 61;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ISTORE_3 = 62;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LSTORE_0 = 63;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LSTORE_1 = 64;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LSTORE_2 = 65;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LSTORE_3 = 66;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FSTORE_0 = 67;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FSTORE_1 = 68;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FSTORE_2 = 69;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FSTORE_3 = 70;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DSTORE_0 = 71;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DSTORE_1 = 72;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DSTORE_2 = 73;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DSTORE_3 = 74;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ASTORE_0 = 75;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ASTORE_1 = 76;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ASTORE_2 = 77;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ASTORE_3 = 78;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IASTORE = 79;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LASTORE = 80;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FASTORE = 81;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DASTORE = 82;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short AASTORE = 83;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short BASTORE = 84;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short CASTORE = 85;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short SASTORE = 86;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short POP = 87;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short POP2 = 88;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DUP = 89;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DUP_X1 = 90;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DUP_X2 = 91;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DUP2 = 92;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DUP2_X1 = 93;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DUP2_X2 = 94;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short SWAP = 95;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IADD = 96;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LADD = 97;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FADD = 98;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DADD = 99;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ISUB = 100;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LSUB = 101;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FSUB = 102;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DSUB = 103;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IMUL = 104;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LMUL = 105;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FMUL = 106;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DMUL = 107;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IDIV = 108;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LDIV = 109;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FDIV = 110;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DDIV = 111;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IREM = 112;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LREM = 113;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FREM = 114;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DREM = 115;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short INEG = 116;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LNEG = 117;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FNEG = 118;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DNEG = 119;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ISHL = 120;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LSHL = 121;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ISHR = 122;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LSHR = 123;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IUSHR = 124;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LUSHR = 125;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IAND = 126;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LAND = 127;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IOR = 128;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LOR = 129;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IXOR = 130;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LXOR = 131;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IINC = 132;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short I2L = 133;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short I2F = 134;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short I2D = 135;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short L2I = 136;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short L2F = 137;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short L2D = 138;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short F2I = 139;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short F2L = 140;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short F2D = 141;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short D2I = 142;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short D2L = 143;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short D2F = 144;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short I2B = 145;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short INT2BYTE = 145; // Old notation
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short I2C = 146;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short INT2CHAR = 146; // Old notation
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short I2S = 147;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short INT2SHORT = 147; // Old notation
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LCMP = 148;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FCMPL = 149;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FCMPG = 150;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DCMPL = 151;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DCMPG = 152;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IFEQ = 153;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IFNE = 154;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IFLT = 155;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IFGE = 156;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IFGT = 157;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IFLE = 158;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IF_ICMPEQ = 159;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IF_ICMPNE = 160;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IF_ICMPLT = 161;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IF_ICMPGE = 162;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IF_ICMPGT = 163;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IF_ICMPLE = 164;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IF_ACMPEQ = 165;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IF_ACMPNE = 166;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short GOTO = 167;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short JSR = 168;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short RET = 169;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short TABLESWITCH = 170;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LOOKUPSWITCH = 171;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IRETURN = 172;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short LRETURN = 173;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short FRETURN = 174;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short DRETURN = 175;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ARETURN = 176;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short RETURN = 177;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short GETSTATIC = 178;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short PUTSTATIC = 179;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short GETFIELD = 180;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short PUTFIELD = 181;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short INVOKEVIRTUAL = 182;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short INVOKESPECIAL = 183;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short INVOKENONVIRTUAL = 183; // Old name in JDK 1.0
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short INVOKESTATIC = 184;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short INVOKEINTERFACE = 185;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short INVOKEDYNAMIC = 186;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short NEW = 187;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short NEWARRAY = 188;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ANEWARRAY = 189;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ARRAYLENGTH = 190;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short ATHROW = 191;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short CHECKCAST = 192;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short INSTANCEOF = 193;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short MONITORENTER = 194;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short MONITOREXIT = 195;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short WIDE = 196;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short MULTIANEWARRAY = 197;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IFNULL = 198;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short IFNONNULL = 199;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short GOTO_W = 200;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ public static final short JSR_W = 201;
+
+ /** JVM internal opcode.
+ * @see
+ * Reserved opcodes in the Java Virtual Machine Specification */
+ public static final short BREAKPOINT = 202;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short LDC_QUICK = 203;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short LDC_W_QUICK = 204;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short LDC2_W_QUICK = 205;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short GETFIELD_QUICK = 206;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short PUTFIELD_QUICK = 207;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short GETFIELD2_QUICK = 208;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short PUTFIELD2_QUICK = 209;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short GETSTATIC_QUICK = 210;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short PUTSTATIC_QUICK = 211;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short GETSTATIC2_QUICK = 212;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short PUTSTATIC2_QUICK = 213;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short INVOKEVIRTUAL_QUICK = 214;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short INVOKENONVIRTUAL_QUICK = 215;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short INVOKESUPER_QUICK = 216;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short INVOKESTATIC_QUICK = 217;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short INVOKEINTERFACE_QUICK = 218;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short INVOKEVIRTUALOBJECT_QUICK = 219;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short NEW_QUICK = 221;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short ANEWARRAY_QUICK = 222;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short MULTIANEWARRAY_QUICK = 223;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short CHECKCAST_QUICK = 224;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short INSTANCEOF_QUICK = 225;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short INVOKEVIRTUAL_QUICK_W = 226;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short GETFIELD_QUICK_W = 227;
+
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ public static final short PUTFIELD_QUICK_W = 228;
+
+ /** JVM internal opcode.
+ * @see
+ * Reserved opcodes in the Java Virtual Machine Specification */
+ public static final short IMPDEP1 = 254;
+
+ /** JVM internal opcode.
+ * @see
+ * Reserved opcodes in the Java Virtual Machine Specification */
+ public static final short IMPDEP2 = 255;
+
+ /**
+ * BCEL virtual instruction for pushing an arbitrary data type onto the stack. Will be converted to the appropriate JVM
+ * opcode when the class is dumped.
+ */
+ public static final short PUSH = 4711;
+
+ /**
+ * BCEL virtual instruction for either LOOKUPSWITCH or TABLESWITCH. Will be converted to the appropriate JVM
+ * opcode when the class is dumped.
+ */
+ public static final short SWITCH = 4712;
+
+ /** Illegal opcode. */
+ public static final short UNDEFINED = -1;
+
+ /** Illegal opcode. */
+ public static final short UNPREDICTABLE = -2;
+
+ /** Illegal opcode. */
+ public static final short RESERVED = -3;
+
+ /** Mnemonic for an illegal opcode. */
+ public static final String ILLEGAL_OPCODE = "";
+
+ /** Mnemonic for an illegal type. */
+ public static final String ILLEGAL_TYPE = "";
+
+ /** Boolean data type.
+ * @see
+ * Static Constraints in the Java Virtual Machine Specification */
+ public static final byte T_BOOLEAN = 4;
+
+ /** Char data type.
+ * @see
+ * Static Constraints in the Java Virtual Machine Specification */
+ public static final byte T_CHAR = 5;
+
+ /** Float data type.
+ * @see
+ * Static Constraints in the Java Virtual Machine Specification */
+ public static final byte T_FLOAT = 6;
+
+ /** Double data type.
+ * @see
+ * Static Constraints in the Java Virtual Machine Specification */
+ public static final byte T_DOUBLE = 7;
+
+ /** Byte data type.
+ * @see
+ * Static Constraints in the Java Virtual Machine Specification */
+ public static final byte T_BYTE = 8;
+
+ /** Short data type.
+ * @see
+ * Static Constraints in the Java Virtual Machine Specification */
+ public static final byte T_SHORT = 9;
+
+ /** Int data type.
+ * @see
+ * Static Constraints in the Java Virtual Machine Specification */
+ public static final byte T_INT = 10;
+
+ /** Long data type.
+ * @see
+ * Static Constraints in the Java Virtual Machine Specification */
+ public static final byte T_LONG = 11;
+
+ /** Void data type (non-standard). */
+ public static final byte T_VOID = 12; // Non-standard
+
+ /** Array data type. */
+ public static final byte T_ARRAY = 13;
+
+ /** Object data type. */
+ public static final byte T_OBJECT = 14;
+
+ /** Reference data type (deprecated). */
+ public static final byte T_REFERENCE = 14; // Deprecated
+
+ /** Unknown data type. */
+ public static final byte T_UNKNOWN = 15;
+
+ /** Address data type. */
+ public static final byte T_ADDRESS = 16;
+
+ /** The primitive type names corresponding to the T_XX constants,
+ * e.g., TYPE_NAMES[T_INT] = "int"
+ */
+ private static final String[] TYPE_NAMES = {
+ ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE,
+ "boolean", "char", "float", "double", "byte", "short", "int", "long",
+ "void", "array", "object", "unknown", "address"
+ };
+
+ /**
+ * The primitive type names corresponding to the T_XX constants,
+ * e.g., TYPE_NAMES[T_INT] = "int"
+ * @param index
+ * @return the type name
+ * @since 6.0
+ */
+ public static String getTypeName(final int index) {
+ return TYPE_NAMES[index];
+ }
+
+ /** The primitive class names corresponding to the T_XX constants,
+ * e.g., CLASS_TYPE_NAMES[T_INT] = "java.lang.Integer"
+ */
+ private static final String[] CLASS_TYPE_NAMES = {
+ ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE,
+ "java.lang.Boolean", "java.lang.Character", "java.lang.Float",
+ "java.lang.Double", "java.lang.Byte", "java.lang.Short",
+ "java.lang.Integer", "java.lang.Long", "java.lang.Void",
+ ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE
+ };
+
+ /**
+ * The primitive class names corresponding to the T_XX constants,
+ * e.g., CLASS_TYPE_NAMES[T_INT] = "java.lang.Integer"
+ * @param index
+ * @return the class name
+ * @since 6.0
+ */
+ public static String getClassTypeName(final int index) {
+ return CLASS_TYPE_NAMES[index];
+ }
+
+ /** The signature characters corresponding to primitive types,
+ * e.g., SHORT_TYPE_NAMES[T_INT] = "I"
+ */
+ private static final String[] SHORT_TYPE_NAMES = {
+ ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE,
+ "Z", "C", "F", "D", "B", "S", "I", "J",
+ "V", ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE
+ };
+
+ /**
+ *
+ * @param index
+ * @return the short type name
+ * @since 6.0
+ */
+ public static String getShortTypeName(final int index) {
+ return SHORT_TYPE_NAMES[index];
+ }
+
+
+ /**
+ * Number of byte code operands for each opcode, i.e., number of bytes after the tag byte
+ * itself. Indexed by opcode, so NO_OF_OPERANDS[BIPUSH] = the number of operands for a bipush
+ * instruction.
+ */
+ private static final short[] NO_OF_OPERANDS = {
+ 0/*nop*/, 0/*aconst_null*/, 0/*iconst_m1*/, 0/*iconst_0*/,
+ 0/*iconst_1*/, 0/*iconst_2*/, 0/*iconst_3*/, 0/*iconst_4*/,
+ 0/*iconst_5*/, 0/*lconst_0*/, 0/*lconst_1*/, 0/*fconst_0*/,
+ 0/*fconst_1*/, 0/*fconst_2*/, 0/*dconst_0*/, 0/*dconst_1*/,
+ 1/*bipush*/, 2/*sipush*/, 1/*ldc*/, 2/*ldc_w*/, 2/*ldc2_w*/,
+ 1/*iload*/, 1/*lload*/, 1/*fload*/, 1/*dload*/, 1/*aload*/,
+ 0/*iload_0*/, 0/*iload_1*/, 0/*iload_2*/, 0/*iload_3*/,
+ 0/*lload_0*/, 0/*lload_1*/, 0/*lload_2*/, 0/*lload_3*/,
+ 0/*fload_0*/, 0/*fload_1*/, 0/*fload_2*/, 0/*fload_3*/,
+ 0/*dload_0*/, 0/*dload_1*/, 0/*dload_2*/, 0/*dload_3*/,
+ 0/*aload_0*/, 0/*aload_1*/, 0/*aload_2*/, 0/*aload_3*/,
+ 0/*iaload*/, 0/*laload*/, 0/*faload*/, 0/*daload*/,
+ 0/*aaload*/, 0/*baload*/, 0/*caload*/, 0/*saload*/,
+ 1/*istore*/, 1/*lstore*/, 1/*fstore*/, 1/*dstore*/,
+ 1/*astore*/, 0/*istore_0*/, 0/*istore_1*/, 0/*istore_2*/,
+ 0/*istore_3*/, 0/*lstore_0*/, 0/*lstore_1*/, 0/*lstore_2*/,
+ 0/*lstore_3*/, 0/*fstore_0*/, 0/*fstore_1*/, 0/*fstore_2*/,
+ 0/*fstore_3*/, 0/*dstore_0*/, 0/*dstore_1*/, 0/*dstore_2*/,
+ 0/*dstore_3*/, 0/*astore_0*/, 0/*astore_1*/, 0/*astore_2*/,
+ 0/*astore_3*/, 0/*iastore*/, 0/*lastore*/, 0/*fastore*/,
+ 0/*dastore*/, 0/*aastore*/, 0/*bastore*/, 0/*castore*/,
+ 0/*sastore*/, 0/*pop*/, 0/*pop2*/, 0/*dup*/, 0/*dup_x1*/,
+ 0/*dup_x2*/, 0/*dup2*/, 0/*dup2_x1*/, 0/*dup2_x2*/, 0/*swap*/,
+ 0/*iadd*/, 0/*ladd*/, 0/*fadd*/, 0/*dadd*/, 0/*isub*/,
+ 0/*lsub*/, 0/*fsub*/, 0/*dsub*/, 0/*imul*/, 0/*lmul*/,
+ 0/*fmul*/, 0/*dmul*/, 0/*idiv*/, 0/*ldiv*/, 0/*fdiv*/,
+ 0/*ddiv*/, 0/*irem*/, 0/*lrem*/, 0/*frem*/, 0/*drem*/,
+ 0/*ineg*/, 0/*lneg*/, 0/*fneg*/, 0/*dneg*/, 0/*ishl*/,
+ 0/*lshl*/, 0/*ishr*/, 0/*lshr*/, 0/*iushr*/, 0/*lushr*/,
+ 0/*iand*/, 0/*land*/, 0/*ior*/, 0/*lor*/, 0/*ixor*/, 0/*lxor*/,
+ 2/*iinc*/, 0/*i2l*/, 0/*i2f*/, 0/*i2d*/, 0/*l2i*/, 0/*l2f*/,
+ 0/*l2d*/, 0/*f2i*/, 0/*f2l*/, 0/*f2d*/, 0/*d2i*/, 0/*d2l*/,
+ 0/*d2f*/, 0/*i2b*/, 0/*i2c*/, 0/*i2s*/, 0/*lcmp*/, 0/*fcmpl*/,
+ 0/*fcmpg*/, 0/*dcmpl*/, 0/*dcmpg*/, 2/*ifeq*/, 2/*ifne*/,
+ 2/*iflt*/, 2/*ifge*/, 2/*ifgt*/, 2/*ifle*/, 2/*if_icmpeq*/,
+ 2/*if_icmpne*/, 2/*if_icmplt*/, 2/*if_icmpge*/, 2/*if_icmpgt*/,
+ 2/*if_icmple*/, 2/*if_acmpeq*/, 2/*if_acmpne*/, 2/*goto*/,
+ 2/*jsr*/, 1/*ret*/, UNPREDICTABLE/*tableswitch*/, UNPREDICTABLE/*lookupswitch*/,
+ 0/*ireturn*/, 0/*lreturn*/, 0/*freturn*/,
+ 0/*dreturn*/, 0/*areturn*/, 0/*return*/,
+ 2/*getstatic*/, 2/*putstatic*/, 2/*getfield*/,
+ 2/*putfield*/, 2/*invokevirtual*/, 2/*invokespecial*/, 2/*invokestatic*/,
+ 4/*invokeinterface*/, 4/*invokedynamic*/, 2/*new*/,
+ 1/*newarray*/, 2/*anewarray*/,
+ 0/*arraylength*/, 0/*athrow*/, 2/*checkcast*/,
+ 2/*instanceof*/, 0/*monitorenter*/,
+ 0/*monitorexit*/, UNPREDICTABLE/*wide*/, 3/*multianewarray*/,
+ 2/*ifnull*/, 2/*ifnonnull*/, 4/*goto_w*/,
+ 4/*jsr_w*/, 0/*breakpoint*/, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, RESERVED/*impdep1*/, RESERVED/*impdep2*/
+ };
+
+ /**
+ *
+ * @param index
+ * @return Number of byte code operands
+ * @since 6.0
+ */
+ public static short getNoOfOperands(final int index) {
+ return NO_OF_OPERANDS[index];
+ }
+
+ /**
+ * How the byte code operands are to be interpreted for each opcode.
+ * Indexed by opcode. TYPE_OF_OPERANDS[ILOAD] = an array of shorts
+ * describing the data types for the instruction.
+ */
+ private static final short[][] TYPE_OF_OPERANDS = {
+ {}/*nop*/, {}/*aconst_null*/, {}/*iconst_m1*/, {}/*iconst_0*/,
+ {}/*iconst_1*/, {}/*iconst_2*/, {}/*iconst_3*/, {}/*iconst_4*/,
+ {}/*iconst_5*/, {}/*lconst_0*/, {}/*lconst_1*/, {}/*fconst_0*/,
+ {}/*fconst_1*/, {}/*fconst_2*/, {}/*dconst_0*/, {}/*dconst_1*/,
+ {T_BYTE}/*bipush*/, {T_SHORT}/*sipush*/, {T_BYTE}/*ldc*/,
+ {T_SHORT}/*ldc_w*/, {T_SHORT}/*ldc2_w*/,
+ {T_BYTE}/*iload*/, {T_BYTE}/*lload*/, {T_BYTE}/*fload*/,
+ {T_BYTE}/*dload*/, {T_BYTE}/*aload*/, {}/*iload_0*/,
+ {}/*iload_1*/, {}/*iload_2*/, {}/*iload_3*/, {}/*lload_0*/,
+ {}/*lload_1*/, {}/*lload_2*/, {}/*lload_3*/, {}/*fload_0*/,
+ {}/*fload_1*/, {}/*fload_2*/, {}/*fload_3*/, {}/*dload_0*/,
+ {}/*dload_1*/, {}/*dload_2*/, {}/*dload_3*/, {}/*aload_0*/,
+ {}/*aload_1*/, {}/*aload_2*/, {}/*aload_3*/, {}/*iaload*/,
+ {}/*laload*/, {}/*faload*/, {}/*daload*/, {}/*aaload*/,
+ {}/*baload*/, {}/*caload*/, {}/*saload*/, {T_BYTE}/*istore*/,
+ {T_BYTE}/*lstore*/, {T_BYTE}/*fstore*/, {T_BYTE}/*dstore*/,
+ {T_BYTE}/*astore*/, {}/*istore_0*/, {}/*istore_1*/,
+ {}/*istore_2*/, {}/*istore_3*/, {}/*lstore_0*/, {}/*lstore_1*/,
+ {}/*lstore_2*/, {}/*lstore_3*/, {}/*fstore_0*/, {}/*fstore_1*/,
+ {}/*fstore_2*/, {}/*fstore_3*/, {}/*dstore_0*/, {}/*dstore_1*/,
+ {}/*dstore_2*/, {}/*dstore_3*/, {}/*astore_0*/, {}/*astore_1*/,
+ {}/*astore_2*/, {}/*astore_3*/, {}/*iastore*/, {}/*lastore*/,
+ {}/*fastore*/, {}/*dastore*/, {}/*aastore*/, {}/*bastore*/,
+ {}/*castore*/, {}/*sastore*/, {}/*pop*/, {}/*pop2*/, {}/*dup*/,
+ {}/*dup_x1*/, {}/*dup_x2*/, {}/*dup2*/, {}/*dup2_x1*/,
+ {}/*dup2_x2*/, {}/*swap*/, {}/*iadd*/, {}/*ladd*/, {}/*fadd*/,
+ {}/*dadd*/, {}/*isub*/, {}/*lsub*/, {}/*fsub*/, {}/*dsub*/,
+ {}/*imul*/, {}/*lmul*/, {}/*fmul*/, {}/*dmul*/, {}/*idiv*/,
+ {}/*ldiv*/, {}/*fdiv*/, {}/*ddiv*/, {}/*irem*/, {}/*lrem*/,
+ {}/*frem*/, {}/*drem*/, {}/*ineg*/, {}/*lneg*/, {}/*fneg*/,
+ {}/*dneg*/, {}/*ishl*/, {}/*lshl*/, {}/*ishr*/, {}/*lshr*/,
+ {}/*iushr*/, {}/*lushr*/, {}/*iand*/, {}/*land*/, {}/*ior*/,
+ {}/*lor*/, {}/*ixor*/, {}/*lxor*/, {T_BYTE, T_BYTE}/*iinc*/,
+ {}/*i2l*/, {}/*i2f*/, {}/*i2d*/, {}/*l2i*/, {}/*l2f*/, {}/*l2d*/,
+ {}/*f2i*/, {}/*f2l*/, {}/*f2d*/, {}/*d2i*/, {}/*d2l*/, {}/*d2f*/,
+ {}/*i2b*/, {}/*i2c*/, {}/*i2s*/, {}/*lcmp*/, {}/*fcmpl*/,
+ {}/*fcmpg*/, {}/*dcmpl*/, {}/*dcmpg*/, {T_SHORT}/*ifeq*/,
+ {T_SHORT}/*ifne*/, {T_SHORT}/*iflt*/, {T_SHORT}/*ifge*/,
+ {T_SHORT}/*ifgt*/, {T_SHORT}/*ifle*/, {T_SHORT}/*if_icmpeq*/,
+ {T_SHORT}/*if_icmpne*/, {T_SHORT}/*if_icmplt*/,
+ {T_SHORT}/*if_icmpge*/, {T_SHORT}/*if_icmpgt*/,
+ {T_SHORT}/*if_icmple*/, {T_SHORT}/*if_acmpeq*/,
+ {T_SHORT}/*if_acmpne*/, {T_SHORT}/*goto*/, {T_SHORT}/*jsr*/,
+ {T_BYTE}/*ret*/, {}/*tableswitch*/, {}/*lookupswitch*/,
+ {}/*ireturn*/, {}/*lreturn*/, {}/*freturn*/, {}/*dreturn*/,
+ {}/*areturn*/, {}/*return*/, {T_SHORT}/*getstatic*/,
+ {T_SHORT}/*putstatic*/, {T_SHORT}/*getfield*/,
+ {T_SHORT}/*putfield*/, {T_SHORT}/*invokevirtual*/,
+ {T_SHORT}/*invokespecial*/, {T_SHORT}/*invokestatic*/,
+ {T_SHORT, T_BYTE, T_BYTE}/*invokeinterface*/, {T_SHORT, T_BYTE, T_BYTE}/*invokedynamic*/,
+ {T_SHORT}/*new*/, {T_BYTE}/*newarray*/,
+ {T_SHORT}/*anewarray*/, {}/*arraylength*/, {}/*athrow*/,
+ {T_SHORT}/*checkcast*/, {T_SHORT}/*instanceof*/,
+ {}/*monitorenter*/, {}/*monitorexit*/, {T_BYTE}/*wide*/,
+ {T_SHORT, T_BYTE}/*multianewarray*/, {T_SHORT}/*ifnull*/,
+ {T_SHORT}/*ifnonnull*/, {T_INT}/*goto_w*/, {T_INT}/*jsr_w*/,
+ {}/*breakpoint*/, {}, {}, {}, {}, {}, {}, {},
+ {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
+ {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
+ {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
+ {}/*impdep1*/, {}/*impdep2*/
+ };
+
+ /**
+ * @since 6.0
+ */
+ public static short getOperandType(final int opcode, final int index) {
+ return TYPE_OF_OPERANDS[opcode][index];
+ }
+
+ /**
+ * @since 6.0
+ */
+ public static long getOperandTypeCount(final int opcode) {
+ return TYPE_OF_OPERANDS[opcode].length;
+ }
+
+ /**
+ * Names of opcodes. Indexed by opcode. OPCODE_NAMES[ALOAD] = "aload".
+ */
+ private static final String[] OPCODE_NAMES = {
+ "nop", "aconst_null", "iconst_m1", "iconst_0", "iconst_1",
+ "iconst_2", "iconst_3", "iconst_4", "iconst_5", "lconst_0",
+ "lconst_1", "fconst_0", "fconst_1", "fconst_2", "dconst_0",
+ "dconst_1", "bipush", "sipush", "ldc", "ldc_w", "ldc2_w", "iload",
+ "lload", "fload", "dload", "aload", "iload_0", "iload_1", "iload_2",
+ "iload_3", "lload_0", "lload_1", "lload_2", "lload_3", "fload_0",
+ "fload_1", "fload_2", "fload_3", "dload_0", "dload_1", "dload_2",
+ "dload_3", "aload_0", "aload_1", "aload_2", "aload_3", "iaload",
+ "laload", "faload", "daload", "aaload", "baload", "caload", "saload",
+ "istore", "lstore", "fstore", "dstore", "astore", "istore_0",
+ "istore_1", "istore_2", "istore_3", "lstore_0", "lstore_1",
+ "lstore_2", "lstore_3", "fstore_0", "fstore_1", "fstore_2",
+ "fstore_3", "dstore_0", "dstore_1", "dstore_2", "dstore_3",
+ "astore_0", "astore_1", "astore_2", "astore_3", "iastore", "lastore",
+ "fastore", "dastore", "aastore", "bastore", "castore", "sastore",
+ "pop", "pop2", "dup", "dup_x1", "dup_x2", "dup2", "dup2_x1",
+ "dup2_x2", "swap", "iadd", "ladd", "fadd", "dadd", "isub", "lsub",
+ "fsub", "dsub", "imul", "lmul", "fmul", "dmul", "idiv", "ldiv",
+ "fdiv", "ddiv", "irem", "lrem", "frem", "drem", "ineg", "lneg",
+ "fneg", "dneg", "ishl", "lshl", "ishr", "lshr", "iushr", "lushr",
+ "iand", "land", "ior", "lor", "ixor", "lxor", "iinc", "i2l", "i2f",
+ "i2d", "l2i", "l2f", "l2d", "f2i", "f2l", "f2d", "d2i", "d2l", "d2f",
+ "i2b", "i2c", "i2s", "lcmp", "fcmpl", "fcmpg",
+ "dcmpl", "dcmpg", "ifeq", "ifne", "iflt", "ifge", "ifgt", "ifle",
+ "if_icmpeq", "if_icmpne", "if_icmplt", "if_icmpge", "if_icmpgt",
+ "if_icmple", "if_acmpeq", "if_acmpne", "goto", "jsr", "ret",
+ "tableswitch", "lookupswitch", "ireturn", "lreturn", "freturn",
+ "dreturn", "areturn", "return", "getstatic", "putstatic", "getfield",
+ "putfield", "invokevirtual", "invokespecial", "invokestatic",
+ "invokeinterface", "invokedynamic", "new", "newarray", "anewarray",
+ "arraylength", "athrow", "checkcast", "instanceof", "monitorenter",
+ "monitorexit", "wide", "multianewarray", "ifnull", "ifnonnull",
+ "goto_w", "jsr_w", "breakpoint", ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, "impdep1", "impdep2"
+ };
+
+ /**
+ * @since 6.0
+ */
+ public static final int OPCODE_NAMES_LENGTH = OPCODE_NAMES.length;
+
+
+ /**
+ * @since 6.0
+ */
+ public static String getOpcodeName(final int index) {
+ return OPCODE_NAMES[index];
+ }
+
+ /**
+ * Number of words consumed on operand stack by instructions.
+ * Indexed by opcode. CONSUME_STACK[FALOAD] = number of words
+ * consumed from the stack by a faload instruction.
+ */
+ private static final int[] CONSUME_STACK = {
+ 0/*nop*/, 0/*aconst_null*/, 0/*iconst_m1*/, 0/*iconst_0*/, 0/*iconst_1*/,
+ 0/*iconst_2*/, 0/*iconst_3*/, 0/*iconst_4*/, 0/*iconst_5*/, 0/*lconst_0*/,
+ 0/*lconst_1*/, 0/*fconst_0*/, 0/*fconst_1*/, 0/*fconst_2*/, 0/*dconst_0*/,
+ 0/*dconst_1*/, 0/*bipush*/, 0/*sipush*/, 0/*ldc*/, 0/*ldc_w*/, 0/*ldc2_w*/, 0/*iload*/,
+ 0/*lload*/, 0/*fload*/, 0/*dload*/, 0/*aload*/, 0/*iload_0*/, 0/*iload_1*/, 0/*iload_2*/,
+ 0/*iload_3*/, 0/*lload_0*/, 0/*lload_1*/, 0/*lload_2*/, 0/*lload_3*/, 0/*fload_0*/,
+ 0/*fload_1*/, 0/*fload_2*/, 0/*fload_3*/, 0/*dload_0*/, 0/*dload_1*/, 0/*dload_2*/,
+ 0/*dload_3*/, 0/*aload_0*/, 0/*aload_1*/, 0/*aload_2*/, 0/*aload_3*/, 2/*iaload*/,
+ 2/*laload*/, 2/*faload*/, 2/*daload*/, 2/*aaload*/, 2/*baload*/, 2/*caload*/, 2/*saload*/,
+ 1/*istore*/, 2/*lstore*/, 1/*fstore*/, 2/*dstore*/, 1/*astore*/, 1/*istore_0*/,
+ 1/*istore_1*/, 1/*istore_2*/, 1/*istore_3*/, 2/*lstore_0*/, 2/*lstore_1*/,
+ 2/*lstore_2*/, 2/*lstore_3*/, 1/*fstore_0*/, 1/*fstore_1*/, 1/*fstore_2*/,
+ 1/*fstore_3*/, 2/*dstore_0*/, 2/*dstore_1*/, 2/*dstore_2*/, 2/*dstore_3*/,
+ 1/*astore_0*/, 1/*astore_1*/, 1/*astore_2*/, 1/*astore_3*/, 3/*iastore*/, 4/*lastore*/,
+ 3/*fastore*/, 4/*dastore*/, 3/*aastore*/, 3/*bastore*/, 3/*castore*/, 3/*sastore*/,
+ 1/*pop*/, 2/*pop2*/, 1/*dup*/, 2/*dup_x1*/, 3/*dup_x2*/, 2/*dup2*/, 3/*dup2_x1*/,
+ 4/*dup2_x2*/, 2/*swap*/, 2/*iadd*/, 4/*ladd*/, 2/*fadd*/, 4/*dadd*/, 2/*isub*/, 4/*lsub*/,
+ 2/*fsub*/, 4/*dsub*/, 2/*imul*/, 4/*lmul*/, 2/*fmul*/, 4/*dmul*/, 2/*idiv*/, 4/*ldiv*/,
+ 2/*fdiv*/, 4/*ddiv*/, 2/*irem*/, 4/*lrem*/, 2/*frem*/, 4/*drem*/, 1/*ineg*/, 2/*lneg*/,
+ 1/*fneg*/, 2/*dneg*/, 2/*ishl*/, 3/*lshl*/, 2/*ishr*/, 3/*lshr*/, 2/*iushr*/, 3/*lushr*/,
+ 2/*iand*/, 4/*land*/, 2/*ior*/, 4/*lor*/, 2/*ixor*/, 4/*lxor*/, 0/*iinc*/,
+ 1/*i2l*/, 1/*i2f*/, 1/*i2d*/, 2/*l2i*/, 2/*l2f*/, 2/*l2d*/, 1/*f2i*/, 1/*f2l*/,
+ 1/*f2d*/, 2/*d2i*/, 2/*d2l*/, 2/*d2f*/, 1/*i2b*/, 1/*i2c*/, 1/*i2s*/,
+ 4/*lcmp*/, 2/*fcmpl*/, 2/*fcmpg*/, 4/*dcmpl*/, 4/*dcmpg*/, 1/*ifeq*/, 1/*ifne*/,
+ 1/*iflt*/, 1/*ifge*/, 1/*ifgt*/, 1/*ifle*/, 2/*if_icmpeq*/, 2/*if_icmpne*/, 2/*if_icmplt*/,
+ 2 /*if_icmpge*/, 2/*if_icmpgt*/, 2/*if_icmple*/, 2/*if_acmpeq*/, 2/*if_acmpne*/,
+ 0/*goto*/, 0/*jsr*/, 0/*ret*/, 1/*tableswitch*/, 1/*lookupswitch*/, 1/*ireturn*/,
+ 2/*lreturn*/, 1/*freturn*/, 2/*dreturn*/, 1/*areturn*/, 0/*return*/, 0/*getstatic*/,
+ UNPREDICTABLE/*putstatic*/, 1/*getfield*/, UNPREDICTABLE/*putfield*/,
+ UNPREDICTABLE/*invokevirtual*/, UNPREDICTABLE/*invokespecial*/,
+ UNPREDICTABLE/*invokestatic*/,
+ UNPREDICTABLE/*invokeinterface*/, UNPREDICTABLE/*invokedynamic*/, 0/*new*/, 1/*newarray*/, 1/*anewarray*/,
+ 1/*arraylength*/, 1/*athrow*/, 1/*checkcast*/, 1/*instanceof*/, 1/*monitorenter*/,
+ 1/*monitorexit*/, 0/*wide*/, UNPREDICTABLE/*multianewarray*/, 1/*ifnull*/, 1/*ifnonnull*/,
+ 0/*goto_w*/, 0/*jsr_w*/, 0/*breakpoint*/, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNPREDICTABLE/*impdep1*/, UNPREDICTABLE/*impdep2*/
+ };
+
+ /**
+ *
+ * @param index
+ * @return Number of words consumed on operand stack
+ * @since 6.0
+ */
+ public static int getConsumeStack(final int index) {
+ return CONSUME_STACK[index];
+ }
+
+
+ /**
+ * Number of words produced onto operand stack by instructions.
+ * Indexed by opcode. CONSUME_STACK[DALOAD] = number of words
+ * consumed from the stack by a daload instruction.
+ */
+ private static final int[] PRODUCE_STACK = {
+ 0/*nop*/, 1/*aconst_null*/, 1/*iconst_m1*/, 1/*iconst_0*/, 1/*iconst_1*/,
+ 1/*iconst_2*/, 1/*iconst_3*/, 1/*iconst_4*/, 1/*iconst_5*/, 2/*lconst_0*/,
+ 2/*lconst_1*/, 1/*fconst_0*/, 1/*fconst_1*/, 1/*fconst_2*/, 2/*dconst_0*/,
+ 2/*dconst_1*/, 1/*bipush*/, 1/*sipush*/, 1/*ldc*/, 1/*ldc_w*/, 2/*ldc2_w*/, 1/*iload*/,
+ 2/*lload*/, 1/*fload*/, 2/*dload*/, 1/*aload*/, 1/*iload_0*/, 1/*iload_1*/, 1/*iload_2*/,
+ 1/*iload_3*/, 2/*lload_0*/, 2/*lload_1*/, 2/*lload_2*/, 2/*lload_3*/, 1/*fload_0*/,
+ 1/*fload_1*/, 1/*fload_2*/, 1/*fload_3*/, 2/*dload_0*/, 2/*dload_1*/, 2/*dload_2*/,
+ 2/*dload_3*/, 1/*aload_0*/, 1/*aload_1*/, 1/*aload_2*/, 1/*aload_3*/, 1/*iaload*/,
+ 2/*laload*/, 1/*faload*/, 2/*daload*/, 1/*aaload*/, 1/*baload*/, 1/*caload*/, 1/*saload*/,
+ 0/*istore*/, 0/*lstore*/, 0/*fstore*/, 0/*dstore*/, 0/*astore*/, 0/*istore_0*/,
+ 0/*istore_1*/, 0/*istore_2*/, 0/*istore_3*/, 0/*lstore_0*/, 0/*lstore_1*/,
+ 0/*lstore_2*/, 0/*lstore_3*/, 0/*fstore_0*/, 0/*fstore_1*/, 0/*fstore_2*/,
+ 0/*fstore_3*/, 0/*dstore_0*/, 0/*dstore_1*/, 0/*dstore_2*/, 0/*dstore_3*/,
+ 0/*astore_0*/, 0/*astore_1*/, 0/*astore_2*/, 0/*astore_3*/, 0/*iastore*/, 0/*lastore*/,
+ 0/*fastore*/, 0/*dastore*/, 0/*aastore*/, 0/*bastore*/, 0/*castore*/, 0/*sastore*/,
+ 0/*pop*/, 0/*pop2*/, 2/*dup*/, 3/*dup_x1*/, 4/*dup_x2*/, 4/*dup2*/, 5/*dup2_x1*/,
+ 6/*dup2_x2*/, 2/*swap*/, 1/*iadd*/, 2/*ladd*/, 1/*fadd*/, 2/*dadd*/, 1/*isub*/, 2/*lsub*/,
+ 1/*fsub*/, 2/*dsub*/, 1/*imul*/, 2/*lmul*/, 1/*fmul*/, 2/*dmul*/, 1/*idiv*/, 2/*ldiv*/,
+ 1/*fdiv*/, 2/*ddiv*/, 1/*irem*/, 2/*lrem*/, 1/*frem*/, 2/*drem*/, 1/*ineg*/, 2/*lneg*/,
+ 1/*fneg*/, 2/*dneg*/, 1/*ishl*/, 2/*lshl*/, 1/*ishr*/, 2/*lshr*/, 1/*iushr*/, 2/*lushr*/,
+ 1/*iand*/, 2/*land*/, 1/*ior*/, 2/*lor*/, 1/*ixor*/, 2/*lxor*/,
+ 0/*iinc*/, 2/*i2l*/, 1/*i2f*/, 2/*i2d*/, 1/*l2i*/, 1/*l2f*/, 2/*l2d*/, 1/*f2i*/,
+ 2/*f2l*/, 2/*f2d*/, 1/*d2i*/, 2/*d2l*/, 1/*d2f*/,
+ 1/*i2b*/, 1/*i2c*/, 1/*i2s*/, 1/*lcmp*/, 1/*fcmpl*/, 1/*fcmpg*/,
+ 1/*dcmpl*/, 1/*dcmpg*/, 0/*ifeq*/, 0/*ifne*/, 0/*iflt*/, 0/*ifge*/, 0/*ifgt*/, 0/*ifle*/,
+ 0/*if_icmpeq*/, 0/*if_icmpne*/, 0/*if_icmplt*/, 0/*if_icmpge*/, 0/*if_icmpgt*/,
+ 0/*if_icmple*/, 0/*if_acmpeq*/, 0/*if_acmpne*/, 0/*goto*/, 1/*jsr*/, 0/*ret*/,
+ 0/*tableswitch*/, 0/*lookupswitch*/, 0/*ireturn*/, 0/*lreturn*/, 0/*freturn*/,
+ 0/*dreturn*/, 0/*areturn*/, 0/*return*/, UNPREDICTABLE/*getstatic*/, 0/*putstatic*/,
+ UNPREDICTABLE/*getfield*/, 0/*putfield*/, UNPREDICTABLE/*invokevirtual*/,
+ UNPREDICTABLE/*invokespecial*/, UNPREDICTABLE/*invokestatic*/,
+ UNPREDICTABLE/*invokeinterface*/, UNPREDICTABLE/*invokedynamic*/, 1/*new*/, 1/*newarray*/, 1/*anewarray*/,
+ 1/*arraylength*/, 1/*athrow*/, 1/*checkcast*/, 1/*instanceof*/, 0/*monitorenter*/,
+ 0/*monitorexit*/, 0/*wide*/, 1/*multianewarray*/, 0/*ifnull*/, 0/*ifnonnull*/,
+ 0/*goto_w*/, 1/*jsr_w*/, 0/*breakpoint*/, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNPREDICTABLE/*impdep1*/, UNPREDICTABLE/*impdep2*/
+ };
+
+ /**
+ *
+ * @param index
+ * @return Number of words produced onto operand stack
+ * @since 6.0
+ */
+ public static int getProduceStack(final int index) {
+ return PRODUCE_STACK[index];
+ }
+
+ /** Attributes and their corresponding names.
+ */
+ public static final byte ATTR_UNKNOWN = -1;
+ public static final byte ATTR_SOURCE_FILE = 0;
+ public static final byte ATTR_CONSTANT_VALUE = 1;
+ public static final byte ATTR_CODE = 2;
+ public static final byte ATTR_EXCEPTIONS = 3;
+ public static final byte ATTR_LINE_NUMBER_TABLE = 4;
+ public static final byte ATTR_LOCAL_VARIABLE_TABLE = 5;
+ public static final byte ATTR_INNER_CLASSES = 6;
+ public static final byte ATTR_SYNTHETIC = 7;
+ public static final byte ATTR_DEPRECATED = 8;
+ public static final byte ATTR_PMG = 9;
+ public static final byte ATTR_SIGNATURE = 10;
+ public static final byte ATTR_STACK_MAP = 11;
+ public static final byte ATTR_RUNTIME_VISIBLE_ANNOTATIONS = 12;
+ public static final byte ATTR_RUNTIME_INVISIBLE_ANNOTATIONS = 13;
+ public static final byte ATTR_RUNTIME_VISIBLE_PARAMETER_ANNOTATIONS = 14;
+ public static final byte ATTR_RUNTIME_INVISIBLE_PARAMETER_ANNOTATIONS = 15;
+ public static final byte ATTR_ANNOTATION_DEFAULT = 16;
+ public static final byte ATTR_LOCAL_VARIABLE_TYPE_TABLE = 17;
+ public static final byte ATTR_ENCLOSING_METHOD = 18;
+ public static final byte ATTR_STACK_MAP_TABLE = 19;
+ public static final byte ATTR_BOOTSTRAP_METHODS = 20;
+ public static final byte ATTR_METHOD_PARAMETERS = 21;
+
+ public static final short KNOWN_ATTRIBUTES = 22; // count of attributes
+
+ private static final String[] ATTRIBUTE_NAMES = {
+ "SourceFile", "ConstantValue", "Code", "Exceptions",
+ "LineNumberTable", "LocalVariableTable",
+ "InnerClasses", "Synthetic", "Deprecated",
+ "PMGClass", "Signature", "StackMap",
+ "RuntimeVisibleAnnotations", "RuntimeInvisibleAnnotations",
+ "RuntimeVisibleParameterAnnotations", "RuntimeInvisibleParameterAnnotations",
+ "AnnotationDefault", "LocalVariableTypeTable", "EnclosingMethod", "StackMapTable",
+ "BootstrapMethods", "MethodParameters"
+ };
+
+ /**
+ *
+ * @param index
+ * @return the attribute name
+ * @since 6.0
+ */
+ public static String getAttributeName(final int index) {
+ return ATTRIBUTE_NAMES[index];
+ }
+
+ /** Constants used in the StackMap attribute.
+ */
+ public static final byte ITEM_Bogus = 0;
+ public static final byte ITEM_Integer = 1;
+ public static final byte ITEM_Float = 2;
+ public static final byte ITEM_Double = 3;
+ public static final byte ITEM_Long = 4;
+ public static final byte ITEM_Null = 5;
+ public static final byte ITEM_InitObject = 6;
+ public static final byte ITEM_Object = 7;
+ public static final byte ITEM_NewObject = 8;
+
+ private static final String[] ITEM_NAMES = {
+ "Bogus", "Integer", "Float", "Double", "Long",
+ "Null", "InitObject", "Object", "NewObject"
+ };
+
+ /**
+ *
+ * @param index
+ * @return the item name
+ * @since 6.0
+ */
+ public static String getItemName(final int index) {
+ return ITEM_NAMES[index];
+ }
+
+ /** Constants used to identify StackMapEntry types.
+ *
+ * For those types which can specify a range, the
+ * constant names the lowest value.
+ */
+ public static final int SAME_FRAME = 0;
+ public static final int SAME_LOCALS_1_STACK_ITEM_FRAME = 64;
+ public static final int SAME_LOCALS_1_STACK_ITEM_FRAME_EXTENDED = 247;
+ public static final int CHOP_FRAME = 248;
+ public static final int SAME_FRAME_EXTENDED = 251;
+ public static final int APPEND_FRAME = 252;
+ public static final int FULL_FRAME = 255;
+
+ /** Constants that define the maximum value of
+ * those constants which store ranges. */
+
+ public static final int SAME_FRAME_MAX = 63;
+ public static final int SAME_LOCALS_1_STACK_ITEM_FRAME_MAX = 127;
+ public static final int CHOP_FRAME_MAX = 250;
+ public static final int APPEND_FRAME_MAX = 254;
+
+
+ // Constants defining the behavior of the Method Handles (JVMS �5.4.3.5)
+
+ public static final byte REF_getField = 1;
+ public static final byte REF_getStatic = 2;
+ public static final byte REF_putField = 3;
+ public static final byte REF_putStatic = 4;
+ public static final byte REF_invokeVirtual = 5;
+ public static final byte REF_invokeStatic = 6;
+ public static final byte REF_invokeSpecial = 7;
+ public static final byte REF_newInvokeSpecial = 8;
+ public static final byte REF_invokeInterface = 9;
+
+ /**
+ * The names of the reference_kinds of a CONSTANT_MethodHandle_info.
+ */
+ private static final String[] METHODHANDLE_NAMES = {
+ "", "getField", "getStatic", "putField", "putStatic", "invokeVirtual",
+ "invokeStatic", "invokeSpecial", "newInvokeSpecial", "invokeInterface" };
+
+ /**
+ *
+ * @param index
+ * @return the method handle name
+ * @since 6.0
+ */
+ public static String getMethodHandleName(final int index) {
+ return METHODHANDLE_NAMES[index];
+ }
+
+ private Const() { } // not instantiable
+
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/Constants.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/Constants.java
new file mode 100644
index 00000000..951a7b1c
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/Constants.java
@@ -0,0 +1,1697 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel;
+
+/**
+ * Constants for the project, mostly defined in the JVM specification.
+ *
+ * @version $Id: Constants.java 1806200 2017-08-25 16:33:06Z ggregory $
+ * @deprecated (since 6.0) DO NOT USE - use Const instead
+ */
+@Deprecated
+public interface Constants {
+
+ /** Major version number of class files for Java 1.1.
+ * @see #MINOR_1_1
+ * */
+ short MAJOR_1_1 = 45;
+
+ /** Minor version number of class files for Java 1.1.
+ * @see #MAJOR_1_1
+ * */
+ short MINOR_1_1 = 3;
+
+ /** Major version number of class files for Java 1.2.
+ * @see #MINOR_1_2
+ * */
+ short MAJOR_1_2 = 46;
+
+ /** Minor version number of class files for Java 1.2.
+ * @see #MAJOR_1_2
+ * */
+ short MINOR_1_2 = 0;
+
+ /** Major version number of class files for Java 1.2.
+ * @see #MINOR_1_2
+ * */
+ short MAJOR_1_3 = 47;
+
+ /** Minor version number of class files for Java 1.3.
+ * @see #MAJOR_1_3
+ * */
+ short MINOR_1_3 = 0;
+
+ /** Major version number of class files for Java 1.3.
+ * @see #MINOR_1_3
+ * */
+ short MAJOR_1_4 = 48;
+
+ /** Minor version number of class files for Java 1.4.
+ * @see #MAJOR_1_4
+ * */
+ short MINOR_1_4 = 0;
+
+ /** Major version number of class files for Java 1.4.
+ * @see #MINOR_1_4
+ * */
+ short MAJOR_1_5 = 49;
+
+ /** Minor version number of class files for Java 1.5.
+ * @see #MAJOR_1_5
+ * */
+ short MINOR_1_5 = 0;
+
+
+ /** Default major version number. Class file is for Java 1.1.
+ * @see #MAJOR_1_1
+ * */
+ short MAJOR = MAJOR_1_1;
+
+ /** Default major version number. Class file is for Java 1.1.
+ * @see #MAJOR_1_1
+ * */
+ short MINOR = MINOR_1_1;
+
+ /** Maximum value for an unsigned short.
+ */
+ int MAX_SHORT = 65535; // 2^16 - 1
+
+ /** Maximum value for an unsigned byte.
+ */
+ int MAX_BYTE = 255; // 2^8 - 1
+
+ /** One of the access flags for fields, methods, or classes.
+ * @see "
+ * Flag definitions for Fields in the Java Virtual Machine Specification (Java SE 8 Edition)."
+ * @see "
+ * Flag definitions for Methods in the Java Virtual Machine Specification (Java SE 8 Edition)."
+ * @see "
+ * Flag definitions for Classes in the Java Virtual Machine Specification (Java SE 8 Edition)."
+ */
+ short ACC_PUBLIC = 0x0001;
+
+ /** One of the access flags for fields, methods, or classes.
+ * @see #ACC_PUBLIC
+ */
+ short ACC_PRIVATE = 0x0002;
+
+ /** One of the access flags for fields, methods, or classes.
+ * @see #ACC_PUBLIC
+ */
+ short ACC_PROTECTED = 0x0004;
+
+ /** One of the access flags for fields, methods, or classes.
+ * @see #ACC_PUBLIC
+ */
+ short ACC_STATIC = 0x0008;
+
+ /** One of the access flags for fields, methods, or classes.
+ * @see #ACC_PUBLIC
+ */
+ short ACC_FINAL = 0x0010;
+
+ /** One of the access flags for fields, methods, or classes.
+ * @see #ACC_PUBLIC
+ */
+ short ACC_SYNCHRONIZED = 0x0020;
+
+ /** One of the access flags for fields, methods, or classes.
+ * @see #ACC_PUBLIC
+ */
+ short ACC_VOLATILE = 0x0040;
+
+ /** One of the access flags for fields, methods, or classes.
+ * @see #ACC_PUBLIC
+ */
+ short ACC_BRIDGE = 0x0040;
+
+ /** One of the access flags for fields, methods, or classes.
+ * @see #ACC_PUBLIC
+ */
+ short ACC_TRANSIENT = 0x0080;
+
+ /** One of the access flags for fields, methods, or classes.
+ * @see #ACC_PUBLIC
+ */
+ short ACC_VARARGS = 0x0080;
+
+ /** One of the access flags for fields, methods, or classes.
+ * @see #ACC_PUBLIC
+ */
+ short ACC_NATIVE = 0x0100;
+
+ /** One of the access flags for fields, methods, or classes.
+ * @see #ACC_PUBLIC
+ */
+ short ACC_INTERFACE = 0x0200;
+
+ /** One of the access flags for fields, methods, or classes.
+ * @see #ACC_PUBLIC
+ */
+ short ACC_ABSTRACT = 0x0400;
+
+ /** One of the access flags for fields, methods, or classes.
+ * @see #ACC_PUBLIC
+ */
+ short ACC_STRICT = 0x0800;
+
+ /** One of the access flags for fields, methods, or classes.
+ * @see #ACC_PUBLIC
+ */
+ short ACC_SYNTHETIC = 0x1000;
+
+ /** One of the access flags for fields, methods, or classes.
+ * @see #ACC_PUBLIC
+ */
+ short ACC_ANNOTATION = 0x2000;
+
+ /** One of the access flags for fields, methods, or classes.
+ * @see #ACC_PUBLIC
+ */
+ short ACC_ENUM = 0x4000;
+
+ // Applies to classes compiled by new compilers only
+ /** One of the access flags for fields, methods, or classes.
+ * @see #ACC_PUBLIC
+ */
+ short ACC_SUPER = 0x0020;
+
+ /** One of the access flags for fields, methods, or classes.
+ * @see #ACC_PUBLIC
+ */
+ short MAX_ACC_FLAG = ACC_ENUM;
+
+ /** The names of the access flags. */
+ String[] ACCESS_NAMES = {
+ "public", "private", "protected", "static", "final", "synchronized",
+ "volatile", "transient", "native", "interface", "abstract", "strictfp",
+ "synthetic", "annotation", "enum"
+ };
+
+ /** Marks a constant pool entry as type UTF-8. */
+ byte CONSTANT_Utf8 = 1;
+
+ /** Marks a constant pool entry as type Integer. */
+ byte CONSTANT_Integer = 3;
+
+ /** Marks a constant pool entry as type Float. */
+ byte CONSTANT_Float = 4;
+
+ /** Marks a constant pool entry as type Long. */
+ byte CONSTANT_Long = 5;
+
+ /** Marks a constant pool entry as type Double. */
+ byte CONSTANT_Double = 6;
+
+ /** Marks a constant pool entry as a Class. */
+ byte CONSTANT_Class = 7;
+
+ /** Marks a constant pool entry as a Field Reference. */
+ byte CONSTANT_Fieldref = 9;
+
+ /** Marks a constant pool entry as type String. */
+ byte CONSTANT_String = 8;
+
+ /** Marks a constant pool entry as a Method Reference. */
+ byte CONSTANT_Methodref = 10;
+
+ /** Marks a constant pool entry as an Interface Method Reference. */
+ byte CONSTANT_InterfaceMethodref = 11;
+
+ /** Marks a constant pool entry as a name and type. */
+ byte CONSTANT_NameAndType = 12;
+
+ /** The names of the types of entries in a constant pool. */
+ String[] CONSTANT_NAMES = {
+ "", "CONSTANT_Utf8", "", "CONSTANT_Integer",
+ "CONSTANT_Float", "CONSTANT_Long", "CONSTANT_Double",
+ "CONSTANT_Class", "CONSTANT_String", "CONSTANT_Fieldref",
+ "CONSTANT_Methodref", "CONSTANT_InterfaceMethodref",
+ "CONSTANT_NameAndType" };
+
+ /** The name of the static initializer, also called "class
+ * initialization method" or "interface initialization
+ * method". This is "<clinit>".
+ */
+ String STATIC_INITIALIZER_NAME = "";
+
+ /** The name of every constructor method in a class, also called
+ * "instance initialization method". This is "<init>".
+ */
+ String CONSTRUCTOR_NAME = "";
+
+ /** The names of the interfaces implemented by arrays */
+ String[] INTERFACES_IMPLEMENTED_BY_ARRAYS = {"java.lang.Cloneable", "java.io.Serializable"};
+
+ /**
+ * One of the limitations of the Java Virtual Machine.
+ * @see
+ * The Java Virtual Machine Specification, Second Edition, page 152, chapter 4.10.
+ */
+ int MAX_CP_ENTRIES = 65535;
+
+ /**
+ * One of the limitations of the Java Virtual Machine.
+ * @see
+ * The Java Virtual Machine Specification, Second Edition, page 152, chapter 4.10.
+ */
+ int MAX_CODE_SIZE = 65536; //bytes
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short NOP = 0;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ACONST_NULL = 1;
+
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ICONST_M1 = 2;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ICONST_0 = 3;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ICONST_1 = 4;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ICONST_2 = 5;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ICONST_3 = 6;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ICONST_4 = 7;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ICONST_5 = 8;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LCONST_0 = 9;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LCONST_1 = 10;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FCONST_0 = 11;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FCONST_1 = 12;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FCONST_2 = 13;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DCONST_0 = 14;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DCONST_1 = 15;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short BIPUSH = 16;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short SIPUSH = 17;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LDC = 18;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LDC_W = 19;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LDC2_W = 20;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ILOAD = 21;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LLOAD = 22;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FLOAD = 23;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DLOAD = 24;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ALOAD = 25;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ILOAD_0 = 26;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ILOAD_1 = 27;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ILOAD_2 = 28;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ILOAD_3 = 29;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LLOAD_0 = 30;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LLOAD_1 = 31;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LLOAD_2 = 32;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LLOAD_3 = 33;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FLOAD_0 = 34;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FLOAD_1 = 35;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FLOAD_2 = 36;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FLOAD_3 = 37;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DLOAD_0 = 38;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DLOAD_1 = 39;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DLOAD_2 = 40;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DLOAD_3 = 41;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ALOAD_0 = 42;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ALOAD_1 = 43;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ALOAD_2 = 44;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ALOAD_3 = 45;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IALOAD = 46;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LALOAD = 47;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FALOAD = 48;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DALOAD = 49;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short AALOAD = 50;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short BALOAD = 51;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short CALOAD = 52;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short SALOAD = 53;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ISTORE = 54;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LSTORE = 55;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FSTORE = 56;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DSTORE = 57;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ASTORE = 58;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ISTORE_0 = 59;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ISTORE_1 = 60;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ISTORE_2 = 61;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ISTORE_3 = 62;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LSTORE_0 = 63;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LSTORE_1 = 64;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LSTORE_2 = 65;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LSTORE_3 = 66;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FSTORE_0 = 67;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FSTORE_1 = 68;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FSTORE_2 = 69;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FSTORE_3 = 70;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DSTORE_0 = 71;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DSTORE_1 = 72;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DSTORE_2 = 73;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DSTORE_3 = 74;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ASTORE_0 = 75;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ASTORE_1 = 76;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ASTORE_2 = 77;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ASTORE_3 = 78;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IASTORE = 79;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LASTORE = 80;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FASTORE = 81;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DASTORE = 82;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short AASTORE = 83;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short BASTORE = 84;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short CASTORE = 85;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short SASTORE = 86;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short POP = 87;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short POP2 = 88;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DUP = 89;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DUP_X1 = 90;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DUP_X2 = 91;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DUP2 = 92;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DUP2_X1 = 93;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DUP2_X2 = 94;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short SWAP = 95;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IADD = 96;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LADD = 97;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FADD = 98;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DADD = 99;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ISUB = 100;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LSUB = 101;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FSUB = 102;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DSUB = 103;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IMUL = 104;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LMUL = 105;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FMUL = 106;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DMUL = 107;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IDIV = 108;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LDIV = 109;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FDIV = 110;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DDIV = 111;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IREM = 112;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LREM = 113;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FREM = 114;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DREM = 115;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short INEG = 116;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LNEG = 117;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FNEG = 118;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DNEG = 119;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ISHL = 120;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LSHL = 121;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ISHR = 122;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LSHR = 123;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IUSHR = 124;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LUSHR = 125;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IAND = 126;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LAND = 127;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IOR = 128;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LOR = 129;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IXOR = 130;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LXOR = 131;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IINC = 132;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short I2L = 133;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short I2F = 134;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short I2D = 135;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short L2I = 136;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short L2F = 137;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short L2D = 138;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short F2I = 139;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short F2L = 140;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short F2D = 141;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short D2I = 142;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short D2L = 143;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short D2F = 144;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short I2B = 145;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short INT2BYTE = 145; // Old notion
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short I2C = 146;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short INT2CHAR = 146; // Old notion
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short I2S = 147;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short INT2SHORT = 147; // Old notion
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LCMP = 148;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FCMPL = 149;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FCMPG = 150;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DCMPL = 151;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DCMPG = 152;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IFEQ = 153;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IFNE = 154;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IFLT = 155;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IFGE = 156;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IFGT = 157;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IFLE = 158;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IF_ICMPEQ = 159;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IF_ICMPNE = 160;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IF_ICMPLT = 161;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IF_ICMPGE = 162;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IF_ICMPGT = 163;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IF_ICMPLE = 164;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IF_ACMPEQ = 165;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IF_ACMPNE = 166;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short GOTO = 167;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short JSR = 168;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short RET = 169;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short TABLESWITCH = 170;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LOOKUPSWITCH = 171;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IRETURN = 172;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short LRETURN = 173;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short FRETURN = 174;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short DRETURN = 175;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ARETURN = 176;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short RETURN = 177;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short GETSTATIC = 178;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short PUTSTATIC = 179;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short GETFIELD = 180;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short PUTFIELD = 181;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short INVOKEVIRTUAL = 182;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short INVOKESPECIAL = 183;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short INVOKENONVIRTUAL = 183; // Old name in JDK 1.0
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short INVOKESTATIC = 184;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short INVOKEINTERFACE = 185;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short INVOKEDYNAMIC = 186;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short NEW = 187;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short NEWARRAY = 188;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ANEWARRAY = 189;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ARRAYLENGTH = 190;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short ATHROW = 191;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short CHECKCAST = 192;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short INSTANCEOF = 193;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short MONITORENTER = 194;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short MONITOREXIT = 195;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short WIDE = 196;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short MULTIANEWARRAY = 197;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IFNULL = 198;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short IFNONNULL = 199;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short GOTO_W = 200;
+ /** Java VM opcode.
+ * @see
+ * Opcode definitions in The Java Virtual Machine Specification */
+ short JSR_W = 201;
+
+ /** JVM internal opcode.
+ * @see
+ * Reserved opcodes in the Java Virtual Machine Specification */
+ short BREAKPOINT = 202;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short LDC_QUICK = 203;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short LDC_W_QUICK = 204;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short LDC2_W_QUICK = 205;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short GETFIELD_QUICK = 206;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short PUTFIELD_QUICK = 207;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short GETFIELD2_QUICK = 208;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short PUTFIELD2_QUICK = 209;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short GETSTATIC_QUICK = 210;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short PUTSTATIC_QUICK = 211;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short GETSTATIC2_QUICK = 212;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short PUTSTATIC2_QUICK = 213;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short INVOKEVIRTUAL_QUICK = 214;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short INVOKENONVIRTUAL_QUICK = 215;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short INVOKESUPER_QUICK = 216;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short INVOKESTATIC_QUICK = 217;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short INVOKEINTERFACE_QUICK = 218;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short INVOKEVIRTUALOBJECT_QUICK = 219;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short NEW_QUICK = 221;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short ANEWARRAY_QUICK = 222;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short MULTIANEWARRAY_QUICK = 223;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short CHECKCAST_QUICK = 224;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short INSTANCEOF_QUICK = 225;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short INVOKEVIRTUAL_QUICK_W = 226;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short GETFIELD_QUICK_W = 227;
+ /** JVM internal opcode.
+ * @see
+ * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)
+ * @see
+ * Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification. */
+ short PUTFIELD_QUICK_W = 228;
+ /** JVM internal opcode.
+ * @see
+ * Reserved opcodes in the Java Virtual Machine Specification */
+ short IMPDEP1 = 254;
+ /** JVM internal opcode.
+ * @see
+ * Reserved opcodes in the Java Virtual Machine Specification */
+ short IMPDEP2 = 255;
+
+ /**
+ * BCEL virtual instruction for pushing an arbitrary data type onto the stack. Will be converted to the appropriate JVM
+ * opcode when the class is dumped.
+ */
+ short PUSH = 4711;
+ /**
+ * BCEL virtual instruction for either LOOKUPSWITCH or TABLESWITCH. Will be converted to the appropriate JVM
+ * opcode when the class is dumped.
+ */
+ short SWITCH = 4712;
+
+ /** Illegal opcode. */
+ short UNDEFINED = -1;
+ /** Illegal opcode. */
+ short UNPREDICTABLE = -2;
+ /** Illegal opcode. */
+ short RESERVED = -3;
+ /** Mnemonic for an illegal opcode. */
+ String ILLEGAL_OPCODE = "";
+ /** Mnemonic for an illegal type. */
+ String ILLEGAL_TYPE = "";
+
+ /** Boolean data type. */
+ byte T_BOOLEAN = 4;
+ /** Char data type. */
+ byte T_CHAR = 5;
+ /** Float data type. */
+ byte T_FLOAT = 6;
+ /** Double data type. */
+ byte T_DOUBLE = 7;
+ /** Byte data type. */
+ byte T_BYTE = 8;
+ /** Short data type. */
+ byte T_SHORT = 9;
+ /** Int data type. */
+ byte T_INT = 10;
+ /** Long data type. */
+ byte T_LONG = 11;
+
+ /** Void data type (non-standard). */
+ byte T_VOID = 12; // Non-standard
+ /** Array data type. */
+ byte T_ARRAY = 13;
+ /** Object data type. */
+ byte T_OBJECT = 14;
+ /** Reference data type (deprecated). */
+ byte T_REFERENCE = 14; // Deprecated
+ /** Unknown data type. */
+ byte T_UNKNOWN = 15;
+ /** Address data type. */
+ byte T_ADDRESS = 16;
+
+ /** The primitive type names corresponding to the T_XX constants,
+ * e.g., TYPE_NAMES[T_INT] = "int"
+ */
+ String[] TYPE_NAMES = {
+ ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE,
+ "boolean", "char", "float", "double", "byte", "short", "int", "long",
+ "void", "array", "object", "unknown", "address"
+ };
+
+ /** The primitive class names corresponding to the T_XX constants,
+ * e.g., CLASS_TYPE_NAMES[T_INT] = "java.lang.Integer"
+ */
+ String[] CLASS_TYPE_NAMES = {
+ ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE,
+ "java.lang.Boolean", "java.lang.Character", "java.lang.Float",
+ "java.lang.Double", "java.lang.Byte", "java.lang.Short",
+ "java.lang.Integer", "java.lang.Long", "java.lang.Void",
+ ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE
+ };
+
+ /** The signature characters corresponding to primitive types,
+ * e.g., SHORT_TYPE_NAMES[T_INT] = "I"
+ */
+ String[] SHORT_TYPE_NAMES = {
+ ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE,
+ "Z", "C", "F", "D", "B", "S", "I", "J",
+ "V", ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE
+ };
+
+ /**
+ * Number of byte code operands for each opcode, i.e., number of bytes after the tag byte
+ * itself. Indexed by opcode, so NO_OF_OPERANDS[BIPUSH] = the number of operands for a bipush
+ * instruction.
+ */
+ short[] NO_OF_OPERANDS = {
+ 0/*nop*/, 0/*aconst_null*/, 0/*iconst_m1*/, 0/*iconst_0*/,
+ 0/*iconst_1*/, 0/*iconst_2*/, 0/*iconst_3*/, 0/*iconst_4*/,
+ 0/*iconst_5*/, 0/*lconst_0*/, 0/*lconst_1*/, 0/*fconst_0*/,
+ 0/*fconst_1*/, 0/*fconst_2*/, 0/*dconst_0*/, 0/*dconst_1*/,
+ 1/*bipush*/, 2/*sipush*/, 1/*ldc*/, 2/*ldc_w*/, 2/*ldc2_w*/,
+ 1/*iload*/, 1/*lload*/, 1/*fload*/, 1/*dload*/, 1/*aload*/,
+ 0/*iload_0*/, 0/*iload_1*/, 0/*iload_2*/, 0/*iload_3*/,
+ 0/*lload_0*/, 0/*lload_1*/, 0/*lload_2*/, 0/*lload_3*/,
+ 0/*fload_0*/, 0/*fload_1*/, 0/*fload_2*/, 0/*fload_3*/,
+ 0/*dload_0*/, 0/*dload_1*/, 0/*dload_2*/, 0/*dload_3*/,
+ 0/*aload_0*/, 0/*aload_1*/, 0/*aload_2*/, 0/*aload_3*/,
+ 0/*iaload*/, 0/*laload*/, 0/*faload*/, 0/*daload*/,
+ 0/*aaload*/, 0/*baload*/, 0/*caload*/, 0/*saload*/,
+ 1/*istore*/, 1/*lstore*/, 1/*fstore*/, 1/*dstore*/,
+ 1/*astore*/, 0/*istore_0*/, 0/*istore_1*/, 0/*istore_2*/,
+ 0/*istore_3*/, 0/*lstore_0*/, 0/*lstore_1*/, 0/*lstore_2*/,
+ 0/*lstore_3*/, 0/*fstore_0*/, 0/*fstore_1*/, 0/*fstore_2*/,
+ 0/*fstore_3*/, 0/*dstore_0*/, 0/*dstore_1*/, 0/*dstore_2*/,
+ 0/*dstore_3*/, 0/*astore_0*/, 0/*astore_1*/, 0/*astore_2*/,
+ 0/*astore_3*/, 0/*iastore*/, 0/*lastore*/, 0/*fastore*/,
+ 0/*dastore*/, 0/*aastore*/, 0/*bastore*/, 0/*castore*/,
+ 0/*sastore*/, 0/*pop*/, 0/*pop2*/, 0/*dup*/, 0/*dup_x1*/,
+ 0/*dup_x2*/, 0/*dup2*/, 0/*dup2_x1*/, 0/*dup2_x2*/, 0/*swap*/,
+ 0/*iadd*/, 0/*ladd*/, 0/*fadd*/, 0/*dadd*/, 0/*isub*/,
+ 0/*lsub*/, 0/*fsub*/, 0/*dsub*/, 0/*imul*/, 0/*lmul*/,
+ 0/*fmul*/, 0/*dmul*/, 0/*idiv*/, 0/*ldiv*/, 0/*fdiv*/,
+ 0/*ddiv*/, 0/*irem*/, 0/*lrem*/, 0/*frem*/, 0/*drem*/,
+ 0/*ineg*/, 0/*lneg*/, 0/*fneg*/, 0/*dneg*/, 0/*ishl*/,
+ 0/*lshl*/, 0/*ishr*/, 0/*lshr*/, 0/*iushr*/, 0/*lushr*/,
+ 0/*iand*/, 0/*land*/, 0/*ior*/, 0/*lor*/, 0/*ixor*/, 0/*lxor*/,
+ 2/*iinc*/, 0/*i2l*/, 0/*i2f*/, 0/*i2d*/, 0/*l2i*/, 0/*l2f*/,
+ 0/*l2d*/, 0/*f2i*/, 0/*f2l*/, 0/*f2d*/, 0/*d2i*/, 0/*d2l*/,
+ 0/*d2f*/, 0/*i2b*/, 0/*i2c*/, 0/*i2s*/, 0/*lcmp*/, 0/*fcmpl*/,
+ 0/*fcmpg*/, 0/*dcmpl*/, 0/*dcmpg*/, 2/*ifeq*/, 2/*ifne*/,
+ 2/*iflt*/, 2/*ifge*/, 2/*ifgt*/, 2/*ifle*/, 2/*if_icmpeq*/,
+ 2/*if_icmpne*/, 2/*if_icmplt*/, 2/*if_icmpge*/, 2/*if_icmpgt*/,
+ 2/*if_icmple*/, 2/*if_acmpeq*/, 2/*if_acmpne*/, 2/*goto*/,
+ 2/*jsr*/, 1/*ret*/, UNPREDICTABLE/*tableswitch*/, UNPREDICTABLE/*lookupswitch*/,
+ 0/*ireturn*/, 0/*lreturn*/, 0/*freturn*/,
+ 0/*dreturn*/, 0/*areturn*/, 0/*return*/,
+ 2/*getstatic*/, 2/*putstatic*/, 2/*getfield*/,
+ 2/*putfield*/, 2/*invokevirtual*/, 2/*invokespecial*/, 2/*invokestatic*/,
+ 4/*invokeinterface*/, 4/*invokedynamic*/, 2/*new*/,
+ 1/*newarray*/, 2/*anewarray*/,
+ 0/*arraylength*/, 0/*athrow*/, 2/*checkcast*/,
+ 2/*instanceof*/, 0/*monitorenter*/,
+ 0/*monitorexit*/, UNPREDICTABLE/*wide*/, 3/*multianewarray*/,
+ 2/*ifnull*/, 2/*ifnonnull*/, 4/*goto_w*/,
+ 4/*jsr_w*/, 0/*breakpoint*/, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, RESERVED/*impdep1*/, RESERVED/*impdep2*/
+ };
+
+ /**
+ * How the byte code operands are to be interpreted for each opcode.
+ * Indexed by opcode. TYPE_OF_OPERANDS[ILOAD] = an array of shorts
+ * describing the data types for the instruction.
+ */
+ short[][] TYPE_OF_OPERANDS = {
+ {}/*nop*/, {}/*aconst_null*/, {}/*iconst_m1*/, {}/*iconst_0*/,
+ {}/*iconst_1*/, {}/*iconst_2*/, {}/*iconst_3*/, {}/*iconst_4*/,
+ {}/*iconst_5*/, {}/*lconst_0*/, {}/*lconst_1*/, {}/*fconst_0*/,
+ {}/*fconst_1*/, {}/*fconst_2*/, {}/*dconst_0*/, {}/*dconst_1*/,
+ {T_BYTE}/*bipush*/, {T_SHORT}/*sipush*/, {T_BYTE}/*ldc*/,
+ {T_SHORT}/*ldc_w*/, {T_SHORT}/*ldc2_w*/,
+ {T_BYTE}/*iload*/, {T_BYTE}/*lload*/, {T_BYTE}/*fload*/,
+ {T_BYTE}/*dload*/, {T_BYTE}/*aload*/, {}/*iload_0*/,
+ {}/*iload_1*/, {}/*iload_2*/, {}/*iload_3*/, {}/*lload_0*/,
+ {}/*lload_1*/, {}/*lload_2*/, {}/*lload_3*/, {}/*fload_0*/,
+ {}/*fload_1*/, {}/*fload_2*/, {}/*fload_3*/, {}/*dload_0*/,
+ {}/*dload_1*/, {}/*dload_2*/, {}/*dload_3*/, {}/*aload_0*/,
+ {}/*aload_1*/, {}/*aload_2*/, {}/*aload_3*/, {}/*iaload*/,
+ {}/*laload*/, {}/*faload*/, {}/*daload*/, {}/*aaload*/,
+ {}/*baload*/, {}/*caload*/, {}/*saload*/, {T_BYTE}/*istore*/,
+ {T_BYTE}/*lstore*/, {T_BYTE}/*fstore*/, {T_BYTE}/*dstore*/,
+ {T_BYTE}/*astore*/, {}/*istore_0*/, {}/*istore_1*/,
+ {}/*istore_2*/, {}/*istore_3*/, {}/*lstore_0*/, {}/*lstore_1*/,
+ {}/*lstore_2*/, {}/*lstore_3*/, {}/*fstore_0*/, {}/*fstore_1*/,
+ {}/*fstore_2*/, {}/*fstore_3*/, {}/*dstore_0*/, {}/*dstore_1*/,
+ {}/*dstore_2*/, {}/*dstore_3*/, {}/*astore_0*/, {}/*astore_1*/,
+ {}/*astore_2*/, {}/*astore_3*/, {}/*iastore*/, {}/*lastore*/,
+ {}/*fastore*/, {}/*dastore*/, {}/*aastore*/, {}/*bastore*/,
+ {}/*castore*/, {}/*sastore*/, {}/*pop*/, {}/*pop2*/, {}/*dup*/,
+ {}/*dup_x1*/, {}/*dup_x2*/, {}/*dup2*/, {}/*dup2_x1*/,
+ {}/*dup2_x2*/, {}/*swap*/, {}/*iadd*/, {}/*ladd*/, {}/*fadd*/,
+ {}/*dadd*/, {}/*isub*/, {}/*lsub*/, {}/*fsub*/, {}/*dsub*/,
+ {}/*imul*/, {}/*lmul*/, {}/*fmul*/, {}/*dmul*/, {}/*idiv*/,
+ {}/*ldiv*/, {}/*fdiv*/, {}/*ddiv*/, {}/*irem*/, {}/*lrem*/,
+ {}/*frem*/, {}/*drem*/, {}/*ineg*/, {}/*lneg*/, {}/*fneg*/,
+ {}/*dneg*/, {}/*ishl*/, {}/*lshl*/, {}/*ishr*/, {}/*lshr*/,
+ {}/*iushr*/, {}/*lushr*/, {}/*iand*/, {}/*land*/, {}/*ior*/,
+ {}/*lor*/, {}/*ixor*/, {}/*lxor*/, {T_BYTE, T_BYTE}/*iinc*/,
+ {}/*i2l*/, {}/*i2f*/, {}/*i2d*/, {}/*l2i*/, {}/*l2f*/, {}/*l2d*/,
+ {}/*f2i*/, {}/*f2l*/, {}/*f2d*/, {}/*d2i*/, {}/*d2l*/, {}/*d2f*/,
+ {}/*i2b*/, {}/*i2c*/,{}/*i2s*/, {}/*lcmp*/, {}/*fcmpl*/,
+ {}/*fcmpg*/, {}/*dcmpl*/, {}/*dcmpg*/, {T_SHORT}/*ifeq*/,
+ {T_SHORT}/*ifne*/, {T_SHORT}/*iflt*/, {T_SHORT}/*ifge*/,
+ {T_SHORT}/*ifgt*/, {T_SHORT}/*ifle*/, {T_SHORT}/*if_icmpeq*/,
+ {T_SHORT}/*if_icmpne*/, {T_SHORT}/*if_icmplt*/,
+ {T_SHORT}/*if_icmpge*/, {T_SHORT}/*if_icmpgt*/,
+ {T_SHORT}/*if_icmple*/, {T_SHORT}/*if_acmpeq*/,
+ {T_SHORT}/*if_acmpne*/, {T_SHORT}/*goto*/, {T_SHORT}/*jsr*/,
+ {T_BYTE}/*ret*/, {}/*tableswitch*/, {}/*lookupswitch*/,
+ {}/*ireturn*/, {}/*lreturn*/, {}/*freturn*/, {}/*dreturn*/,
+ {}/*areturn*/, {}/*return*/, {T_SHORT}/*getstatic*/,
+ {T_SHORT}/*putstatic*/, {T_SHORT}/*getfield*/,
+ {T_SHORT}/*putfield*/, {T_SHORT}/*invokevirtual*/,
+ {T_SHORT}/*invokespecial*/, {T_SHORT}/*invokestatic*/,
+ {T_SHORT, T_BYTE, T_BYTE}/*invokeinterface*/, {T_SHORT, T_BYTE, T_BYTE}/*invokedynamic*/,
+ {T_SHORT}/*new*/, {T_BYTE}/*newarray*/,
+ {T_SHORT}/*anewarray*/, {}/*arraylength*/, {}/*athrow*/,
+ {T_SHORT}/*checkcast*/, {T_SHORT}/*instanceof*/,
+ {}/*monitorenter*/, {}/*monitorexit*/, {T_BYTE}/*wide*/,
+ {T_SHORT, T_BYTE}/*multianewarray*/, {T_SHORT}/*ifnull*/,
+ {T_SHORT}/*ifnonnull*/, {T_INT}/*goto_w*/, {T_INT}/*jsr_w*/,
+ {}/*breakpoint*/, {}, {}, {}, {}, {}, {}, {},
+ {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
+ {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
+ {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},
+ {}/*impdep1*/, {}/*impdep2*/
+ };
+
+ /**
+ * Names of opcodes. Indexed by opcode. OPCODE_NAMES[ALOAD] = "aload".
+ */
+ String[] OPCODE_NAMES = {
+ "nop", "aconst_null", "iconst_m1", "iconst_0", "iconst_1",
+ "iconst_2", "iconst_3", "iconst_4", "iconst_5", "lconst_0",
+ "lconst_1", "fconst_0", "fconst_1", "fconst_2", "dconst_0",
+ "dconst_1", "bipush", "sipush", "ldc", "ldc_w", "ldc2_w", "iload",
+ "lload", "fload", "dload", "aload", "iload_0", "iload_1", "iload_2",
+ "iload_3", "lload_0", "lload_1", "lload_2", "lload_3", "fload_0",
+ "fload_1", "fload_2", "fload_3", "dload_0", "dload_1", "dload_2",
+ "dload_3", "aload_0", "aload_1", "aload_2", "aload_3", "iaload",
+ "laload", "faload", "daload", "aaload", "baload", "caload", "saload",
+ "istore", "lstore", "fstore", "dstore", "astore", "istore_0",
+ "istore_1", "istore_2", "istore_3", "lstore_0", "lstore_1",
+ "lstore_2", "lstore_3", "fstore_0", "fstore_1", "fstore_2",
+ "fstore_3", "dstore_0", "dstore_1", "dstore_2", "dstore_3",
+ "astore_0", "astore_1", "astore_2", "astore_3", "iastore", "lastore",
+ "fastore", "dastore", "aastore", "bastore", "castore", "sastore",
+ "pop", "pop2", "dup", "dup_x1", "dup_x2", "dup2", "dup2_x1",
+ "dup2_x2", "swap", "iadd", "ladd", "fadd", "dadd", "isub", "lsub",
+ "fsub", "dsub", "imul", "lmul", "fmul", "dmul", "idiv", "ldiv",
+ "fdiv", "ddiv", "irem", "lrem", "frem", "drem", "ineg", "lneg",
+ "fneg", "dneg", "ishl", "lshl", "ishr", "lshr", "iushr", "lushr",
+ "iand", "land", "ior", "lor", "ixor", "lxor", "iinc", "i2l", "i2f",
+ "i2d", "l2i", "l2f", "l2d", "f2i", "f2l", "f2d", "d2i", "d2l", "d2f",
+ "i2b", "i2c", "i2s", "lcmp", "fcmpl", "fcmpg",
+ "dcmpl", "dcmpg", "ifeq", "ifne", "iflt", "ifge", "ifgt", "ifle",
+ "if_icmpeq", "if_icmpne", "if_icmplt", "if_icmpge", "if_icmpgt",
+ "if_icmple", "if_acmpeq", "if_acmpne", "goto", "jsr", "ret",
+ "tableswitch", "lookupswitch", "ireturn", "lreturn", "freturn",
+ "dreturn", "areturn", "return", "getstatic", "putstatic", "getfield",
+ "putfield", "invokevirtual", "invokespecial", "invokestatic",
+ "invokeinterface", "invokedynamic", "new", "newarray", "anewarray",
+ "arraylength", "athrow", "checkcast", "instanceof", "monitorenter",
+ "monitorexit", "wide", "multianewarray", "ifnull", "ifnonnull",
+ "goto_w", "jsr_w", "breakpoint", ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE,
+ ILLEGAL_OPCODE, "impdep1", "impdep2"
+ };
+
+ /**
+ * Number of words consumed on operand stack by instructions.
+ * Indexed by opcode. CONSUME_STACK[FALOAD] = number of words
+ * consumed from the stack by a faload instruction.
+ */
+ int[] CONSUME_STACK = {
+ 0/*nop*/, 0/*aconst_null*/, 0/*iconst_m1*/, 0/*iconst_0*/, 0/*iconst_1*/,
+ 0/*iconst_2*/, 0/*iconst_3*/, 0/*iconst_4*/, 0/*iconst_5*/, 0/*lconst_0*/,
+ 0/*lconst_1*/, 0/*fconst_0*/, 0/*fconst_1*/, 0/*fconst_2*/, 0/*dconst_0*/,
+ 0/*dconst_1*/, 0/*bipush*/, 0/*sipush*/, 0/*ldc*/, 0/*ldc_w*/, 0/*ldc2_w*/, 0/*iload*/,
+ 0/*lload*/, 0/*fload*/, 0/*dload*/, 0/*aload*/, 0/*iload_0*/, 0/*iload_1*/, 0/*iload_2*/,
+ 0/*iload_3*/, 0/*lload_0*/, 0/*lload_1*/, 0/*lload_2*/, 0/*lload_3*/, 0/*fload_0*/,
+ 0/*fload_1*/, 0/*fload_2*/, 0/*fload_3*/, 0/*dload_0*/, 0/*dload_1*/, 0/*dload_2*/,
+ 0/*dload_3*/, 0/*aload_0*/, 0/*aload_1*/, 0/*aload_2*/, 0/*aload_3*/, 2/*iaload*/,
+ 2/*laload*/, 2/*faload*/, 2/*daload*/, 2/*aaload*/, 2/*baload*/, 2/*caload*/, 2/*saload*/,
+ 1/*istore*/, 2/*lstore*/, 1/*fstore*/, 2/*dstore*/, 1/*astore*/, 1/*istore_0*/,
+ 1/*istore_1*/, 1/*istore_2*/, 1/*istore_3*/, 2/*lstore_0*/, 2/*lstore_1*/,
+ 2/*lstore_2*/, 2/*lstore_3*/, 1/*fstore_0*/, 1/*fstore_1*/, 1/*fstore_2*/,
+ 1/*fstore_3*/, 2/*dstore_0*/, 2/*dstore_1*/, 2/*dstore_2*/, 2/*dstore_3*/,
+ 1/*astore_0*/, 1/*astore_1*/, 1/*astore_2*/, 1/*astore_3*/, 3/*iastore*/, 4/*lastore*/,
+ 3/*fastore*/, 4/*dastore*/, 3/*aastore*/, 3/*bastore*/, 3/*castore*/, 3/*sastore*/,
+ 1/*pop*/, 2/*pop2*/, 1/*dup*/, 2/*dup_x1*/, 3/*dup_x2*/, 2/*dup2*/, 3/*dup2_x1*/,
+ 4/*dup2_x2*/, 2/*swap*/, 2/*iadd*/, 4/*ladd*/, 2/*fadd*/, 4/*dadd*/, 2/*isub*/, 4/*lsub*/,
+ 2/*fsub*/, 4/*dsub*/, 2/*imul*/, 4/*lmul*/, 2/*fmul*/, 4/*dmul*/, 2/*idiv*/, 4/*ldiv*/,
+ 2/*fdiv*/, 4/*ddiv*/, 2/*irem*/, 4/*lrem*/, 2/*frem*/, 4/*drem*/, 1/*ineg*/, 2/*lneg*/,
+ 1/*fneg*/, 2/*dneg*/, 2/*ishl*/, 3/*lshl*/, 2/*ishr*/, 3/*lshr*/, 2/*iushr*/, 3/*lushr*/,
+ 2/*iand*/, 4/*land*/, 2/*ior*/, 4/*lor*/, 2/*ixor*/, 4/*lxor*/, 0/*iinc*/,
+ 1/*i2l*/, 1/*i2f*/, 1/*i2d*/, 2/*l2i*/, 2/*l2f*/, 2/*l2d*/, 1/*f2i*/, 1/*f2l*/,
+ 1/*f2d*/, 2/*d2i*/, 2/*d2l*/, 2/*d2f*/, 1/*i2b*/, 1/*i2c*/, 1/*i2s*/,
+ 4/*lcmp*/, 2/*fcmpl*/, 2/*fcmpg*/, 4/*dcmpl*/, 4/*dcmpg*/, 1/*ifeq*/, 1/*ifne*/,
+ 1/*iflt*/, 1/*ifge*/, 1/*ifgt*/, 1/*ifle*/, 2/*if_icmpeq*/, 2/*if_icmpne*/, 2/*if_icmplt*/,
+ 2 /*if_icmpge*/, 2/*if_icmpgt*/, 2/*if_icmple*/, 2/*if_acmpeq*/, 2/*if_acmpne*/,
+ 0/*goto*/, 0/*jsr*/, 0/*ret*/, 1/*tableswitch*/, 1/*lookupswitch*/, 1/*ireturn*/,
+ 2/*lreturn*/, 1/*freturn*/, 2/*dreturn*/, 1/*areturn*/, 0/*return*/, 0/*getstatic*/,
+ UNPREDICTABLE/*putstatic*/, 1/*getfield*/, UNPREDICTABLE/*putfield*/,
+ UNPREDICTABLE/*invokevirtual*/, UNPREDICTABLE/*invokespecial*/,
+ UNPREDICTABLE/*invokestatic*/,
+ UNPREDICTABLE/*invokeinterface*/, UNPREDICTABLE/*invokedynamic*/, 0/*new*/, 1/*newarray*/, 1/*anewarray*/,
+ 1/*arraylength*/, 1/*athrow*/, 1/*checkcast*/, 1/*instanceof*/, 1/*monitorenter*/,
+ 1/*monitorexit*/, 0/*wide*/, UNPREDICTABLE/*multianewarray*/, 1/*ifnull*/, 1/*ifnonnull*/,
+ 0/*goto_w*/, 0/*jsr_w*/, 0/*breakpoint*/, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNPREDICTABLE/*impdep1*/, UNPREDICTABLE/*impdep2*/
+ };
+
+ /**
+ * Number of words produced onto operand stack by instructions.
+ * Indexed by opcode. CONSUME_STACK[DALOAD] = number of words
+ * consumed from the stack by a daload instruction.
+ */
+ int[] PRODUCE_STACK = {
+ 0/*nop*/, 1/*aconst_null*/, 1/*iconst_m1*/, 1/*iconst_0*/, 1/*iconst_1*/,
+ 1/*iconst_2*/, 1/*iconst_3*/, 1/*iconst_4*/, 1/*iconst_5*/, 2/*lconst_0*/,
+ 2/*lconst_1*/, 1/*fconst_0*/, 1/*fconst_1*/, 1/*fconst_2*/, 2/*dconst_0*/,
+ 2/*dconst_1*/, 1/*bipush*/, 1/*sipush*/, 1/*ldc*/, 1/*ldc_w*/, 2/*ldc2_w*/, 1/*iload*/,
+ 2/*lload*/, 1/*fload*/, 2/*dload*/, 1/*aload*/, 1/*iload_0*/, 1/*iload_1*/, 1/*iload_2*/,
+ 1/*iload_3*/, 2/*lload_0*/, 2/*lload_1*/, 2/*lload_2*/, 2/*lload_3*/, 1/*fload_0*/,
+ 1/*fload_1*/, 1/*fload_2*/, 1/*fload_3*/, 2/*dload_0*/, 2/*dload_1*/, 2/*dload_2*/,
+ 2/*dload_3*/, 1/*aload_0*/, 1/*aload_1*/, 1/*aload_2*/, 1/*aload_3*/, 1/*iaload*/,
+ 2/*laload*/, 1/*faload*/, 2/*daload*/, 1/*aaload*/, 1/*baload*/, 1/*caload*/, 1/*saload*/,
+ 0/*istore*/, 0/*lstore*/, 0/*fstore*/, 0/*dstore*/, 0/*astore*/, 0/*istore_0*/,
+ 0/*istore_1*/, 0/*istore_2*/, 0/*istore_3*/, 0/*lstore_0*/, 0/*lstore_1*/,
+ 0/*lstore_2*/, 0/*lstore_3*/, 0/*fstore_0*/, 0/*fstore_1*/, 0/*fstore_2*/,
+ 0/*fstore_3*/, 0/*dstore_0*/, 0/*dstore_1*/, 0/*dstore_2*/, 0/*dstore_3*/,
+ 0/*astore_0*/, 0/*astore_1*/, 0/*astore_2*/, 0/*astore_3*/, 0/*iastore*/, 0/*lastore*/,
+ 0/*fastore*/, 0/*dastore*/, 0/*aastore*/, 0/*bastore*/, 0/*castore*/, 0/*sastore*/,
+ 0/*pop*/, 0/*pop2*/, 2/*dup*/, 3/*dup_x1*/, 4/*dup_x2*/, 4/*dup2*/, 5/*dup2_x1*/,
+ 6/*dup2_x2*/, 2/*swap*/, 1/*iadd*/, 2/*ladd*/, 1/*fadd*/, 2/*dadd*/, 1/*isub*/, 2/*lsub*/,
+ 1/*fsub*/, 2/*dsub*/, 1/*imul*/, 2/*lmul*/, 1/*fmul*/, 2/*dmul*/, 1/*idiv*/, 2/*ldiv*/,
+ 1/*fdiv*/, 2/*ddiv*/, 1/*irem*/, 2/*lrem*/, 1/*frem*/, 2/*drem*/, 1/*ineg*/, 2/*lneg*/,
+ 1/*fneg*/, 2/*dneg*/, 1/*ishl*/, 2/*lshl*/, 1/*ishr*/, 2/*lshr*/, 1/*iushr*/, 2/*lushr*/,
+ 1/*iand*/, 2/*land*/, 1/*ior*/, 2/*lor*/, 1/*ixor*/, 2/*lxor*/,
+ 0/*iinc*/, 2/*i2l*/, 1/*i2f*/, 2/*i2d*/, 1/*l2i*/, 1/*l2f*/, 2/*l2d*/, 1/*f2i*/,
+ 2/*f2l*/, 2/*f2d*/, 1/*d2i*/, 2/*d2l*/, 1/*d2f*/,
+ 1/*i2b*/, 1/*i2c*/, 1/*i2s*/, 1/*lcmp*/, 1/*fcmpl*/, 1/*fcmpg*/,
+ 1/*dcmpl*/, 1/*dcmpg*/, 0/*ifeq*/, 0/*ifne*/, 0/*iflt*/, 0/*ifge*/, 0/*ifgt*/, 0/*ifle*/,
+ 0/*if_icmpeq*/, 0/*if_icmpne*/, 0/*if_icmplt*/, 0/*if_icmpge*/, 0/*if_icmpgt*/,
+ 0/*if_icmple*/, 0/*if_acmpeq*/, 0/*if_acmpne*/, 0/*goto*/, 1/*jsr*/, 0/*ret*/,
+ 0/*tableswitch*/, 0/*lookupswitch*/, 0/*ireturn*/, 0/*lreturn*/, 0/*freturn*/,
+ 0/*dreturn*/, 0/*areturn*/, 0/*return*/, UNPREDICTABLE/*getstatic*/, 0/*putstatic*/,
+ UNPREDICTABLE/*getfield*/, 0/*putfield*/, UNPREDICTABLE/*invokevirtual*/,
+ UNPREDICTABLE/*invokespecial*/, UNPREDICTABLE/*invokestatic*/,
+ UNPREDICTABLE/*invokeinterface*/, UNPREDICTABLE/*invokedynamic*/, 1/*new*/, 1/*newarray*/, 1/*anewarray*/,
+ 1/*arraylength*/, 1/*athrow*/, 1/*checkcast*/, 1/*instanceof*/, 0/*monitorenter*/,
+ 0/*monitorexit*/, 0/*wide*/, 1/*multianewarray*/, 0/*ifnull*/, 0/*ifnonnull*/,
+ 0/*goto_w*/, 1/*jsr_w*/, 0/*breakpoint*/, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED,
+ UNDEFINED, UNPREDICTABLE/*impdep1*/, UNPREDICTABLE/*impdep2*/
+ };
+
+ /** Attributes and their corresponding names.
+ */
+ byte ATTR_UNKNOWN = -1;
+ byte ATTR_SOURCE_FILE = 0;
+ byte ATTR_CONSTANT_VALUE = 1;
+ byte ATTR_CODE = 2;
+ byte ATTR_EXCEPTIONS = 3;
+ byte ATTR_LINE_NUMBER_TABLE = 4;
+ byte ATTR_LOCAL_VARIABLE_TABLE = 5;
+ byte ATTR_INNER_CLASSES = 6;
+ byte ATTR_SYNTHETIC = 7;
+ byte ATTR_DEPRECATED = 8;
+ byte ATTR_PMG = 9;
+ byte ATTR_SIGNATURE = 10;
+ byte ATTR_STACK_MAP = 11;
+ byte ATTR_RUNTIMEVISIBLE_ANNOTATIONS = 12;
+ byte ATTR_RUNTIMEINVISIBLE_ANNOTATIONS = 13;
+ byte ATTR_RUNTIMEVISIBLE_PARAMETER_ANNOTATIONS = 14;
+ byte ATTR_RUNTIMEINVISIBLE_PARAMETER_ANNOTATIONS = 15;
+ byte ATTR_ANNOTATION_DEFAULT = 16;
+
+ short KNOWN_ATTRIBUTES = 12;//should be 17
+
+
+ // TODO: mutable public array!!
+ String[] ATTRIBUTE_NAMES = {
+ "SourceFile", "ConstantValue", "Code", "Exceptions",
+ "LineNumberTable", "LocalVariableTable",
+ "InnerClasses", "Synthetic", "Deprecated",
+ "PMGClass", "Signature", "StackMap",
+ "RuntimeVisibleAnnotations", "RuntimeInvisibleAnnotations",
+ "RuntimeVisibleParameterAnnotations", "RuntimeInvisibleParameterAnnotations",
+ "AnnotationDefault"
+ };
+
+ /** Constants used in the StackMap attribute.
+ */
+ byte ITEM_Bogus = 0;
+ byte ITEM_Integer = 1;
+ byte ITEM_Float = 2;
+ byte ITEM_Double = 3;
+ byte ITEM_Long = 4;
+ byte ITEM_Null = 5;
+ byte ITEM_InitObject = 6;
+ byte ITEM_Object = 7;
+ byte ITEM_NewObject = 8;
+
+ String[] ITEM_NAMES = {
+ "Bogus", "Integer", "Float", "Double", "Long",
+ "Null", "InitObject", "Object", "NewObject"
+ };
+
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/ExceptionConst.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/ExceptionConst.java
new file mode 100644
index 00000000..b8345c9e
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/ExceptionConst.java
@@ -0,0 +1,126 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel;
+
+/**
+ * Exception constants.
+ * @since 6.0 (intended to replace the InstructionConstant interface)
+ */
+public final class ExceptionConst {
+
+ /** The mother of all exceptions
+ */
+ public static final Class THROWABLE = Throwable.class;
+ /** Super class of any run-time exception
+ */
+ public static final Class RUNTIME_EXCEPTION = RuntimeException.class;
+ /** Super class of any linking exception (aka Linkage Error)
+ */
+ public static final Class LINKING_EXCEPTION = LinkageError.class;
+ /** Linking Exceptions
+ */
+ public static final Class CLASS_CIRCULARITY_ERROR = ClassCircularityError.class;
+ public static final Class CLASS_FORMAT_ERROR = ClassFormatError.class;
+ public static final Class EXCEPTION_IN_INITIALIZER_ERROR = ExceptionInInitializerError.class;
+ public static final Class INCOMPATIBLE_CLASS_CHANGE_ERROR = IncompatibleClassChangeError.class;
+ public static final Class ABSTRACT_METHOD_ERROR = AbstractMethodError.class;
+ public static final Class ILLEGAL_ACCESS_ERROR = IllegalAccessError.class;
+ public static final Class INSTANTIATION_ERROR = InstantiationError.class;
+ public static final Class NO_SUCH_FIELD_ERROR = NoSuchFieldError.class;
+ public static final Class NO_SUCH_METHOD_ERROR = NoSuchMethodError.class;
+ public static final Class NO_CLASS_DEF_FOUND_ERROR = NoClassDefFoundError.class;
+ public static final Class UNSATISFIED_LINK_ERROR = UnsatisfiedLinkError.class;
+ public static final Class VERIFY_ERROR = VerifyError.class;
+ /* UnsupportedClassVersionError is new in JDK 1.2 */
+// public static final Class UnsupportedClassVersionError = UnsupportedClassVersionError.class;
+ /** Run-Time Exceptions
+ */
+ public static final Class NULL_POINTER_EXCEPTION = NullPointerException.class;
+ public static final Class ARRAY_INDEX_OUT_OF_BOUNDS_EXCEPTION
+ = ArrayIndexOutOfBoundsException.class;
+ public static final Class ARITHMETIC_EXCEPTION = ArithmeticException.class;
+ public static final Class NEGATIVE_ARRAY_SIZE_EXCEPTION = NegativeArraySizeException.class;
+ public static final Class CLASS_CAST_EXCEPTION = ClassCastException.class;
+ public static final Class ILLEGAL_MONITOR_STATE = IllegalMonitorStateException.class;
+
+ /**
+ * Pre-defined exception arrays according to chapters 5.1-5.4 of the Java Virtual
+ * Machine Specification
+ */
+ private static final Class>[] EXCS_CLASS_AND_INTERFACE_RESOLUTION = {
+ NO_CLASS_DEF_FOUND_ERROR, CLASS_FORMAT_ERROR, VERIFY_ERROR, ABSTRACT_METHOD_ERROR,
+ EXCEPTION_IN_INITIALIZER_ERROR, ILLEGAL_ACCESS_ERROR
+ }; // Chapter 5.1
+ private static final Class>[] EXCS_FIELD_AND_METHOD_RESOLUTION = {
+ NO_SUCH_FIELD_ERROR, ILLEGAL_ACCESS_ERROR, NO_SUCH_METHOD_ERROR
+ }; // Chapter 5.2
+ private static final Class>[] EXCS_INTERFACE_METHOD_RESOLUTION = new Class[0]; // Chapter 5.3 (as below)
+ private static final Class>[] EXCS_STRING_RESOLUTION = new Class[0];
+ // Chapter 5.4 (no errors but the ones that _always_ could happen! How stupid.)
+ private static final Class>[] EXCS_ARRAY_EXCEPTION = {
+ NULL_POINTER_EXCEPTION, ARRAY_INDEX_OUT_OF_BOUNDS_EXCEPTION
+ };
+
+ /**
+ * Enum corresponding to the various Exception Class arrays,
+ * used by {@link ExceptionConst#createExceptions(EXCS, Class...)}
+ */
+ public enum EXCS {
+ EXCS_CLASS_AND_INTERFACE_RESOLUTION,
+ EXCS_FIELD_AND_METHOD_RESOLUTION,
+ EXCS_INTERFACE_METHOD_RESOLUTION,
+ EXCS_STRING_RESOLUTION,
+ EXCS_ARRAY_EXCEPTION,
+ }
+
+ // helper method to merge exception class arrays
+ private static Class>[] mergeExceptions(final Class>[] input, final Class> ... extraClasses) {
+ final int extraLen = extraClasses == null ? 0 : extraClasses.length;
+ final Class>[] excs = new Class>[input.length + extraLen];
+ System.arraycopy(input, 0, excs, 0, input.length);
+ if (extraLen > 0) {
+ System.arraycopy(extraClasses, 0, excs, input.length, extraLen);
+ }
+ return excs;
+ }
+
+ /**
+ * Creates a copy of the specified Exception Class array combined with any additional Exception classes.
+ * @param type the basic array type
+ * @param extraClasses additional classes, if any
+ * @return the merged array
+ */
+ public static Class>[] createExceptions(final EXCS type, final Class> ... extraClasses) {
+ switch (type) {
+ case EXCS_CLASS_AND_INTERFACE_RESOLUTION:
+ return mergeExceptions(EXCS_CLASS_AND_INTERFACE_RESOLUTION, extraClasses);
+ case EXCS_ARRAY_EXCEPTION:
+ return mergeExceptions(EXCS_ARRAY_EXCEPTION, extraClasses);
+ case EXCS_FIELD_AND_METHOD_RESOLUTION:
+ return mergeExceptions(EXCS_FIELD_AND_METHOD_RESOLUTION, extraClasses);
+ case EXCS_INTERFACE_METHOD_RESOLUTION:
+ return mergeExceptions(EXCS_INTERFACE_METHOD_RESOLUTION, extraClasses);
+ case EXCS_STRING_RESOLUTION:
+ return mergeExceptions(EXCS_STRING_RESOLUTION, extraClasses);
+ default:
+ throw new AssertionError("Cannot happen; unexpected enum value: " + type);
+ }
+ }
+
+
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/ExceptionConstants.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/ExceptionConstants.java
new file mode 100644
index 00000000..262e3d45
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/ExceptionConstants.java
@@ -0,0 +1,88 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel;
+
+/**
+ * Exception constants.
+ *
+ * @version $Id: ExceptionConstants.java 1806200 2017-08-25 16:33:06Z ggregory $
+ * @deprecated (since 6.0) DO NOT USE - use ExceptionConst instead
+ */
+@Deprecated
+public interface ExceptionConstants {
+
+ /** The mother of all exceptions
+ */
+ Class THROWABLE = Throwable.class;
+ /** Super class of any run-time exception
+ */
+ Class RUNTIME_EXCEPTION = RuntimeException.class;
+ /** Super class of any linking exception (aka Linkage Error)
+ */
+ Class LINKING_EXCEPTION = LinkageError.class;
+ /** Linking Exceptions
+ */
+ Class CLASS_CIRCULARITY_ERROR = ClassCircularityError.class;
+ Class CLASS_FORMAT_ERROR = ClassFormatError.class;
+ Class EXCEPTION_IN_INITIALIZER_ERROR = ExceptionInInitializerError.class;
+ Class INCOMPATIBLE_CLASS_CHANGE_ERROR = IncompatibleClassChangeError.class;
+ Class ABSTRACT_METHOD_ERROR = AbstractMethodError.class;
+ Class ILLEGAL_ACCESS_ERROR = IllegalAccessError.class;
+ Class INSTANTIATION_ERROR = InstantiationError.class;
+ Class NO_SUCH_FIELD_ERROR = NoSuchFieldError.class;
+ Class NO_SUCH_METHOD_ERROR = NoSuchMethodError.class;
+ Class NO_CLASS_DEF_FOUND_ERROR = NoClassDefFoundError.class;
+ Class UNSATISFIED_LINK_ERROR = UnsatisfiedLinkError.class;
+ Class VERIFY_ERROR = VerifyError.class;
+ /* UnsupportedClassVersionError is new in JDK 1.2 */
+// Class UnsupportedClassVersionError = UnsupportedClassVersionError.class;
+ /** Run-Time Exceptions
+ */
+ Class NULL_POINTER_EXCEPTION = NullPointerException.class;
+ Class ARRAY_INDEX_OUT_OF_BOUNDS_EXCEPTION
+ = ArrayIndexOutOfBoundsException.class;
+ Class ARITHMETIC_EXCEPTION = ArithmeticException.class;
+ Class NEGATIVE_ARRAY_SIZE_EXCEPTION = NegativeArraySizeException.class;
+ Class CLASS_CAST_EXCEPTION = ClassCastException.class;
+ Class ILLEGAL_MONITOR_STATE = IllegalMonitorStateException.class;
+
+ /**
+ * Pre-defined exception arrays according to chapters 5.1-5.4 of the Java Virtual
+ * Machine Specification
+ * @deprecated Do not use these arrays, use the static methods in the ExceptionConst implementation class instead
+ */
+ @Deprecated
+ Class>[] EXCS_CLASS_AND_INTERFACE_RESOLUTION = {
+ NO_CLASS_DEF_FOUND_ERROR, CLASS_FORMAT_ERROR, VERIFY_ERROR, ABSTRACT_METHOD_ERROR,
+ EXCEPTION_IN_INITIALIZER_ERROR, ILLEGAL_ACCESS_ERROR
+ }; // Chapter 5.1
+ @Deprecated
+ Class>[] EXCS_FIELD_AND_METHOD_RESOLUTION = {
+ NO_SUCH_FIELD_ERROR, ILLEGAL_ACCESS_ERROR, NO_SUCH_METHOD_ERROR
+ }; // Chapter 5.2
+ @Deprecated
+ Class>[] EXCS_INTERFACE_METHOD_RESOLUTION = new Class[0]; // Chapter 5.3 (as below)
+ @Deprecated
+ Class>[] EXCS_STRING_RESOLUTION = new Class[0];
+ // Chapter 5.4 (no errors but the ones that _always_ could happen! How stupid.)
+ @Deprecated
+ Class>[] EXCS_ARRAY_EXCEPTION = {
+ NULL_POINTER_EXCEPTION, ARRAY_INDEX_OUT_OF_BOUNDS_EXCEPTION
+ };
+
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/Repository.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/Repository.java
old mode 100755
new mode 100644
similarity index 63%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/Repository.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/Repository.java
index dd024472..44d6879a
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/Repository.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/Repository.java
@@ -1,262 +1,262 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0;
-
-import java.io.IOException;
-
-import org.apache.bcel5_2_0.classfile.JavaClass;
-import org.apache.bcel5_2_0.util.ClassPath;
-import org.apache.bcel5_2_0.util.SyntheticRepository;
-
-/**
- * The repository maintains informations about class interdependencies, e.g.,
- * whether a class is a sub-class of another. Delegates actual class loading
- * to SyntheticRepository with current class path by default.
- *
- * @see org.apache.bcel5_2_0.util.Repository
- * @see org.apache.bcel5_2_0.util.SyntheticRepository
- *
- * @version $Id: Repository.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public abstract class Repository {
-
- private static org.apache.bcel5_2_0.util.Repository _repository = SyntheticRepository.getInstance();
-
-
- /** @return currently used repository instance
- */
- public static org.apache.bcel5_2_0.util.Repository getRepository() {
- return _repository;
- }
-
-
- /** Set repository instance to be used for class loading
- */
- public static void setRepository( org.apache.bcel5_2_0.util.Repository rep ) {
- _repository = rep;
- }
-
-
- /** Lookup class somewhere found on your CLASSPATH, or whereever the
- * repository instance looks for it.
- *
- * @return class object for given fully qualified class name
- * @throws ClassNotFoundException if the class could not be found or
- * parsed correctly
- */
- public static JavaClass lookupClass( String class_name ) throws ClassNotFoundException {
- return _repository.loadClass(class_name);
- }
-
-
- /**
- * Try to find class source using the internal repository instance.
- * @see Class
- * @return JavaClass object for given runtime class
- * @throws ClassNotFoundException if the class could not be found or
- * parsed correctly
- */
- public static JavaClass lookupClass( Class clazz ) throws ClassNotFoundException {
- return _repository.loadClass(clazz);
- }
-
-
- /**
- * @return class file object for given Java class by looking on the
- * system class path; returns null if the class file can't be
- * found
- */
- public static ClassPath.ClassFile lookupClassFile( String class_name ) {
- try {
- ClassPath path = _repository.getClassPath();
- if (path == null) {
- return null;
- }
- return path.getClassFile(class_name);
- } catch (IOException e) {
- return null;
- }
- }
-
-
- /** Clear the repository.
- */
- public static void clearCache() {
- _repository.clear();
- }
-
-
- /**
- * Add clazz to repository if there isn't an equally named class already in there.
- *
- * @return old entry in repository
- */
- public static JavaClass addClass( JavaClass clazz ) {
- JavaClass old = _repository.findClass(clazz.getClassName());
- _repository.storeClass(clazz);
- return old;
- }
-
-
- /**
- * Remove class with given (fully qualified) name from repository.
- */
- public static void removeClass( String clazz ) {
- _repository.removeClass(_repository.findClass(clazz));
- }
-
-
- /**
- * Remove given class from repository.
- */
- public static void removeClass( JavaClass clazz ) {
- _repository.removeClass(clazz);
- }
-
-
- /**
- * @return list of super classes of clazz in ascending order, i.e.,
- * Object is always the last element
- * @throws ClassNotFoundException if any of the superclasses can't be found
- */
- public static JavaClass[] getSuperClasses( JavaClass clazz ) throws ClassNotFoundException {
- return clazz.getSuperClasses();
- }
-
-
- /**
- * @return list of super classes of clazz in ascending order, i.e.,
- * Object is always the last element.
- * @throws ClassNotFoundException if the named class or any of its
- * superclasses can't be found
- */
- public static JavaClass[] getSuperClasses( String class_name ) throws ClassNotFoundException {
- JavaClass jc = lookupClass(class_name);
- return getSuperClasses(jc);
- }
-
-
- /**
- * @return all interfaces implemented by class and its super
- * classes and the interfaces that those interfaces extend, and so on.
- * (Some people call this a transitive hull).
- * @throws ClassNotFoundException if any of the class's
- * superclasses or superinterfaces can't be found
- */
- public static JavaClass[] getInterfaces( JavaClass clazz ) throws ClassNotFoundException {
- return clazz.getAllInterfaces();
- }
-
-
- /**
- * @return all interfaces implemented by class and its super
- * classes and the interfaces that extend those interfaces, and so on
- * @throws ClassNotFoundException if the named class can't be found,
- * or if any of its superclasses or superinterfaces can't be found
- */
- public static JavaClass[] getInterfaces( String class_name ) throws ClassNotFoundException {
- return getInterfaces(lookupClass(class_name));
- }
-
-
- /**
- * Equivalent to runtime "instanceof" operator.
- * @return true, if clazz is an instance of super_class
- * @throws ClassNotFoundException if any superclasses or superinterfaces
- * of clazz can't be found
- */
- public static boolean instanceOf( JavaClass clazz, JavaClass super_class )
- throws ClassNotFoundException {
- return clazz.instanceOf(super_class);
- }
-
-
- /**
- * @return true, if clazz is an instance of super_class
- * @throws ClassNotFoundException if either clazz or super_class
- * can't be found
- */
- public static boolean instanceOf( String clazz, String super_class )
- throws ClassNotFoundException {
- return instanceOf(lookupClass(clazz), lookupClass(super_class));
- }
-
-
- /**
- * @return true, if clazz is an instance of super_class
- * @throws ClassNotFoundException if super_class can't be found
- */
- public static boolean instanceOf( JavaClass clazz, String super_class )
- throws ClassNotFoundException {
- return instanceOf(clazz, lookupClass(super_class));
- }
-
-
- /**
- * @return true, if clazz is an instance of super_class
- * @throws ClassNotFoundException if clazz can't be found
- */
- public static boolean instanceOf( String clazz, JavaClass super_class )
- throws ClassNotFoundException {
- return instanceOf(lookupClass(clazz), super_class);
- }
-
-
- /**
- * @return true, if clazz is an implementation of interface inter
- * @throws ClassNotFoundException if any superclasses or superinterfaces
- * of clazz can't be found
- */
- public static boolean implementationOf( JavaClass clazz, JavaClass inter )
- throws ClassNotFoundException {
- return clazz.implementationOf(inter);
- }
-
-
- /**
- * @return true, if clazz is an implementation of interface inter
- * @throws ClassNotFoundException if clazz, inter, or any superclasses
- * or superinterfaces of clazz can't be found
- */
- public static boolean implementationOf( String clazz, String inter )
- throws ClassNotFoundException {
- return implementationOf(lookupClass(clazz), lookupClass(inter));
- }
-
-
- /**
- * @return true, if clazz is an implementation of interface inter
- * @throws ClassNotFoundException if inter or any superclasses
- * or superinterfaces of clazz can't be found
- */
- public static boolean implementationOf( JavaClass clazz, String inter )
- throws ClassNotFoundException {
- return implementationOf(clazz, lookupClass(inter));
- }
-
-
- /**
- * @return true, if clazz is an implementation of interface inter
- * @throws ClassNotFoundException if clazz or any superclasses or
- * superinterfaces of clazz can't be found
- */
- public static boolean implementationOf( String clazz, JavaClass inter )
- throws ClassNotFoundException {
- return implementationOf(lookupClass(clazz), inter);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel;
+
+import java.io.IOException;
+
+import org.apache.bcel.classfile.JavaClass;
+import org.apache.bcel.util.ClassPath;
+import org.apache.bcel.util.SyntheticRepository;
+
+/**
+ * The repository maintains informations about class interdependencies, e.g.,
+ * whether a class is a sub-class of another. Delegates actual class loading
+ * to SyntheticRepository with current class path by default.
+ *
+ * @see org.apache.bcel.util.Repository
+ * @see SyntheticRepository
+ *
+ * @version $Id: Repository.java 1749603 2016-06-21 20:50:19Z ggregory $
+ */
+public abstract class Repository {
+
+ private static org.apache.bcel.util.Repository repository = SyntheticRepository.getInstance();
+
+
+ /** @return currently used repository instance
+ */
+ public static org.apache.bcel.util.Repository getRepository() {
+ return repository;
+ }
+
+
+ /** Set repository instance to be used for class loading
+ */
+ public static void setRepository( final org.apache.bcel.util.Repository rep ) {
+ repository = rep;
+ }
+
+
+ /** Lookup class somewhere found on your CLASSPATH, or whereever the
+ * repository instance looks for it.
+ *
+ * @return class object for given fully qualified class name
+ * @throws ClassNotFoundException if the class could not be found or
+ * parsed correctly
+ */
+ public static JavaClass lookupClass( final String class_name ) throws ClassNotFoundException {
+ return repository.loadClass(class_name);
+ }
+
+
+ /**
+ * Try to find class source using the internal repository instance.
+ * @see Class
+ * @return JavaClass object for given runtime class
+ * @throws ClassNotFoundException if the class could not be found or
+ * parsed correctly
+ */
+ public static JavaClass lookupClass( final Class> clazz ) throws ClassNotFoundException {
+ return repository.loadClass(clazz);
+ }
+
+
+ /**
+ * @return class file object for given Java class by looking on the
+ * system class path; returns null if the class file can't be
+ * found
+ */
+ public static ClassPath.ClassFile lookupClassFile( final String class_name ) {
+ try {
+ final ClassPath path = repository.getClassPath();
+ if (path == null) {
+ return null;
+ }
+ return path.getClassFile(class_name);
+ } catch (final IOException e) {
+ return null;
+ }
+ }
+
+
+ /** Clear the repository.
+ */
+ public static void clearCache() {
+ repository.clear();
+ }
+
+
+ /**
+ * Add clazz to repository if there isn't an equally named class already in there.
+ *
+ * @return old entry in repository
+ */
+ public static JavaClass addClass( final JavaClass clazz ) {
+ final JavaClass old = repository.findClass(clazz.getClassName());
+ repository.storeClass(clazz);
+ return old;
+ }
+
+
+ /**
+ * Remove class with given (fully qualified) name from repository.
+ */
+ public static void removeClass( final String clazz ) {
+ repository.removeClass(repository.findClass(clazz));
+ }
+
+
+ /**
+ * Remove given class from repository.
+ */
+ public static void removeClass( final JavaClass clazz ) {
+ repository.removeClass(clazz);
+ }
+
+
+ /**
+ * @return list of super classes of clazz in ascending order, i.e.,
+ * Object is always the last element
+ * @throws ClassNotFoundException if any of the superclasses can't be found
+ */
+ public static JavaClass[] getSuperClasses( final JavaClass clazz ) throws ClassNotFoundException {
+ return clazz.getSuperClasses();
+ }
+
+
+ /**
+ * @return list of super classes of clazz in ascending order, i.e.,
+ * Object is always the last element.
+ * @throws ClassNotFoundException if the named class or any of its
+ * superclasses can't be found
+ */
+ public static JavaClass[] getSuperClasses( final String class_name ) throws ClassNotFoundException {
+ final JavaClass jc = lookupClass(class_name);
+ return getSuperClasses(jc);
+ }
+
+
+ /**
+ * @return all interfaces implemented by class and its super
+ * classes and the interfaces that those interfaces extend, and so on.
+ * (Some people call this a transitive hull).
+ * @throws ClassNotFoundException if any of the class's
+ * superclasses or superinterfaces can't be found
+ */
+ public static JavaClass[] getInterfaces( final JavaClass clazz ) throws ClassNotFoundException {
+ return clazz.getAllInterfaces();
+ }
+
+
+ /**
+ * @return all interfaces implemented by class and its super
+ * classes and the interfaces that extend those interfaces, and so on
+ * @throws ClassNotFoundException if the named class can't be found,
+ * or if any of its superclasses or superinterfaces can't be found
+ */
+ public static JavaClass[] getInterfaces( final String class_name ) throws ClassNotFoundException {
+ return getInterfaces(lookupClass(class_name));
+ }
+
+
+ /**
+ * Equivalent to runtime "instanceof" operator.
+ * @return true, if clazz is an instance of super_class
+ * @throws ClassNotFoundException if any superclasses or superinterfaces
+ * of clazz can't be found
+ */
+ public static boolean instanceOf( final JavaClass clazz, final JavaClass super_class )
+ throws ClassNotFoundException {
+ return clazz.instanceOf(super_class);
+ }
+
+
+ /**
+ * @return true, if clazz is an instance of super_class
+ * @throws ClassNotFoundException if either clazz or super_class
+ * can't be found
+ */
+ public static boolean instanceOf( final String clazz, final String super_class )
+ throws ClassNotFoundException {
+ return instanceOf(lookupClass(clazz), lookupClass(super_class));
+ }
+
+
+ /**
+ * @return true, if clazz is an instance of super_class
+ * @throws ClassNotFoundException if super_class can't be found
+ */
+ public static boolean instanceOf( final JavaClass clazz, final String super_class )
+ throws ClassNotFoundException {
+ return instanceOf(clazz, lookupClass(super_class));
+ }
+
+
+ /**
+ * @return true, if clazz is an instance of super_class
+ * @throws ClassNotFoundException if clazz can't be found
+ */
+ public static boolean instanceOf( final String clazz, final JavaClass super_class )
+ throws ClassNotFoundException {
+ return instanceOf(lookupClass(clazz), super_class);
+ }
+
+
+ /**
+ * @return true, if clazz is an implementation of interface inter
+ * @throws ClassNotFoundException if any superclasses or superinterfaces
+ * of clazz can't be found
+ */
+ public static boolean implementationOf( final JavaClass clazz, final JavaClass inter )
+ throws ClassNotFoundException {
+ return clazz.implementationOf(inter);
+ }
+
+
+ /**
+ * @return true, if clazz is an implementation of interface inter
+ * @throws ClassNotFoundException if clazz, inter, or any superclasses
+ * or superinterfaces of clazz can't be found
+ */
+ public static boolean implementationOf( final String clazz, final String inter )
+ throws ClassNotFoundException {
+ return implementationOf(lookupClass(clazz), lookupClass(inter));
+ }
+
+
+ /**
+ * @return true, if clazz is an implementation of interface inter
+ * @throws ClassNotFoundException if inter or any superclasses
+ * or superinterfaces of clazz can't be found
+ */
+ public static boolean implementationOf( final JavaClass clazz, final String inter )
+ throws ClassNotFoundException {
+ return implementationOf(clazz, lookupClass(inter));
+ }
+
+
+ /**
+ * @return true, if clazz is an implementation of interface inter
+ * @throws ClassNotFoundException if clazz or any superclasses or
+ * superinterfaces of clazz can't be found
+ */
+ public static boolean implementationOf( final String clazz, final JavaClass inter )
+ throws ClassNotFoundException {
+ return implementationOf(lookupClass(clazz), inter);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AccessFlags.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AccessFlags.java
new file mode 100644
index 00000000..179274b2
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AccessFlags.java
@@ -0,0 +1,219 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import org.apache.bcel.Const;
+
+/**
+ * Super class for all objects that have modifiers like private, final, ... I.e. classes, fields, and methods.
+ *
+ * @version $Id: AccessFlags.java 1748636 2016-06-15 20:45:17Z dbrosius $
+ */
+public abstract class AccessFlags {
+
+ /**
+ * @deprecated (since 6.0) will be made private; do not access directly, use getter/setter
+ */
+ @java.lang.Deprecated
+ protected int access_flags; // TODO not used externally at present
+
+ public AccessFlags() {
+ }
+
+ /**
+ * @param a
+ * inital access flags
+ */
+ public AccessFlags(final int a) {
+ access_flags = a;
+ }
+
+ /**
+ * @return Access flags of the object aka. "modifiers".
+ */
+ public final int getAccessFlags() {
+ return access_flags;
+ }
+
+ /**
+ * @return Access flags of the object aka. "modifiers".
+ */
+ public final int getModifiers() {
+ return access_flags;
+ }
+
+ /**
+ * Set access flags aka "modifiers".
+ *
+ * @param access_flags
+ * Access flags of the object.
+ */
+ public final void setAccessFlags(final int access_flags) {
+ this.access_flags = access_flags;
+ }
+
+ /**
+ * Set access flags aka "modifiers".
+ *
+ * @param access_flags
+ * Access flags of the object.
+ */
+ public final void setModifiers(final int access_flags) {
+ setAccessFlags(access_flags);
+ }
+
+ private void setFlag(final int flag, final boolean set) {
+ if ((access_flags & flag) != 0) { // Flag is set already
+ if (!set) {
+ access_flags ^= flag;
+ }
+ } else { // Flag not set
+ if (set) {
+ access_flags |= flag;
+ }
+ }
+ }
+
+ public final void isPublic(final boolean flag) {
+ setFlag(Const.ACC_PUBLIC, flag);
+ }
+
+ public final boolean isPublic() {
+ return (access_flags & Const.ACC_PUBLIC) != 0;
+ }
+
+ public final void isPrivate(final boolean flag) {
+ setFlag(Const.ACC_PRIVATE, flag);
+ }
+
+ public final boolean isPrivate() {
+ return (access_flags & Const.ACC_PRIVATE) != 0;
+ }
+
+ public final void isProtected(final boolean flag) {
+ setFlag(Const.ACC_PROTECTED, flag);
+ }
+
+ public final boolean isProtected() {
+ return (access_flags & Const.ACC_PROTECTED) != 0;
+ }
+
+ public final void isStatic(final boolean flag) {
+ setFlag(Const.ACC_STATIC, flag);
+ }
+
+ public final boolean isStatic() {
+ return (access_flags & Const.ACC_STATIC) != 0;
+ }
+
+ public final void isFinal(final boolean flag) {
+ setFlag(Const.ACC_FINAL, flag);
+ }
+
+ public final boolean isFinal() {
+ return (access_flags & Const.ACC_FINAL) != 0;
+ }
+
+ public final void isSynchronized(final boolean flag) {
+ setFlag(Const.ACC_SYNCHRONIZED, flag);
+ }
+
+ public final boolean isSynchronized() {
+ return (access_flags & Const.ACC_SYNCHRONIZED) != 0;
+ }
+
+ public final void isVolatile(final boolean flag) {
+ setFlag(Const.ACC_VOLATILE, flag);
+ }
+
+ public final boolean isVolatile() {
+ return (access_flags & Const.ACC_VOLATILE) != 0;
+ }
+
+ public final void isTransient(final boolean flag) {
+ setFlag(Const.ACC_TRANSIENT, flag);
+ }
+
+ public final boolean isTransient() {
+ return (access_flags & Const.ACC_TRANSIENT) != 0;
+ }
+
+ public final void isNative(final boolean flag) {
+ setFlag(Const.ACC_NATIVE, flag);
+ }
+
+ public final boolean isNative() {
+ return (access_flags & Const.ACC_NATIVE) != 0;
+ }
+
+ public final void isInterface(final boolean flag) {
+ setFlag(Const.ACC_INTERFACE, flag);
+ }
+
+ public final boolean isInterface() {
+ return (access_flags & Const.ACC_INTERFACE) != 0;
+ }
+
+ public final void isAbstract(final boolean flag) {
+ setFlag(Const.ACC_ABSTRACT, flag);
+ }
+
+ public final boolean isAbstract() {
+ return (access_flags & Const.ACC_ABSTRACT) != 0;
+ }
+
+ public final void isStrictfp(final boolean flag) {
+ setFlag(Const.ACC_STRICT, flag);
+ }
+
+ public final boolean isStrictfp() {
+ return (access_flags & Const.ACC_STRICT) != 0;
+ }
+
+ public final void isSynthetic(final boolean flag) {
+ setFlag(Const.ACC_SYNTHETIC, flag);
+ }
+
+ public final boolean isSynthetic() {
+ return (access_flags & Const.ACC_SYNTHETIC) != 0;
+ }
+
+ public final void isAnnotation(final boolean flag) {
+ setFlag(Const.ACC_ANNOTATION, flag);
+ }
+
+ public final boolean isAnnotation() {
+ return (access_flags & Const.ACC_ANNOTATION) != 0;
+ }
+
+ public final void isEnum(final boolean flag) {
+ setFlag(Const.ACC_ENUM, flag);
+ }
+
+ public final boolean isEnum() {
+ return (access_flags & Const.ACC_ENUM) != 0;
+ }
+
+ public final void isVarArgs(final boolean flag) {
+ setFlag(Const.ACC_VARARGS, flag);
+ }
+
+ public final boolean isVarArgs() {
+ return (access_flags & Const.ACC_VARARGS) != 0;
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AnnotationDefault.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AnnotationDefault.java
new file mode 100644
index 00000000..1ac4f921
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AnnotationDefault.java
@@ -0,0 +1,94 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * Represents the default value of a annotation for a method info
+ *
+ * @version $Id: AnnotationDefault 1 2005-02-13 03:15:08Z dbrosius $
+ * @since 6.0
+ */
+public class AnnotationDefault extends Attribute {
+
+ private ElementValue default_value;
+
+ /**
+ * @param name_index Index pointing to the name Code
+ * @param length Content length in bytes
+ * @param input Input stream
+ * @param constant_pool Array of constants
+ */
+ AnnotationDefault(final int name_index, final int length, final DataInput input, final ConstantPool constant_pool) throws IOException {
+ this(name_index, length, (ElementValue) null, constant_pool);
+ default_value = ElementValue.readElementValue(input, constant_pool);
+ }
+
+ /**
+ * @param name_index Index pointing to the name Code
+ * @param length Content length in bytes
+ * @param defaultValue the annotation's default value
+ * @param constant_pool Array of constants
+ */
+ public AnnotationDefault(final int name_index, final int length, final ElementValue defaultValue, final ConstantPool constant_pool) {
+ super(Const.ATTR_ANNOTATION_DEFAULT, name_index, length, constant_pool);
+ this.default_value = defaultValue;
+ }
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitely
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept(final Visitor v) {
+ v.visitAnnotationDefault(this);
+ }
+
+ /**
+ * @param defaultValue the default value of this methodinfo's annotation
+ */
+ public final void setDefaultValue(final ElementValue defaultValue) {
+ default_value = defaultValue;
+ }
+
+ /**
+ * @return the default value
+ */
+ public final ElementValue getDefaultValue() {
+ return default_value;
+ }
+
+ @Override
+ public Attribute copy(final ConstantPool _constant_pool) {
+ return (Attribute) clone();
+ }
+
+ @Override
+ public final void dump(final DataOutputStream dos) throws IOException {
+ super.dump(dos);
+ default_value.dump(dos);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AnnotationElementValue.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AnnotationElementValue.java
new file mode 100644
index 00000000..2ad29998
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AnnotationElementValue.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+/**
+ * @since 6.0
+ */
+public class AnnotationElementValue extends ElementValue
+{
+ // For annotation element values, this is the annotation
+ private final AnnotationEntry annotationEntry;
+
+ public AnnotationElementValue(final int type, final AnnotationEntry annotationEntry,
+ final ConstantPool cpool)
+ {
+ super(type, cpool);
+ if (type != ANNOTATION) {
+ throw new RuntimeException(
+ "Only element values of type annotation can be built with this ctor - type specified: " + type);
+ }
+ this.annotationEntry = annotationEntry;
+ }
+
+ @Override
+ public void dump(final DataOutputStream dos) throws IOException
+ {
+ dos.writeByte(super.getType()); // u1 type of value (ANNOTATION == '@')
+ annotationEntry.dump(dos);
+ }
+
+ @Override
+ public String stringifyValue()
+ {
+ return annotationEntry.toString();
+ }
+
+ @Override
+ public String toString()
+ {
+ return stringifyValue();
+ }
+
+ public AnnotationEntry getAnnotationEntry()
+ {
+ return annotationEntry;
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AnnotationEntry.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AnnotationEntry.java
new file mode 100644
index 00000000..5d6d5578
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AnnotationEntry.java
@@ -0,0 +1,168 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.bcel.Const;
+
+/**
+ * represents one annotation in the annotation table
+ *
+ * @version $Id: AnnotationEntry
+ * @since 6.0
+ */
+public class AnnotationEntry implements Node {
+
+ private final int type_index;
+ private final ConstantPool constant_pool;
+ private final boolean isRuntimeVisible;
+
+ private List element_value_pairs;
+
+ /*
+ * Factory method to create an AnnotionEntry from a DataInput
+ *
+ * @param input
+ * @param constant_pool
+ * @param isRuntimeVisible
+ * @return the entry
+ * @throws IOException
+ */
+ public static AnnotationEntry read(final DataInput input, final ConstantPool constant_pool, final boolean isRuntimeVisible) throws IOException {
+
+ final AnnotationEntry annotationEntry = new AnnotationEntry(input.readUnsignedShort(), constant_pool, isRuntimeVisible);
+ final int num_element_value_pairs = input.readUnsignedShort();
+ annotationEntry.element_value_pairs = new ArrayList<>();
+ for (int i = 0; i < num_element_value_pairs; i++) {
+ annotationEntry.element_value_pairs.add(
+ new ElementValuePair(input.readUnsignedShort(), ElementValue.readElementValue(input, constant_pool),
+ constant_pool));
+ }
+ return annotationEntry;
+ }
+
+ public AnnotationEntry(final int type_index, final ConstantPool constant_pool, final boolean isRuntimeVisible) {
+ this.type_index = type_index;
+ this.constant_pool = constant_pool;
+ this.isRuntimeVisible = isRuntimeVisible;
+ }
+
+ public int getTypeIndex() {
+ return type_index;
+ }
+
+ public ConstantPool getConstantPool() {
+ return constant_pool;
+ }
+
+ public boolean isRuntimeVisible() {
+ return isRuntimeVisible;
+ }
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class.
+ * I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept(final Visitor v) {
+ v.visitAnnotationEntry(this);
+ }
+
+ /**
+ * @return the annotation type name
+ */
+ public String getAnnotationType() {
+ final ConstantUtf8 c = (ConstantUtf8) constant_pool.getConstant(type_index, Const.CONSTANT_Utf8);
+ return c.getBytes();
+ }
+
+ /**
+ * @return the annotation type index
+ */
+ public int getAnnotationTypeIndex() {
+ return type_index;
+ }
+
+ /**
+ * @return the number of element value pairs in this annotation entry
+ */
+ public final int getNumElementValuePairs() {
+ return element_value_pairs.size();
+ }
+
+ /**
+ * @return the element value pairs in this annotation entry
+ */
+ public ElementValuePair[] getElementValuePairs() {
+ // TODO return List
+ return element_value_pairs.toArray(new ElementValuePair[element_value_pairs.size()]);
+ }
+
+ public void dump(final DataOutputStream dos) throws IOException {
+ dos.writeShort(type_index); // u2 index of type name in cpool
+ dos.writeShort(element_value_pairs.size()); // u2 element_value pair
+ // count
+ for (final ElementValuePair envp : element_value_pairs) {
+ envp.dump(dos);
+ }
+ }
+
+ public void addElementNameValuePair(final ElementValuePair elementNameValuePair) {
+ element_value_pairs.add(elementNameValuePair);
+ }
+
+ public String toShortString() {
+ final StringBuilder result = new StringBuilder();
+ result.append("@");
+ result.append(getAnnotationType());
+ final ElementValuePair[] evPairs = getElementValuePairs();
+ if (evPairs.length > 0) {
+ result.append("(");
+ for (final ElementValuePair element : evPairs) {
+ result.append(element.toShortString());
+ }
+ result.append(")");
+ }
+ return result.toString();
+ }
+
+ @Override
+ public String toString() {
+ return toShortString();
+ }
+
+ public static AnnotationEntry[] createAnnotationEntries(final Attribute[] attrs) {
+ // Find attributes that contain annotation data
+ final List accumulatedAnnotations = new ArrayList<>(attrs.length);
+ for (final Attribute attribute : attrs) {
+ if (attribute instanceof Annotations) {
+ final Annotations runtimeAnnotations = (Annotations) attribute;
+ Collections.addAll(accumulatedAnnotations, runtimeAnnotations.getAnnotationEntries());
+ }
+ }
+ return accumulatedAnnotations.toArray(new AnnotationEntry[accumulatedAnnotations.size()]);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Annotations.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Annotations.java
new file mode 100644
index 00000000..878db32b
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Annotations.java
@@ -0,0 +1,114 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+/**
+ * base class for annotations
+ *
+ * @version $Id: Annotations
+ * @since 6.0
+ */
+public abstract class Annotations extends Attribute {
+
+ private AnnotationEntry[] annotation_table;
+ private final boolean isRuntimeVisible;
+
+ /**
+ * @param annotation_type the subclass type of the annotation
+ * @param name_index Index pointing to the name Code
+ * @param length Content length in bytes
+ * @param input Input stream
+ * @param constant_pool Array of constants
+ */
+ Annotations(final byte annotation_type, final int name_index, final int length, final DataInput input,
+ final ConstantPool constant_pool, final boolean isRuntimeVisible) throws IOException {
+ this(annotation_type, name_index, length, (AnnotationEntry[]) null, constant_pool, isRuntimeVisible);
+ final int annotation_table_length = input.readUnsignedShort();
+ annotation_table = new AnnotationEntry[annotation_table_length];
+ for (int i = 0; i < annotation_table_length; i++) {
+ annotation_table[i] = AnnotationEntry.read(input, constant_pool, isRuntimeVisible);
+ }
+ }
+
+ /**
+ * @param annotation_type the subclass type of the annotation
+ * @param name_index Index pointing to the name Code
+ * @param length Content length in bytes
+ * @param annotation_table the actual annotations
+ * @param constant_pool Array of constants
+ */
+ public Annotations(final byte annotation_type, final int name_index, final int length, final AnnotationEntry[] annotation_table,
+ final ConstantPool constant_pool, final boolean isRuntimeVisible) {
+ super(annotation_type, name_index, length, constant_pool);
+ this.annotation_table = annotation_table;
+ this.isRuntimeVisible = isRuntimeVisible;
+ }
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class.
+ * I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept(final Visitor v) {
+ v.visitAnnotation(this);
+ }
+
+ /**
+ * @param annotation_table the entries to set in this annotation
+ */
+ public final void setAnnotationTable(final AnnotationEntry[] annotation_table) {
+ this.annotation_table = annotation_table;
+ }
+
+ /**
+ * returns the array of annotation entries in this annotation
+ */
+ public AnnotationEntry[] getAnnotationEntries() {
+ return annotation_table;
+ }
+
+ /**
+ * @return the number of annotation entries in this annotation
+ */
+ public final int getNumAnnotations() {
+ if (annotation_table == null) {
+ return 0;
+ }
+ return annotation_table.length;
+ }
+
+ public boolean isRuntimeVisible() {
+ return isRuntimeVisible;
+ }
+
+ protected void writeAnnotations(final DataOutputStream dos) throws IOException {
+ if (annotation_table == null) {
+ return;
+ }
+ dos.writeShort(annotation_table.length);
+ for (final AnnotationEntry element : annotation_table) {
+ element.dump(dos);
+ }
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ArrayElementValue.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ArrayElementValue.java
new file mode 100644
index 00000000..07d57ea7
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ArrayElementValue.java
@@ -0,0 +1,92 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+/**
+ * @since 6.0
+ */
+public class ArrayElementValue extends ElementValue
+{
+ // For array types, this is the array
+ private final ElementValue[] evalues;
+
+ @Override
+ public String toString()
+ {
+ final StringBuilder sb = new StringBuilder();
+ sb.append("{");
+ for (int i = 0; i < evalues.length; i++)
+ {
+ sb.append(evalues[i]);
+ if ((i + 1) < evalues.length) {
+ sb.append(",");
+ }
+ }
+ sb.append("}");
+ return sb.toString();
+ }
+
+ public ArrayElementValue(final int type, final ElementValue[] datums, final ConstantPool cpool)
+ {
+ super(type, cpool);
+ if (type != ARRAY) {
+ throw new RuntimeException(
+ "Only element values of type array can be built with this ctor - type specified: " + type);
+ }
+ this.evalues = datums;
+ }
+
+ @Override
+ public void dump(final DataOutputStream dos) throws IOException
+ {
+ dos.writeByte(super.getType()); // u1 type of value (ARRAY == '[')
+ dos.writeShort(evalues.length);
+ for (final ElementValue evalue : evalues) {
+ evalue.dump(dos);
+ }
+ }
+
+ @Override
+ public String stringifyValue()
+ {
+ final StringBuilder sb = new StringBuilder();
+ sb.append("[");
+ for (int i = 0; i < evalues.length; i++)
+ {
+ sb.append(evalues[i].stringifyValue());
+ if ((i + 1) < evalues.length) {
+ sb.append(",");
+ }
+ }
+ sb.append("]");
+ return sb.toString();
+ }
+
+ public ElementValue[] getElementValuesArray()
+ {
+ return evalues;
+ }
+
+ public int getElementValuesArraySize()
+ {
+ return evalues.length;
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Attribute.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Attribute.java
new file mode 100644
index 00000000..0afe641d
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Attribute.java
@@ -0,0 +1,372 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.bcel.Const;
+
+/**
+ * Abstract super class for Attribute objects. Currently the
+ * ConstantValue, SourceFile, Code,
+ * Exceptiontable, LineNumberTable,
+ * LocalVariableTable, InnerClasses and
+ * Synthetic attributes are supported. The Unknown
+ * attribute stands for non-standard-attributes.
+ *
+ * @version $Id: Attribute.java 1806724 2017-08-30 19:22:35Z britter $
+ * @see ConstantValue
+ * @see SourceFile
+ * @see Code
+ * @see Unknown
+ * @see ExceptionTable
+ * @see LineNumberTable
+ * @see LocalVariableTable
+ * @see InnerClasses
+ * @see Synthetic
+ * @see Deprecated
+ * @see Signature
+ */
+public abstract class Attribute implements Cloneable, Node {
+
+ /**
+ * @deprecated (since 6.0) will be made private; do not access directly, use getter/setter
+ */
+ @java.lang.Deprecated
+ protected int name_index; // Points to attribute name in constant pool TODO make private (has getter & setter)
+
+ /**
+ * @deprecated (since 6.0) (since 6.0) will be made private; do not access directly, use getter/setter
+ */
+ @java.lang.Deprecated
+ protected int length; // Content length of attribute field TODO make private (has getter & setter)
+
+ /**
+ * @deprecated (since 6.0) will be made private; do not access directly, use getter/setter
+ */
+ @java.lang.Deprecated
+ protected byte tag; // Tag to distinguish subclasses TODO make private & final; supposed to be immutable
+
+ /**
+ * @deprecated (since 6.0) will be made private; do not access directly, use getter/setter
+ */
+ @java.lang.Deprecated
+ protected ConstantPool constant_pool; // TODO make private (has getter & setter)
+
+ protected Attribute(final byte tag, final int name_index, final int length, final ConstantPool constant_pool)
+ {
+ this.tag = tag;
+ this.name_index = name_index;
+ this.length = length;
+ this.constant_pool = constant_pool;
+ }
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitely
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v
+ * Visitor object
+ */
+ @Override
+ public abstract void accept(Visitor v);
+
+ /**
+ * Dump attribute to file stream in binary format.
+ *
+ * @param file
+ * Output file stream
+ * @throws IOException
+ */
+ public void dump(final DataOutputStream file) throws IOException
+ {
+ file.writeShort(name_index);
+ file.writeInt(length);
+ }
+
+ private static final Map readers = new HashMap<>();
+
+ /**
+ * Add an Attribute reader capable of parsing (user-defined) attributes
+ * named "name". You should not add readers for the standard attributes such
+ * as "LineNumberTable", because those are handled internally.
+ *
+ * @param name the name of the attribute as stored in the class file
+ * @param r the reader object
+ * @deprecated (6.0) Use {@link #addAttributeReader(String, UnknownAttributeReader)} instead
+ */
+ @java.lang.Deprecated
+ public static void addAttributeReader(final String name, final AttributeReader r)
+ {
+ readers.put(name, r);
+ }
+
+ /**
+ * Add an Attribute reader capable of parsing (user-defined) attributes
+ * named "name". You should not add readers for the standard attributes such
+ * as "LineNumberTable", because those are handled internally.
+ *
+ * @param name the name of the attribute as stored in the class file
+ * @param r the reader object
+ */
+ public static void addAttributeReader(final String name, final UnknownAttributeReader r)
+ {
+ readers.put(name, r);
+ }
+
+ /**
+ * Remove attribute reader
+ *
+ * @param name the name of the attribute as stored in the class file
+ */
+ public static void removeAttributeReader(final String name)
+ {
+ readers.remove(name);
+ }
+
+ /**
+ * Class method reads one attribute from the input data stream. This method
+ * must not be accessible from the outside. It is called by the Field and
+ * Method constructor methods.
+ *
+ * @see Field
+ * @see Method
+ *
+ * @param file Input stream
+ * @param constant_pool Array of constants
+ * @return Attribute
+ * @throws IOException
+ * @throws ClassFormatException
+ */
+ public static Attribute readAttribute(final DataInputStream file, final ConstantPool constant_pool)
+ throws IOException, ClassFormatException
+ {
+ return readAttribute((DataInput) file, constant_pool);
+ }
+
+ /**
+ * Class method reads one attribute from the input data stream. This method
+ * must not be accessible from the outside. It is called by the Field and
+ * Method constructor methods.
+ *
+ * @see Field
+ * @see Method
+ *
+ * @param file Input stream
+ * @param constant_pool Array of constants
+ * @return Attribute
+ * @throws IOException
+ * @throws ClassFormatException
+ * @since 6.0
+ */
+ public static Attribute readAttribute(final DataInput file, final ConstantPool constant_pool)
+ throws IOException, ClassFormatException
+ {
+ byte tag = Const.ATTR_UNKNOWN; // Unknown attribute
+ // Get class name from constant pool via `name_index' indirection
+ final int name_index = file.readUnsignedShort();
+ final ConstantUtf8 c = (ConstantUtf8) constant_pool.getConstant(name_index, Const.CONSTANT_Utf8);
+ final String name = c.getBytes();
+
+ // Length of data in bytes
+ final int length = file.readInt();
+
+ // Compare strings to find known attribute
+ for (byte i = 0; i < Const.KNOWN_ATTRIBUTES; i++)
+ {
+ if (name.equals(Const.getAttributeName(i)))
+ {
+ tag = i; // found!
+ break;
+ }
+ }
+
+ // Call proper constructor, depending on `tag'
+ switch (tag)
+ {
+ case Const.ATTR_UNKNOWN:
+ final Object r = readers.get(name);
+ if (r instanceof UnknownAttributeReader)
+ {
+ return ((UnknownAttributeReader) r).createAttribute(name_index, length, file, constant_pool);
+ }
+ return new Unknown(name_index, length, file, constant_pool);
+ case Const.ATTR_CONSTANT_VALUE:
+ return new ConstantValue(name_index, length, file, constant_pool);
+ case Const.ATTR_SOURCE_FILE:
+ return new SourceFile(name_index, length, file, constant_pool);
+ case Const.ATTR_CODE:
+ return new Code(name_index, length, file, constant_pool);
+ case Const.ATTR_EXCEPTIONS:
+ return new ExceptionTable(name_index, length, file, constant_pool);
+ case Const.ATTR_LINE_NUMBER_TABLE:
+ return new LineNumberTable(name_index, length, file, constant_pool);
+ case Const.ATTR_LOCAL_VARIABLE_TABLE:
+ return new LocalVariableTable(name_index, length, file, constant_pool);
+ case Const.ATTR_INNER_CLASSES:
+ return new InnerClasses(name_index, length, file, constant_pool);
+ case Const.ATTR_SYNTHETIC:
+ return new Synthetic(name_index, length, file, constant_pool);
+ case Const.ATTR_DEPRECATED:
+ return new Deprecated(name_index, length, file, constant_pool);
+ case Const.ATTR_PMG:
+ return new PMGClass(name_index, length, file, constant_pool);
+ case Const.ATTR_SIGNATURE:
+ return new Signature(name_index, length, file, constant_pool);
+ case Const.ATTR_STACK_MAP:
+ // old style stack map: unneeded for JDK5 and below;
+ // illegal(?) for JDK6 and above. So just delete with a warning.
+ System.err.println("Warning: Obsolete StackMap attribute ignored.");
+ return new Unknown(name_index, length, file, constant_pool);
+ case Const.ATTR_RUNTIME_VISIBLE_ANNOTATIONS:
+ return new RuntimeVisibleAnnotations(name_index, length, file, constant_pool);
+ case Const.ATTR_RUNTIME_INVISIBLE_ANNOTATIONS:
+ return new RuntimeInvisibleAnnotations(name_index, length, file, constant_pool);
+ case Const.ATTR_RUNTIME_VISIBLE_PARAMETER_ANNOTATIONS:
+ return new RuntimeVisibleParameterAnnotations(name_index, length, file, constant_pool);
+ case Const.ATTR_RUNTIME_INVISIBLE_PARAMETER_ANNOTATIONS:
+ return new RuntimeInvisibleParameterAnnotations(name_index, length, file, constant_pool);
+ case Const.ATTR_ANNOTATION_DEFAULT:
+ return new AnnotationDefault(name_index, length, file, constant_pool);
+ case Const.ATTR_LOCAL_VARIABLE_TYPE_TABLE:
+ return new LocalVariableTypeTable(name_index, length, file, constant_pool);
+ case Const.ATTR_ENCLOSING_METHOD:
+ return new EnclosingMethod(name_index, length, file, constant_pool);
+ case Const.ATTR_STACK_MAP_TABLE:
+ // read new style stack map: StackMapTable. The rest of the code
+ // calls this a StackMap for historical reasons.
+ return new StackMap(name_index, length, file, constant_pool);
+ case Const.ATTR_BOOTSTRAP_METHODS:
+ return new BootstrapMethods(name_index, length, file, constant_pool);
+ case Const.ATTR_METHOD_PARAMETERS:
+ return new MethodParameters(name_index, length, file, constant_pool);
+ default:
+ // Never reached
+ throw new IllegalStateException("Unrecognized attribute type tag parsed: " + tag);
+ }
+ }
+
+ /**
+ * @return Name of attribute
+ * @since 6.0
+ */
+ public String getName()
+ {
+ final ConstantUtf8 c = (ConstantUtf8) constant_pool.getConstant(name_index, Const.CONSTANT_Utf8);
+ return c.getBytes();
+ }
+
+ /**
+ * @return Length of attribute field in bytes.
+ */
+ public final int getLength()
+ {
+ return length;
+ }
+
+ /**
+ * @param length length in bytes.
+ */
+ public final void setLength(final int length)
+ {
+ this.length = length;
+ }
+
+ /**
+ * @param name_index of attribute.
+ */
+ public final void setNameIndex(final int name_index)
+ {
+ this.name_index = name_index;
+ }
+
+ /**
+ * @return Name index in constant pool of attribute name.
+ */
+ public final int getNameIndex()
+ {
+ return name_index;
+ }
+
+ /**
+ * @return Tag of attribute, i.e., its type. Value may not be altered, thus there is no setTag() method.
+ */
+ public final byte getTag()
+ {
+ return tag;
+ }
+
+ /**
+ * @return Constant pool used by this object.
+ * @see ConstantPool
+ */
+ public final ConstantPool getConstantPool()
+ {
+ return constant_pool;
+ }
+
+ /**
+ * @param constant_pool Constant pool to be used for this object.
+ * @see ConstantPool
+ */
+ public final void setConstantPool(final ConstantPool constant_pool)
+ {
+ this.constant_pool = constant_pool;
+ }
+
+ /**
+ * Use copy() if you want to have a deep copy(), i.e., with all references
+ * copied correctly.
+ *
+ * @return shallow copy of this attribute
+ */
+ @Override
+ public Object clone()
+ {
+ Attribute attr = null;
+ try
+ {
+ attr = (Attribute) super.clone();
+ }
+ catch (final CloneNotSupportedException e)
+ {
+ throw new Error("Clone Not Supported"); // never happens
+ }
+ return attr;
+ }
+
+ /**
+ * @return deep copy of this attribute
+ */
+ public abstract Attribute copy(ConstantPool _constant_pool);
+
+ /**
+ * @return attribute name.
+ */
+ @Override
+ public String toString()
+ {
+ return Const.getAttributeName(tag);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/AttributeReader.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AttributeReader.java
old mode 100755
new mode 100644
similarity index 69%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/AttributeReader.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AttributeReader.java
index 2e10b295..7b897d62
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/AttributeReader.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AttributeReader.java
@@ -1,58 +1,60 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.classfile;
-
-/**
- * Unknown (non-standard) attributes may be read via user-defined factory
- * objects that can be registered with the Attribute.addAttributeReader
- * method. These factory objects should implement this interface.
-
- * @see Attribute
- * @version $Id: AttributeReader.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public interface AttributeReader {
-
- /**
- When this attribute reader is added via the static method
- Attribute.addAttributeReader, an attribute name is associated with it.
- As the class file parser parses attributes, it will call various
- AttributeReaders based on the name of the attributes it is
- constructing.
-
- @param name_index An index into the constant pool, indexing a
- ConstantUtf8 that represents the name of the attribute.
-
- @param length The length of the data contained in the attribute. This
- is written into the constant pool and should agree with what the
- factory expects the length to be.
-
- @param file This is the data input stream that the factory needs to read
- its data from.
-
- @param constant_pool This is the constant pool associated with the
- Attribute that we are constructing.
-
- @return The user-defined AttributeReader should take this data and use
- it to construct an attribute. In the case of errors, a null can be
- returned which will cause the parsing of the class file to fail.
-
- @see Attribute#addAttributeReader( String, AttributeReader )
- */
- public Attribute createAttribute( int name_index, int length, java.io.DataInputStream file,
- ConstantPool constant_pool );
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+/**
+ * Unknown (non-standard) attributes may be read via user-defined factory
+ * objects that can be registered with the Attribute.addAttributeReader
+ * method. These factory objects should implement this interface.
+
+ * @see Attribute
+ * @version $Id: AttributeReader.java 1806200 2017-08-25 16:33:06Z ggregory $
+ *
+ * @deprecated Use UnknownAttributeReader instead
+ */
+@java.lang.Deprecated
+public interface AttributeReader {
+
+ /**
+ When this attribute reader is added via the static method
+ Attribute.addAttributeReader, an attribute name is associated with it.
+ As the class file parser parses attributes, it will call various
+ AttributeReaders based on the name of the attributes it is
+ constructing.
+
+ @param name_index An index into the constant pool, indexing a
+ ConstantUtf8 that represents the name of the attribute.
+
+ @param length The length of the data contained in the attribute. This
+ is written into the constant pool and should agree with what the
+ factory expects the length to be.
+
+ @param file This is the data input stream that the factory needs to read
+ its data from.
+
+ @param constant_pool This is the constant pool associated with the
+ Attribute that we are constructing.
+
+ @return The user-defined AttributeReader should take this data and use
+ it to construct an attribute. In the case of errors, a null can be
+ returned which will cause the parsing of the class file to fail.
+
+ @see Attribute#addAttributeReader( String, AttributeReader )
+ */
+ Attribute createAttribute( int name_index, int length, java.io.DataInputStream file, ConstantPool constant_pool );
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/BootstrapMethod.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/BootstrapMethod.java
new file mode 100644
index 00000000..988e15c9
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/BootstrapMethod.java
@@ -0,0 +1,169 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.util.Arrays;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class represents a bootstrap method attribute, i.e., the bootstrap
+ * method ref, the number of bootstrap arguments and an array of the
+ * bootstrap arguments.
+ *
+ * @see
+ * The class File Format : The BootstrapMethods Attribute
+ * @since 6.0
+ */
+public class BootstrapMethod implements Cloneable {
+
+ /** Index of the CONSTANT_MethodHandle_info structure in the constant_pool table */
+ private int bootstrap_method_ref;
+
+ /** Array of references to the constant_pool table */
+ private int[] bootstrap_arguments;
+
+
+ /**
+ * Initialize from another object.
+ */
+ public BootstrapMethod(final BootstrapMethod c) {
+ this(c.getBootstrapMethodRef(), c.getBootstrapArguments());
+ }
+
+ /**
+ * Construct object from input stream.
+ *
+ * @param input Input stream
+ * @throws IOException
+ */
+ BootstrapMethod(final DataInput input) throws IOException {
+ this(input.readUnsignedShort(), input.readUnsignedShort());
+
+ for (int i = 0; i < bootstrap_arguments.length; i++) {
+ bootstrap_arguments[i] = input.readUnsignedShort();
+ }
+ }
+
+ // helper method
+ private BootstrapMethod(final int bootstrap_method_ref, final int num_bootstrap_arguments) {
+ this(bootstrap_method_ref, new int[num_bootstrap_arguments]);
+ }
+
+ /**
+ * @param bootstrap_method_ref int index into constant_pool of CONSTANT_MethodHandle
+ * @param bootstrap_arguments int[] indices into constant_pool of CONSTANT__info
+ */
+ public BootstrapMethod(final int bootstrap_method_ref, final int[] bootstrap_arguments) {
+ this.bootstrap_method_ref = bootstrap_method_ref;
+ this.bootstrap_arguments = bootstrap_arguments;
+ }
+
+ /**
+ * @return index into constant_pool of bootstrap_method
+ */
+ public int getBootstrapMethodRef() {
+ return bootstrap_method_ref;
+ }
+
+ /**
+ * @param bootstrap_method_ref int index into constant_pool of CONSTANT_MethodHandle
+ */
+ public void setBootstrapMethodRef(final int bootstrap_method_ref) {
+ this.bootstrap_method_ref = bootstrap_method_ref;
+ }
+
+ /**
+ * @return int[] of bootstrap_method indices into constant_pool of CONSTANT__info
+ */
+ public int[] getBootstrapArguments() {
+ return bootstrap_arguments;
+ }
+
+ /**
+ * @return count of number of boostrap arguments
+ */
+ public int getNumBootstrapArguments() {
+ return bootstrap_arguments.length;
+ }
+
+ /**
+ * @param bootstrap_arguments int[] indices into constant_pool of CONSTANT__info
+ */
+ public void setBootstrapArguments(final int[] bootstrap_arguments) {
+ this.bootstrap_arguments = bootstrap_arguments;
+ }
+
+ /**
+ * @return String representation.
+ */
+ @Override
+ public final String toString() {
+ return "BootstrapMethod(" + bootstrap_method_ref + ", " + bootstrap_arguments.length + ", "
+ + Arrays.toString(bootstrap_arguments) + ")";
+ }
+
+ /**
+ * @return Resolved string representation
+ */
+ public final String toString( final ConstantPool constant_pool ) {
+ final StringBuilder buf = new StringBuilder();
+ String bootstrap_method_name;
+ bootstrap_method_name = constant_pool.constantToString(bootstrap_method_ref,
+ Const.CONSTANT_MethodHandle);
+ buf.append(Utility.compactClassName(bootstrap_method_name));
+ final int num_bootstrap_arguments = bootstrap_arguments.length;
+ if (num_bootstrap_arguments > 0) {
+ buf.append("\n Method Arguments:");
+ for (int i = 0; i < num_bootstrap_arguments; i++) {
+ buf.append("\n ").append(i).append(": ");
+ buf.append(constant_pool.constantToString(constant_pool.getConstant(bootstrap_arguments[i])));
+ }
+ }
+ return buf.toString();
+ }
+
+ /**
+ * Dump object to file stream in binary format.
+ *
+ * @param file Output file stream
+ * @throws IOException
+ */
+ public final void dump(final DataOutputStream file) throws IOException {
+ file.writeShort(bootstrap_method_ref);
+ file.writeShort(bootstrap_arguments.length);
+ for (final int bootstrap_argument : bootstrap_arguments) {
+ file.writeShort(bootstrap_argument);
+ }
+ }
+
+ /**
+ * @return deep copy of this object
+ */
+ public BootstrapMethod copy() {
+ try {
+ return (BootstrapMethod) clone();
+ } catch (final CloneNotSupportedException e) {
+ // TODO should this throw?
+ }
+ return null;
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/BootstrapMethods.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/BootstrapMethods.java
new file mode 100644
index 00000000..994cb759
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/BootstrapMethods.java
@@ -0,0 +1,144 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class represents a BootstrapMethods attribute.
+ *
+ * @see
+ * The class File Format : The BootstrapMethods Attribute
+ * @since 6.0
+ */
+public class BootstrapMethods extends Attribute {
+
+ private BootstrapMethod[] bootstrap_methods; // TODO this could be made final (setter is not used)
+
+ /**
+ * Initialize from another object. Note that both objects use the same
+ * references (shallow copy). Use clone() for a physical copy.
+ */
+ public BootstrapMethods(final BootstrapMethods c) {
+ this(c.getNameIndex(), c.getLength(), c.getBootstrapMethods(), c.getConstantPool());
+ }
+
+
+ /**
+ * @param name_index Index in constant pool to CONSTANT_Utf8
+ * @param length Content length in bytes
+ * @param bootstrap_methods array of bootstrap methods
+ * @param constant_pool Array of constants
+ */
+ public BootstrapMethods(final int name_index, final int length, final BootstrapMethod[] bootstrap_methods, final ConstantPool constant_pool) {
+ super(Const.ATTR_BOOTSTRAP_METHODS, name_index, length, constant_pool);
+ this.bootstrap_methods = bootstrap_methods;
+ }
+
+ /**
+ * Construct object from Input stream.
+ *
+ * @param name_index Index in constant pool to CONSTANT_Utf8
+ * @param length Content length in bytes
+ * @param input Input stream
+ * @param constant_pool Array of constants
+ * @throws IOException
+ */
+ BootstrapMethods(final int name_index, final int length, final DataInput input, final ConstantPool constant_pool) throws IOException {
+ this(name_index, length, (BootstrapMethod[]) null, constant_pool);
+
+ final int num_bootstrap_methods = input.readUnsignedShort();
+ bootstrap_methods = new BootstrapMethod[num_bootstrap_methods];
+ for (int i = 0; i < num_bootstrap_methods; i++) {
+ bootstrap_methods[i] = new BootstrapMethod(input);
+ }
+ }
+
+ /**
+ * @return array of bootstrap method "records"
+ */
+ public final BootstrapMethod[] getBootstrapMethods() {
+ return bootstrap_methods;
+ }
+
+ /**
+ * @param bootstrap_methods the array of bootstrap methods
+ */
+ public final void setBootstrapMethods(final BootstrapMethod[] bootstrap_methods) {
+ this.bootstrap_methods = bootstrap_methods;
+ }
+
+ /**
+ * @param v Visitor object
+ */
+ @Override
+ public void accept(final Visitor v) {
+ v.visitBootstrapMethods(this);
+ }
+
+ /**
+ * @return deep copy of this attribute
+ */
+ @Override
+ public BootstrapMethods copy(final ConstantPool _constant_pool) {
+ final BootstrapMethods c = (BootstrapMethods) clone();
+ c.bootstrap_methods = new BootstrapMethod[bootstrap_methods.length];
+
+ for (int i = 0; i < bootstrap_methods.length; i++) {
+ c.bootstrap_methods[i] = bootstrap_methods[i].copy();
+ }
+ c.setConstantPool(_constant_pool);
+ return c;
+ }
+
+ /**
+ * Dump bootstrap methods attribute to file stream in binary format.
+ *
+ * @param file Output file stream
+ * @throws IOException
+ */
+ @Override
+ public final void dump(final DataOutputStream file) throws IOException {
+ super.dump(file);
+
+ file.writeShort(bootstrap_methods.length);
+ for (final BootstrapMethod bootstrap_method : bootstrap_methods) {
+ bootstrap_method.dump(file);
+ }
+ }
+
+ /**
+ * @return String representation.
+ */
+ @Override
+ public final String toString() {
+ final StringBuilder buf = new StringBuilder();
+ buf.append("BootstrapMethods(");
+ buf.append(bootstrap_methods.length);
+ buf.append("):\n");
+ for (int i = 0; i < bootstrap_methods.length; i++) {
+ buf.append(" ").append(i).append(": ");
+ buf.append(bootstrap_methods[i].toString(super.getConstantPool())).append("\n");
+ }
+ return buf.toString();
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ClassElementValue.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ClassElementValue.java
new file mode 100644
index 00000000..16820161
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ClassElementValue.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * @since 6.0
+ */
+public class ClassElementValue extends ElementValue
+{
+ // For primitive types and string type, this points to the value entry in
+ // the cpool
+ // For 'class' this points to the class entry in the cpool
+ private final int idx;
+
+ public ClassElementValue(final int type, final int idx, final ConstantPool cpool)
+ {
+ super(type, cpool);
+ this.idx = idx;
+ }
+
+ public int getIndex()
+ {
+ return idx;
+ }
+
+ public String getClassString()
+ {
+ final ConstantUtf8 c = (ConstantUtf8) super.getConstantPool().getConstant(idx,
+ Const.CONSTANT_Utf8);
+ return c.getBytes();
+ }
+
+ @Override
+ public String stringifyValue()
+ {
+ final ConstantUtf8 cu8 = (ConstantUtf8) super.getConstantPool().getConstant(idx,
+ Const.CONSTANT_Utf8);
+ return cu8.getBytes();
+ }
+
+ @Override
+ public void dump(final DataOutputStream dos) throws IOException
+ {
+ dos.writeByte(super.getType()); // u1 kind of value
+ dos.writeShort(idx);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ClassFormatException.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ClassFormatException.java
new file mode 100644
index 00000000..ec52dc27
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ClassFormatException.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+/**
+ * Thrown when the BCEL attempts to read a class file and determines
+ * that the file is malformed or otherwise cannot be interpreted as a
+ * class file.
+ *
+ * @version $Id: ClassFormatException.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class ClassFormatException extends RuntimeException {
+
+ private static final long serialVersionUID = -3569097343160139969L;
+
+ public ClassFormatException() {
+ super();
+ }
+
+
+ public ClassFormatException(final String s) {
+ super(s);
+ }
+
+ /**
+ * @since 6.0
+ */
+ public ClassFormatException(final String message, final Throwable cause) {
+ super(message, cause);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ClassParser.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ClassParser.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ClassParser.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ClassParser.java
index 8b315608..37d3a34e
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ClassParser.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ClassParser.java
@@ -1,302 +1,308 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.classfile;
-
-import java.io.BufferedInputStream;
-import java.io.DataInputStream;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.apache.bcel5_2_0.Constants;
-
-/**
- * Wrapper class that parses a given Java .class file. The method parse returns a
- * JavaClass object on success. When an I/O error or an
- * inconsistency occurs an appropiate exception is propagated back to
- * the caller.
- *
- * The structure and the names comply, except for a few conveniences,
- * exactly with the
- * JVM specification 1.0. See this paper for
- * further details about the structure of a bytecode file.
- *
- * @version $Id: ClassParser.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public final class ClassParser {
-
- private DataInputStream file;
- private boolean fileOwned;
- private String file_name;
- private String zip_file;
- private int class_name_index, superclass_name_index;
- private int major, minor; // Compiler version
- private int access_flags; // Access rights of parsed class
- private int[] interfaces; // Names of implemented interfaces
- private ConstantPool constant_pool; // collection of constants
- private Field[] fields; // class fields, i.e., its variables
- private Method[] methods; // methods defined in the class
- private Attribute[] attributes; // attributes defined in the class
- private boolean is_zip; // Loaded from zip file
- private static final int BUFSIZE = 8192;
-
-
- /**
- * Parse class from the given stream.
- *
- * @param file Input stream
- * @param file_name File name
- */
- public ClassParser(InputStream file, String file_name) {
- this.file_name = file_name;
- fileOwned = false;
- String clazz = file.getClass().getName(); // Not a very clean solution ...
- is_zip = clazz.startsWith("java.util.zip.") || clazz.startsWith("java.util.jar.");
- if (file instanceof DataInputStream) {
- this.file = (DataInputStream) file;
- } else {
- this.file = new DataInputStream(new BufferedInputStream(file, BUFSIZE));
- }
- }
-
-
- /** Parse class from given .class file.
- *
- * @param file_name file name
- */
- public ClassParser(String file_name) throws IOException {
- is_zip = false;
- this.file_name = file_name;
- fileOwned = true;
- }
-
-
- /** Parse class from given .class file in a ZIP-archive
- *
- * @param zip_file zip file name
- * @param file_name file name
- */
- public ClassParser(String zip_file, String file_name) {
- is_zip = true;
- fileOwned = true;
- this.zip_file = zip_file;
- this.file_name = file_name;
- }
-
-
- /**
- * Parse the given Java class file and return an object that represents
- * the contained data, i.e., constants, methods, fields and commands.
- * A ClassFormatException is raised, if the file is not a valid
- * .class file. (This does not include verification of the byte code as it
- * is performed by the java interpreter).
- *
- * @return Class object representing the parsed class file
- * @throws IOException
- * @throws ClassFormatException
- */
- public JavaClass parse() throws IOException, ClassFormatException {
- ZipFile zip = null;
- try {
- if (fileOwned) {
- if (is_zip) {
- zip = new ZipFile(zip_file);
- ZipEntry entry = zip.getEntry(file_name);
- file = new DataInputStream(new BufferedInputStream(zip.getInputStream(entry),
- BUFSIZE));
- } else {
- file = new DataInputStream(new BufferedInputStream(new FileInputStream(
- file_name), BUFSIZE));
- }
- }
- /****************** Read headers ********************************/
- // Check magic tag of class file
- readID();
- // Get compiler version
- readVersion();
- /****************** Read constant pool and related **************/
- // Read constant pool entries
- readConstantPool();
- // Get class information
- readClassInfo();
- // Get interface information, i.e., implemented interfaces
- readInterfaces();
- /****************** Read class fields and methods ***************/
- // Read class fields, i.e., the variables of the class
- readFields();
- // Read class methods, i.e., the functions in the class
- readMethods();
- // Read class attributes
- readAttributes();
- // Check for unknown variables
- //Unknown[] u = Unknown.getUnknownAttributes();
- //for(int i=0; i < u.length; i++)
- // System.err.println("WARNING: " + u[i]);
- // Everything should have been read now
- // if(file.available() > 0) {
- // int bytes = file.available();
- // byte[] buf = new byte[bytes];
- // file.read(buf);
- // if(!(is_zip && (buf.length == 1))) {
- // System.err.println("WARNING: Trailing garbage at end of " + file_name);
- // System.err.println(bytes + " extra bytes: " + Utility.toHexString(buf));
- // }
- // }
- } catch (IOException ioe) {
- // this is just temporary to find the cause for the strange
- // ClassFormatException that is raised randomly during the JaMoPP
- // bulk tests
- ioe.printStackTrace();
- throw ioe;
- } finally {
- // Read everything of interest, so close the file
- if (fileOwned) {
- file.close();
- if (zip != null) {
- zip.close();
- }
- }
- }
- // Return the information we have gathered in a new object
- return new JavaClass(class_name_index, superclass_name_index, file_name, major, minor,
- access_flags, constant_pool, interfaces, fields, methods, attributes, is_zip
- ? JavaClass.ZIP
- : JavaClass.FILE);
- }
-
-
- /**
- * Read information about the attributes of the class.
- * @throws IOException
- * @throws ClassFormatException
- */
- private final void readAttributes() throws IOException, ClassFormatException {
- int attributes_count;
- attributes_count = file.readUnsignedShort();
- attributes = new Attribute[attributes_count];
- for (int i = 0; i < attributes_count; i++) {
- attributes[i] = Attribute.readAttribute(file, constant_pool);
- }
- }
-
-
- /**
- * Read information about the class and its super class.
- * @throws IOException
- * @throws ClassFormatException
- */
- private final void readClassInfo() throws IOException, ClassFormatException {
- access_flags = file.readUnsignedShort();
- /* Interfaces are implicitely abstract, the flag should be set
- * according to the JVM specification.
- */
- if ((access_flags & Constants.ACC_INTERFACE) != 0) {
- access_flags |= Constants.ACC_ABSTRACT;
- }
- if (((access_flags & Constants.ACC_ABSTRACT) != 0)
- && ((access_flags & Constants.ACC_FINAL) != 0)) {
- throw new ClassFormatException("Class can't be both final and abstract");
- }
- class_name_index = file.readUnsignedShort();
- superclass_name_index = file.readUnsignedShort();
- }
-
-
- /**
- * Read constant pool entries.
- * @throws IOException
- * @throws ClassFormatException
- */
- private final void readConstantPool() throws IOException, ClassFormatException {
- constant_pool = new ConstantPool(file);
- }
-
-
- /**
- * Read information about the fields of the class, i.e., its variables.
- * @throws IOException
- * @throws ClassFormatException
- */
- private final void readFields() throws IOException, ClassFormatException {
- int fields_count;
- fields_count = file.readUnsignedShort();
- fields = new Field[fields_count];
- for (int i = 0; i < fields_count; i++) {
- fields[i] = new Field(file, constant_pool);
- }
- }
-
-
- /******************** Private utility methods **********************/
- /**
- * Check whether the header of the file is ok.
- * Of course, this has to be the first action on successive file reads.
- * @throws IOException
- * @throws ClassFormatException
- */
- private final void readID() throws IOException, ClassFormatException {
- int magic = 0xCAFEBABE;
- if (file.readInt() != magic) {
- throw new ClassFormatException(file_name + " is not a Java .class file");
- }
- }
-
-
- /**
- * Read information about the interfaces implemented by this class.
- * @throws IOException
- * @throws ClassFormatException
- */
- private final void readInterfaces() throws IOException, ClassFormatException {
- int interfaces_count;
- interfaces_count = file.readUnsignedShort();
- interfaces = new int[interfaces_count];
- for (int i = 0; i < interfaces_count; i++) {
- interfaces[i] = file.readUnsignedShort();
- }
- }
-
-
- /**
- * Read information about the methods of the class.
- * @throws IOException
- * @throws ClassFormatException
- */
- private final void readMethods() throws IOException, ClassFormatException {
- int methods_count;
- methods_count = file.readUnsignedShort();
- methods = new Method[methods_count];
- for (int i = 0; i < methods_count; i++) {
- methods[i] = new Method(file, constant_pool);
- }
- }
-
-
- /**
- * Read major and minor version of compiler which created the file.
- * @throws IOException
- * @throws ClassFormatException
- */
- private final void readVersion() throws IOException, ClassFormatException {
- minor = file.readUnsignedShort();
- major = file.readUnsignedShort();
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.BufferedInputStream;
+import java.io.DataInputStream;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
+
+import org.apache.bcel.Const;
+
+/**
+ * Wrapper class that parses a given Java .class file. The method parse returns a
+ * JavaClass object on success. When an I/O error or an
+ * inconsistency occurs an appropiate exception is propagated back to
+ * the caller.
+ *
+ * The structure and the names comply, except for a few conveniences,
+ * exactly with the
+ * JVM specification 1.0. See this paper for
+ * further details about the structure of a bytecode file.
+ *
+ * @version $Id: ClassParser.java 1749603 2016-06-21 20:50:19Z ggregory $
+ */
+public final class ClassParser {
+
+ private DataInputStream dataInputStream;
+ private final boolean fileOwned;
+ private final String file_name;
+ private String zip_file;
+ private int class_name_index;
+ private int superclass_name_index;
+ private int major; // Compiler version
+ private int minor; // Compiler version
+ private int access_flags; // Access rights of parsed class
+ private int[] interfaces; // Names of implemented interfaces
+ private ConstantPool constant_pool; // collection of constants
+ private Field[] fields; // class fields, i.e., its variables
+ private Method[] methods; // methods defined in the class
+ private Attribute[] attributes; // attributes defined in the class
+ private final boolean is_zip; // Loaded from zip file
+ private static final int BUFSIZE = 8192;
+
+
+ /**
+ * Parse class from the given stream.
+ *
+ * @param inputStream Input stream
+ * @param file_name File name
+ */
+ public ClassParser(final InputStream inputStream, final String file_name) {
+ this.file_name = file_name;
+ fileOwned = false;
+ final String clazz = inputStream.getClass().getName(); // Not a very clean solution ...
+ is_zip = clazz.startsWith("java.util.zip.") || clazz.startsWith("java.util.jar.");
+ if (inputStream instanceof DataInputStream) {
+ this.dataInputStream = (DataInputStream) inputStream;
+ } else {
+ this.dataInputStream = new DataInputStream(new BufferedInputStream(inputStream, BUFSIZE));
+ }
+ }
+
+
+ /** Parse class from given .class file.
+ *
+ * @param file_name file name
+ */
+ public ClassParser(final String file_name) {
+ is_zip = false;
+ this.file_name = file_name;
+ fileOwned = true;
+ }
+
+
+ /** Parse class from given .class file in a ZIP-archive
+ *
+ * @param zip_file zip file name
+ * @param file_name file name
+ */
+ public ClassParser(final String zip_file, final String file_name) {
+ is_zip = true;
+ fileOwned = true;
+ this.zip_file = zip_file;
+ this.file_name = file_name;
+ }
+
+
+ /**
+ * Parse the given Java class file and return an object that represents
+ * the contained data, i.e., constants, methods, fields and commands.
+ * A ClassFormatException is raised, if the file is not a valid
+ * .class file. (This does not include verification of the byte code as it
+ * is performed by the java interpreter).
+ *
+ * @return Class object representing the parsed class file
+ * @throws IOException
+ * @throws ClassFormatException
+ */
+ public JavaClass parse() throws IOException, ClassFormatException {
+ ZipFile zip = null;
+ try {
+ if (fileOwned) {
+ if (is_zip) {
+ zip = new ZipFile(zip_file);
+ final ZipEntry entry = zip.getEntry(file_name);
+
+ if (entry == null) {
+ throw new IOException("File " + file_name + " not found");
+ }
+
+ dataInputStream = new DataInputStream(new BufferedInputStream(zip.getInputStream(entry),
+ BUFSIZE));
+ } else {
+ dataInputStream = new DataInputStream(new BufferedInputStream(new FileInputStream(
+ file_name), BUFSIZE));
+ }
+ }
+ /****************** Read headers ********************************/
+ // Check magic tag of class file
+ readID();
+ // Get compiler version
+ readVersion();
+ /****************** Read constant pool and related **************/
+ // Read constant pool entries
+ readConstantPool();
+ // Get class information
+ readClassInfo();
+ // Get interface information, i.e., implemented interfaces
+ readInterfaces();
+ /****************** Read class fields and methods ***************/
+ // Read class fields, i.e., the variables of the class
+ readFields();
+ // Read class methods, i.e., the functions in the class
+ readMethods();
+ // Read class attributes
+ readAttributes();
+ // Check for unknown variables
+ //Unknown[] u = Unknown.getUnknownAttributes();
+ //for (int i=0; i < u.length; i++)
+ // System.err.println("WARNING: " + u[i]);
+ // Everything should have been read now
+ // if(file.available() > 0) {
+ // int bytes = file.available();
+ // byte[] buf = new byte[bytes];
+ // file.read(buf);
+ // if(!(is_zip && (buf.length == 1))) {
+ // System.err.println("WARNING: Trailing garbage at end of " + file_name);
+ // System.err.println(bytes + " extra bytes: " + Utility.toHexString(buf));
+ // }
+ // }
+ } finally {
+ // Read everything of interest, so close the file
+ if (fileOwned) {
+ try {
+ if (dataInputStream != null) {
+ dataInputStream.close();
+ }
+ } catch (final IOException ioe) {
+ //ignore close exceptions
+ }
+ }
+ try {
+ if (zip != null) {
+ zip.close();
+ }
+ } catch (final IOException ioe) {
+ //ignore close exceptions
+ }
+ }
+ // Return the information we have gathered in a new object
+ return new JavaClass(class_name_index, superclass_name_index, file_name, major, minor,
+ access_flags, constant_pool, interfaces, fields, methods, attributes, is_zip
+ ? JavaClass.ZIP
+ : JavaClass.FILE);
+ }
+
+
+ /**
+ * Read information about the attributes of the class.
+ * @throws IOException
+ * @throws ClassFormatException
+ */
+ private void readAttributes() throws IOException, ClassFormatException {
+ final int attributes_count = dataInputStream.readUnsignedShort();
+ attributes = new Attribute[attributes_count];
+ for (int i = 0; i < attributes_count; i++) {
+ attributes[i] = Attribute.readAttribute(dataInputStream, constant_pool);
+ }
+ }
+
+
+ /**
+ * Read information about the class and its super class.
+ * @throws IOException
+ * @throws ClassFormatException
+ */
+ private void readClassInfo() throws IOException, ClassFormatException {
+ access_flags = dataInputStream.readUnsignedShort();
+ /* Interfaces are implicitely abstract, the flag should be set
+ * according to the JVM specification.
+ */
+ if ((access_flags & Const.ACC_INTERFACE) != 0) {
+ access_flags |= Const.ACC_ABSTRACT;
+ }
+ if (((access_flags & Const.ACC_ABSTRACT) != 0)
+ && ((access_flags & Const.ACC_FINAL) != 0)) {
+ throw new ClassFormatException("Class " + file_name + " can't be both final and abstract");
+ }
+ class_name_index = dataInputStream.readUnsignedShort();
+ superclass_name_index = dataInputStream.readUnsignedShort();
+ }
+
+
+ /**
+ * Read constant pool entries.
+ * @throws IOException
+ * @throws ClassFormatException
+ */
+ private void readConstantPool() throws IOException, ClassFormatException {
+ constant_pool = new ConstantPool(dataInputStream);
+ }
+
+
+ /**
+ * Read information about the fields of the class, i.e., its variables.
+ * @throws IOException
+ * @throws ClassFormatException
+ */
+ private void readFields() throws IOException, ClassFormatException {
+ final int fields_count = dataInputStream.readUnsignedShort();
+ fields = new Field[fields_count];
+ for (int i = 0; i < fields_count; i++) {
+ fields[i] = new Field(dataInputStream, constant_pool);
+ }
+ }
+
+
+ /******************** Private utility methods **********************/
+ /**
+ * Check whether the header of the file is ok.
+ * Of course, this has to be the first action on successive file reads.
+ * @throws IOException
+ * @throws ClassFormatException
+ */
+ private void readID() throws IOException, ClassFormatException {
+ if (dataInputStream.readInt() != Const.JVM_CLASSFILE_MAGIC) {
+ throw new ClassFormatException(file_name + " is not a Java .class file");
+ }
+ }
+
+
+ /**
+ * Read information about the interfaces implemented by this class.
+ * @throws IOException
+ * @throws ClassFormatException
+ */
+ private void readInterfaces() throws IOException, ClassFormatException {
+ final int interfaces_count = dataInputStream.readUnsignedShort();
+ interfaces = new int[interfaces_count];
+ for (int i = 0; i < interfaces_count; i++) {
+ interfaces[i] = dataInputStream.readUnsignedShort();
+ }
+ }
+
+
+ /**
+ * Read information about the methods of the class.
+ * @throws IOException
+ * @throws ClassFormatException
+ */
+ private void readMethods() throws IOException, ClassFormatException {
+ final int methods_count = dataInputStream.readUnsignedShort();
+ methods = new Method[methods_count];
+ for (int i = 0; i < methods_count; i++) {
+ methods[i] = new Method(dataInputStream, constant_pool);
+ }
+ }
+
+
+ /**
+ * Read major and minor version of compiler which created the file.
+ * @throws IOException
+ * @throws ClassFormatException
+ */
+ private void readVersion() throws IOException, ClassFormatException {
+ minor = dataInputStream.readUnsignedShort();
+ major = dataInputStream.readUnsignedShort();
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/Code.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Code.java
old mode 100755
new mode 100644
similarity index 58%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/Code.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Code.java
index a746617a..95e3f34a
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/Code.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Code.java
@@ -1,352 +1,355 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.classfile;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import org.apache.bcel5_2_0.Constants;
-
-/**
- * This class represents a chunk of Java byte code contained in a
- * method. It is instantiated by the
- * Attribute.readAttribute() method. A Code
- * attribute contains informations about operand stack, local
- * variables, byte code and the exceptions handled within this
- * method.
- *
- * This attribute has attributes itself, namely LineNumberTable which
- * is used for debugging purposes and LocalVariableTable which
- * contains information about the local variables.
- *
- * @version $Id: Code.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- * @see Attribute
- * @see CodeException
- * @see LineNumberTable
- * @see LocalVariableTable
- */
-public final class Code extends Attribute {
-
- private int max_stack; // Maximum size of stack used by this method
- private int max_locals; // Number of local variables
- private int code_length; // Length of code in bytes
- private byte[] code; // Actual byte code
- private int exception_table_length;
- private CodeException[] exception_table; // Table of handled exceptions
- private int attributes_count; // Attributes of code: LineNumber
- private Attribute[] attributes; // or LocalVariable
-
-
- /**
- * Initialize from another object. Note that both objects use the same
- * references (shallow copy). Use copy() for a physical copy.
- */
- public Code(Code c) {
- this(c.getNameIndex(), c.getLength(), c.getMaxStack(), c.getMaxLocals(), c.getCode(), c
- .getExceptionTable(), c.getAttributes(), c.getConstantPool());
- }
-
-
- /**
- * @param name_index Index pointing to the name Code
- * @param length Content length in bytes
- * @param file Input stream
- * @param constant_pool Array of constants
- */
- Code(int name_index, int length, DataInputStream file, ConstantPool constant_pool)
- throws IOException {
- // Initialize with some default values which will be overwritten later
- this(name_index, length, file.readUnsignedShort(), file.readUnsignedShort(), (byte[]) null,
- (CodeException[]) null, (Attribute[]) null, constant_pool);
- code_length = file.readInt();
- code = new byte[code_length]; // Read byte code
- file.readFully(code);
- /* Read exception table that contains all regions where an exception
- * handler is active, i.e., a try { ... } catch() block.
- */
- exception_table_length = file.readUnsignedShort();
- exception_table = new CodeException[exception_table_length];
- for (int i = 0; i < exception_table_length; i++) {
- exception_table[i] = new CodeException(file);
- }
- /* Read all attributes, currently `LineNumberTable' and
- * `LocalVariableTable'
- */
- attributes_count = file.readUnsignedShort();
- attributes = new Attribute[attributes_count];
- for (int i = 0; i < attributes_count; i++) {
- attributes[i] = Attribute.readAttribute(file, constant_pool);
- }
- /* Adjust length, because of setAttributes in this(), s.b. length
- * is incorrect, because it didn't take the internal attributes
- * into account yet! Very subtle bug, fixed in 3.1.1.
- */
- this.length = length;
- }
-
-
- /**
- * @param name_index Index pointing to the name Code
- * @param length Content length in bytes
- * @param max_stack Maximum size of stack
- * @param max_locals Number of local variables
- * @param code Actual byte code
- * @param exception_table Table of handled exceptions
- * @param attributes Attributes of code: LineNumber or LocalVariable
- * @param constant_pool Array of constants
- */
- public Code(int name_index, int length, int max_stack, int max_locals, byte[] code,
- CodeException[] exception_table, Attribute[] attributes, ConstantPool constant_pool) {
- super(Constants.ATTR_CODE, name_index, length, constant_pool);
- this.max_stack = max_stack;
- this.max_locals = max_locals;
- setCode(code);
- setExceptionTable(exception_table);
- setAttributes(attributes); // Overwrites length!
- }
-
-
- /**
- * Called by objects that are traversing the nodes of the tree implicitely
- * defined by the contents of a Java class. I.e., the hierarchy of methods,
- * fields, attributes, etc. spawns a tree of objects.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitCode(this);
- }
-
-
- /**
- * Dump code attribute to file stream in binary format.
- *
- * @param file Output file stream
- * @throws IOException
- */
- public final void dump( DataOutputStream file ) throws IOException {
- super.dump(file);
- file.writeShort(max_stack);
- file.writeShort(max_locals);
- file.writeInt(code_length);
- file.write(code, 0, code_length);
- file.writeShort(exception_table_length);
- for (int i = 0; i < exception_table_length; i++) {
- exception_table[i].dump(file);
- }
- file.writeShort(attributes_count);
- for (int i = 0; i < attributes_count; i++) {
- attributes[i].dump(file);
- }
- }
-
-
- /**
- * @return Collection of code attributes.
- * @see Attribute
- */
- public final Attribute[] getAttributes() {
- return attributes;
- }
-
-
- /**
- * @return LineNumberTable of Code, if it has one
- */
- public LineNumberTable getLineNumberTable() {
- for (int i = 0; i < attributes_count; i++) {
- if (attributes[i] instanceof LineNumberTable) {
- return (LineNumberTable) attributes[i];
- }
- }
- return null;
- }
-
-
- /**
- * @return LocalVariableTable of Code, if it has one
- */
- public LocalVariableTable getLocalVariableTable() {
- for (int i = 0; i < attributes_count; i++) {
- if (attributes[i] instanceof LocalVariableTable) {
- return (LocalVariableTable) attributes[i];
- }
- }
- return null;
- }
-
-
- /**
- * @return Actual byte code of the method.
- */
- public final byte[] getCode() {
- return code;
- }
-
-
- /**
- * @return Table of handled exceptions.
- * @see CodeException
- */
- public final CodeException[] getExceptionTable() {
- return exception_table;
- }
-
-
- /**
- * @return Number of local variables.
- */
- public final int getMaxLocals() {
- return max_locals;
- }
-
-
- /**
- * @return Maximum size of stack used by this method.
- */
- public final int getMaxStack() {
- return max_stack;
- }
-
-
- /**
- * @return the internal length of this code attribute (minus the first 6 bytes)
- * and excluding all its attributes
- */
- private final int getInternalLength() {
- return 2 /*max_stack*/+ 2 /*max_locals*/+ 4 /*code length*/
- + code_length /*byte-code*/
- + 2 /*exception-table length*/
- + 8 * exception_table_length /* exception table */
- + 2 /* attributes count */;
- }
-
-
- /**
- * @return the full size of this code attribute, minus its first 6 bytes,
- * including the size of all its contained attributes
- */
- private final int calculateLength() {
- int len = 0;
- for (int i = 0; i < attributes_count; i++) {
- len += attributes[i].length + 6 /*attribute header size*/;
- }
- return len + getInternalLength();
- }
-
-
- /**
- * @param attributes the attributes to set for this Code
- */
- public final void setAttributes( Attribute[] attributes ) {
- this.attributes = attributes;
- attributes_count = (attributes == null) ? 0 : attributes.length;
- length = calculateLength(); // Adjust length
- }
-
-
- /**
- * @param code byte code
- */
- public final void setCode( byte[] code ) {
- this.code = code;
- code_length = (code == null) ? 0 : code.length;
- }
-
-
- /**
- * @param exception_table exception table
- */
- public final void setExceptionTable( CodeException[] exception_table ) {
- this.exception_table = exception_table;
- exception_table_length = (exception_table == null) ? 0 : exception_table.length;
- }
-
-
- /**
- * @param max_locals maximum number of local variables
- */
- public final void setMaxLocals( int max_locals ) {
- this.max_locals = max_locals;
- }
-
-
- /**
- * @param max_stack maximum stack size
- */
- public final void setMaxStack( int max_stack ) {
- this.max_stack = max_stack;
- }
-
-
- /**
- * @return String representation of code chunk.
- */
- public final String toString( boolean verbose ) {
- StringBuilder buf = new StringBuilder(100);
- buf.append("Code(max_stack = ").append(max_stack).append(", max_locals = ").append(
- max_locals).append(", code_length = ").append(code_length).append(")\n").append(
- Utility.codeToString(code, constant_pool, 0, -1, verbose));
- if (exception_table_length > 0) {
- buf.append("\nException handler(s) = \n").append("From\tTo\tHandler\tType\n");
- for (int i = 0; i < exception_table_length; i++) {
- buf.append(exception_table[i].toString(constant_pool, verbose)).append("\n");
- }
- }
- if (attributes_count > 0) {
- buf.append("\nAttribute(s) = \n");
- for (int i = 0; i < attributes_count; i++) {
- buf.append(attributes[i].toString()).append("\n");
- }
- }
- return buf.toString();
- }
-
-
- /**
- * @return String representation of code chunk.
- */
- public final String toString() {
- return toString(true);
- }
-
-
- /**
- * @return deep copy of this attribute
- *
- * @param _constant_pool the constant pool to duplicate
- */
- public Attribute copy( ConstantPool _constant_pool ) {
- Code c = (Code) clone();
- if (code != null) {
- c.code = new byte[code.length];
- System.arraycopy(code, 0, c.code, 0, code.length);
- }
- c.constant_pool = _constant_pool;
- c.exception_table = new CodeException[exception_table_length];
- for (int i = 0; i < exception_table_length; i++) {
- c.exception_table[i] = exception_table[i].copy();
- }
- c.attributes = new Attribute[attributes_count];
- for (int i = 0; i < attributes_count; i++) {
- c.attributes[i] = attributes[i].copy(_constant_pool);
- }
- return c;
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class represents a chunk of Java byte code contained in a
+ * method. It is instantiated by the
+ * Attribute.readAttribute() method. A Code
+ * attribute contains informations about operand stack, local
+ * variables, byte code and the exceptions handled within this
+ * method.
+ *
+ * This attribute has attributes itself, namely LineNumberTable which
+ * is used for debugging purposes and LocalVariableTable which
+ * contains information about the local variables.
+ *
+ * @version $Id: Code.java 1806200 2017-08-25 16:33:06Z ggregory $
+ * @see Attribute
+ * @see CodeException
+ * @see LineNumberTable
+ * @see LocalVariableTable
+ */
+public final class Code extends Attribute {
+
+ private int max_stack; // Maximum size of stack used by this method // TODO this could be made final (setter is not used)
+ private int max_locals; // Number of local variables // TODO this could be made final (setter is not used)
+ private byte[] code; // Actual byte code
+ private CodeException[] exception_table; // Table of handled exceptions
+ private Attribute[] attributes; // or LocalVariable
+
+
+ /**
+ * Initialize from another object. Note that both objects use the same
+ * references (shallow copy). Use copy() for a physical copy.
+ */
+ public Code(final Code c) {
+ this(c.getNameIndex(), c.getLength(), c.getMaxStack(), c.getMaxLocals(), c.getCode(), c
+ .getExceptionTable(), c.getAttributes(), c.getConstantPool());
+ }
+
+
+ /**
+ * @param name_index Index pointing to the name Code
+ * @param length Content length in bytes
+ * @param file Input stream
+ * @param constant_pool Array of constants
+ */
+ Code(final int name_index, final int length, final DataInput file, final ConstantPool constant_pool)
+ throws IOException {
+ // Initialize with some default values which will be overwritten later
+ this(name_index, length, file.readUnsignedShort(), file.readUnsignedShort(), (byte[]) null,
+ (CodeException[]) null, (Attribute[]) null, constant_pool);
+ final int code_length = file.readInt();
+ code = new byte[code_length]; // Read byte code
+ file.readFully(code);
+ /* Read exception table that contains all regions where an exception
+ * handler is active, i.e., a try { ... } catch() block.
+ */
+ final int exception_table_length = file.readUnsignedShort();
+ exception_table = new CodeException[exception_table_length];
+ for (int i = 0; i < exception_table_length; i++) {
+ exception_table[i] = new CodeException(file);
+ }
+ /* Read all attributes, currently `LineNumberTable' and
+ * `LocalVariableTable'
+ */
+ final int attributes_count = file.readUnsignedShort();
+ attributes = new Attribute[attributes_count];
+ for (int i = 0; i < attributes_count; i++) {
+ attributes[i] = Attribute.readAttribute(file, constant_pool);
+ }
+ /* Adjust length, because of setAttributes in this(), s.b. length
+ * is incorrect, because it didn't take the internal attributes
+ * into account yet! Very subtle bug, fixed in 3.1.1.
+ */
+ super.setLength(length);
+ }
+
+
+ /**
+ * @param name_index Index pointing to the name Code
+ * @param length Content length in bytes
+ * @param max_stack Maximum size of stack
+ * @param max_locals Number of local variables
+ * @param code Actual byte code
+ * @param exception_table Table of handled exceptions
+ * @param attributes Attributes of code: LineNumber or LocalVariable
+ * @param constant_pool Array of constants
+ */
+ public Code(final int name_index, final int length, final int max_stack, final int max_locals, final byte[] code,
+ final CodeException[] exception_table, final Attribute[] attributes, final ConstantPool constant_pool) {
+ super(Const.ATTR_CODE, name_index, length, constant_pool);
+ this.max_stack = max_stack;
+ this.max_locals = max_locals;
+ this.code = code != null ? code : new byte[0];
+ this.exception_table = exception_table != null ? exception_table : new CodeException[0];
+ this.attributes = attributes != null ? attributes : new Attribute[0];
+ super.setLength(calculateLength()); // Adjust length
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitely
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitCode(this);
+ }
+
+
+ /**
+ * Dump code attribute to file stream in binary format.
+ *
+ * @param file Output file stream
+ * @throws IOException
+ */
+ @Override
+ public final void dump( final DataOutputStream file ) throws IOException {
+ super.dump(file);
+ file.writeShort(max_stack);
+ file.writeShort(max_locals);
+ file.writeInt(code.length);
+ file.write(code, 0, code.length);
+ file.writeShort(exception_table.length);
+ for (final CodeException exception : exception_table) {
+ exception.dump(file);
+ }
+ file.writeShort(attributes.length);
+ for (final Attribute attribute : attributes) {
+ attribute.dump(file);
+ }
+ }
+
+
+ /**
+ * @return Collection of code attributes.
+ * @see Attribute
+ */
+ public final Attribute[] getAttributes() {
+ return attributes;
+ }
+
+
+ /**
+ * @return LineNumberTable of Code, if it has one
+ */
+ public LineNumberTable getLineNumberTable() {
+ for (final Attribute attribute : attributes) {
+ if (attribute instanceof LineNumberTable) {
+ return (LineNumberTable) attribute;
+ }
+ }
+ return null;
+ }
+
+
+ /**
+ * @return LocalVariableTable of Code, if it has one
+ */
+ public LocalVariableTable getLocalVariableTable() {
+ for (final Attribute attribute : attributes) {
+ if (attribute instanceof LocalVariableTable) {
+ return (LocalVariableTable) attribute;
+ }
+ }
+ return null;
+ }
+
+
+ /**
+ * @return Actual byte code of the method.
+ */
+ public final byte[] getCode() {
+ return code;
+ }
+
+
+ /**
+ * @return Table of handled exceptions.
+ * @see CodeException
+ */
+ public final CodeException[] getExceptionTable() {
+ return exception_table;
+ }
+
+
+ /**
+ * @return Number of local variables.
+ */
+ public final int getMaxLocals() {
+ return max_locals;
+ }
+
+
+ /**
+ * @return Maximum size of stack used by this method.
+ */
+ public final int getMaxStack() {
+ return max_stack;
+ }
+
+
+ /**
+ * @return the internal length of this code attribute (minus the first 6 bytes)
+ * and excluding all its attributes
+ */
+ private int getInternalLength() {
+ return 2 /*max_stack*/+ 2 /*max_locals*/+ 4 /*code length*/
+ + code.length /*byte-code*/
+ + 2 /*exception-table length*/
+ + 8 * (exception_table == null ? 0 : exception_table.length) /* exception table */
+ + 2 /* attributes count */;
+ }
+
+
+ /**
+ * @return the full size of this code attribute, minus its first 6 bytes,
+ * including the size of all its contained attributes
+ */
+ private int calculateLength() {
+ int len = 0;
+ if (attributes != null) {
+ for (final Attribute attribute : attributes) {
+ len += attribute.getLength() + 6 /*attribute header size*/;
+ }
+ }
+ return len + getInternalLength();
+ }
+
+
+ /**
+ * @param attributes the attributes to set for this Code
+ */
+ public final void setAttributes( final Attribute[] attributes ) {
+ this.attributes = attributes != null ? attributes : new Attribute[0];
+ super.setLength(calculateLength()); // Adjust length
+ }
+
+
+ /**
+ * @param code byte code
+ */
+ public final void setCode( final byte[] code ) {
+ this.code = code != null ? code : new byte[0];
+ super.setLength(calculateLength()); // Adjust length
+ }
+
+
+ /**
+ * @param exception_table exception table
+ */
+ public final void setExceptionTable( final CodeException[] exception_table ) {
+ this.exception_table = exception_table != null ? exception_table : new CodeException[0];
+ super.setLength(calculateLength()); // Adjust length
+ }
+
+
+ /**
+ * @param max_locals maximum number of local variables
+ */
+ public final void setMaxLocals( final int max_locals ) {
+ this.max_locals = max_locals;
+ }
+
+
+ /**
+ * @param max_stack maximum stack size
+ */
+ public final void setMaxStack( final int max_stack ) {
+ this.max_stack = max_stack;
+ }
+
+
+ /**
+ * @return String representation of code chunk.
+ */
+ public final String toString( final boolean verbose ) {
+ final StringBuilder buf = new StringBuilder(100); // CHECKSTYLE IGNORE MagicNumber
+ buf.append("Code(max_stack = ").append(max_stack).append(", max_locals = ").append(
+ max_locals).append(", code_length = ").append(code.length).append(")\n").append(
+ Utility.codeToString(code, super.getConstantPool(), 0, -1, verbose));
+ if (exception_table.length > 0) {
+ buf.append("\nException handler(s) = \n").append("From\tTo\tHandler\tType\n");
+ for (final CodeException exception : exception_table) {
+ buf.append(exception.toString(super.getConstantPool(), verbose)).append("\n");
+ }
+ }
+ if (attributes.length > 0) {
+ buf.append("\nAttribute(s) = ");
+ for (final Attribute attribute : attributes) {
+ buf.append("\n").append(attribute);
+ }
+ }
+ return buf.toString();
+ }
+
+
+ /**
+ * @return String representation of code chunk.
+ */
+ @Override
+ public final String toString() {
+ return toString(true);
+ }
+
+
+ /**
+ * @return deep copy of this attribute
+ *
+ * @param _constant_pool the constant pool to duplicate
+ */
+ @Override
+ public Attribute copy( final ConstantPool _constant_pool ) {
+ final Code c = (Code) clone();
+ if (code != null) {
+ c.code = new byte[code.length];
+ System.arraycopy(code, 0, c.code, 0, code.length);
+ }
+ c.setConstantPool(_constant_pool);
+ c.exception_table = new CodeException[exception_table.length];
+ for (int i = 0; i < exception_table.length; i++) {
+ c.exception_table[i] = exception_table[i].copy();
+ }
+ c.attributes = new Attribute[attributes.length];
+ for (int i = 0; i < attributes.length; i++) {
+ c.attributes[i] = attributes[i].copy(_constant_pool);
+ }
+ return c;
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/CodeException.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/CodeException.java
old mode 100755
new mode 100644
similarity index 71%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/CodeException.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/CodeException.java
index 007d2298..0c642f0a
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/CodeException.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/CodeException.java
@@ -1,215 +1,218 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.classfile;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.io.Serializable;
-
-import org.apache.bcel5_2_0.Constants;
-
-/**
- * This class represents an entry in the exception table of the Code
- * attribute and is used only there. It contains a range in which a
- * particular exception handler is active.
- *
- * @version $Id: CodeException.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- * @see Code
- */
-public final class CodeException implements Cloneable, Constants, Node, Serializable {
-
- private int start_pc; // Range in the code the exception handler is
- private int end_pc; // active. start_pc is inclusive, end_pc exclusive
- private int handler_pc; /* Starting address of exception handler, i.e.,
- * an offset from start of code.
- */
- private int catch_type; /* If this is zero the handler catches any
- * exception, otherwise it points to the
- * exception class which is to be caught.
- */
-
-
- /**
- * Initialize from another object.
- */
- public CodeException(CodeException c) {
- this(c.getStartPC(), c.getEndPC(), c.getHandlerPC(), c.getCatchType());
- }
-
-
- /**
- * Construct object from file stream.
- * @param file Input stream
- * @throws IOException
- */
- CodeException(DataInputStream file) throws IOException {
- this(file.readUnsignedShort(), file.readUnsignedShort(), file.readUnsignedShort(), file
- .readUnsignedShort());
- }
-
-
- /**
- * @param start_pc Range in the code the exception handler is active,
- * start_pc is inclusive while
- * @param end_pc is exclusive
- * @param handler_pc Starting address of exception handler, i.e.,
- * an offset from start of code.
- * @param catch_type If zero the handler catches any
- * exception, otherwise it points to the exception class which is
- * to be caught.
- */
- public CodeException(int start_pc, int end_pc, int handler_pc, int catch_type) {
- this.start_pc = start_pc;
- this.end_pc = end_pc;
- this.handler_pc = handler_pc;
- this.catch_type = catch_type;
- }
-
-
- /**
- * Called by objects that are traversing the nodes of the tree implicitely
- * defined by the contents of a Java class. I.e., the hierarchy of methods,
- * fields, attributes, etc. spawns a tree of objects.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitCodeException(this);
- }
-
-
- /**
- * Dump code exception to file stream in binary format.
- *
- * @param file Output file stream
- * @throws IOException
- */
- public final void dump( DataOutputStream file ) throws IOException {
- file.writeShort(start_pc);
- file.writeShort(end_pc);
- file.writeShort(handler_pc);
- file.writeShort(catch_type);
- }
-
-
- /**
- * @return 0, if the handler catches any exception, otherwise it points to
- * the exception class which is to be caught.
- */
- public final int getCatchType() {
- return catch_type;
- }
-
-
- /**
- * @return Exclusive end index of the region where the handler is active.
- */
- public final int getEndPC() {
- return end_pc;
- }
-
-
- /**
- * @return Starting address of exception handler, relative to the code.
- */
- public final int getHandlerPC() {
- return handler_pc;
- }
-
-
- /**
- * @return Inclusive start index of the region where the handler is active.
- */
- public final int getStartPC() {
- return start_pc;
- }
-
-
- /**
- * @param catch_type the type of exception that is caught
- */
- public final void setCatchType( int catch_type ) {
- this.catch_type = catch_type;
- }
-
-
- /**
- * @param end_pc end of handled block
- */
- public final void setEndPC( int end_pc ) {
- this.end_pc = end_pc;
- }
-
-
- /**
- * @param handler_pc where the actual code is
- */
- public final void setHandlerPC( int handler_pc ) {
- this.handler_pc = handler_pc;
- }
-
-
- /**
- * @param start_pc start of handled block
- */
- public final void setStartPC( int start_pc ) {
- this.start_pc = start_pc;
- }
-
-
- /**
- * @return String representation.
- */
- public final String toString() {
- return "CodeException(start_pc = " + start_pc + ", end_pc = " + end_pc + ", handler_pc = "
- + handler_pc + ", catch_type = " + catch_type + ")";
- }
-
-
- /**
- * @return String representation.
- */
- public final String toString( ConstantPool cp, boolean verbose ) {
- String str;
- if (catch_type == 0) {
- str = "(0)";
- } else {
- str = Utility.compactClassName(cp.getConstantString(catch_type, CONSTANT_Class), false)
- + (verbose ? "(" + catch_type + ")" : "");
- }
- return start_pc + "\t" + end_pc + "\t" + handler_pc + "\t" + str;
- }
-
-
- public final String toString( ConstantPool cp ) {
- return toString(cp, true);
- }
-
-
- /**
- * @return deep copy of this object
- */
- public CodeException copy() {
- try {
- return (CodeException) clone();
- } catch (CloneNotSupportedException e) {
- }
- return null;
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+import org.apache.bcel.Constants;
+
+/**
+ * This class represents an entry in the exception table of the Code
+ * attribute and is used only there. It contains a range in which a
+ * particular exception handler is active.
+ *
+ * @version $Id: CodeException.java 1806200 2017-08-25 16:33:06Z ggregory $
+ * @see Code
+ */
+public final class CodeException implements Cloneable, Node, Constants {
+
+ private int start_pc; // Range in the code the exception handler is
+ private int end_pc; // active. start_pc is inclusive, end_pc exclusive
+ private int handler_pc; /* Starting address of exception handler, i.e.,
+ * an offset from start of code.
+ */
+ private int catch_type; /* If this is zero the handler catches any
+ * exception, otherwise it points to the
+ * exception class which is to be caught.
+ */
+
+
+ /**
+ * Initialize from another object.
+ */
+ public CodeException(final CodeException c) {
+ this(c.getStartPC(), c.getEndPC(), c.getHandlerPC(), c.getCatchType());
+ }
+
+
+ /**
+ * Construct object from file stream.
+ * @param file Input stream
+ * @throws IOException
+ */
+ CodeException(final DataInput file) throws IOException {
+ this(file.readUnsignedShort(), file.readUnsignedShort(), file.readUnsignedShort(), file
+ .readUnsignedShort());
+ }
+
+
+ /**
+ * @param start_pc Range in the code the exception handler is active,
+ * start_pc is inclusive while
+ * @param end_pc is exclusive
+ * @param handler_pc Starting address of exception handler, i.e.,
+ * an offset from start of code.
+ * @param catch_type If zero the handler catches any
+ * exception, otherwise it points to the exception class which is
+ * to be caught.
+ */
+ public CodeException(final int start_pc, final int end_pc, final int handler_pc, final int catch_type) {
+ this.start_pc = start_pc;
+ this.end_pc = end_pc;
+ this.handler_pc = handler_pc;
+ this.catch_type = catch_type;
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitely
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitCodeException(this);
+ }
+
+
+ /**
+ * Dump code exception to file stream in binary format.
+ *
+ * @param file Output file stream
+ * @throws IOException
+ */
+ public final void dump( final DataOutputStream file ) throws IOException {
+ file.writeShort(start_pc);
+ file.writeShort(end_pc);
+ file.writeShort(handler_pc);
+ file.writeShort(catch_type);
+ }
+
+
+ /**
+ * @return 0, if the handler catches any exception, otherwise it points to
+ * the exception class which is to be caught.
+ */
+ public final int getCatchType() {
+ return catch_type;
+ }
+
+
+ /**
+ * @return Exclusive end index of the region where the handler is active.
+ */
+ public final int getEndPC() {
+ return end_pc;
+ }
+
+
+ /**
+ * @return Starting address of exception handler, relative to the code.
+ */
+ public final int getHandlerPC() {
+ return handler_pc;
+ }
+
+
+ /**
+ * @return Inclusive start index of the region where the handler is active.
+ */
+ public final int getStartPC() {
+ return start_pc;
+ }
+
+
+ /**
+ * @param catch_type the type of exception that is caught
+ */
+ public final void setCatchType( final int catch_type ) {
+ this.catch_type = catch_type;
+ }
+
+
+ /**
+ * @param end_pc end of handled block
+ */
+ public final void setEndPC( final int end_pc ) {
+ this.end_pc = end_pc;
+ }
+
+
+ /**
+ * @param handler_pc where the actual code is
+ */
+ public final void setHandlerPC( final int handler_pc ) { // TODO unused
+ this.handler_pc = handler_pc;
+ }
+
+
+ /**
+ * @param start_pc start of handled block
+ */
+ public final void setStartPC( final int start_pc ) { // TODO unused
+ this.start_pc = start_pc;
+ }
+
+
+ /**
+ * @return String representation.
+ */
+ @Override
+ public final String toString() {
+ return "CodeException(start_pc = " + start_pc + ", end_pc = " + end_pc + ", handler_pc = "
+ + handler_pc + ", catch_type = " + catch_type + ")";
+ }
+
+
+ /**
+ * @return String representation.
+ */
+ public final String toString( final ConstantPool cp, final boolean verbose ) {
+ String str;
+ if (catch_type == 0) {
+ str = "(0)";
+ } else {
+ str = Utility.compactClassName(cp.getConstantString(catch_type, Const.CONSTANT_Class), false)
+ + (verbose ? "(" + catch_type + ")" : "");
+ }
+ return start_pc + "\t" + end_pc + "\t" + handler_pc + "\t" + str;
+ }
+
+
+ public final String toString( final ConstantPool cp ) {
+ return toString(cp, true);
+ }
+
+
+ /**
+ * @return deep copy of this object
+ */
+ public CodeException copy() {
+ try {
+ return (CodeException) clone();
+ } catch (final CloneNotSupportedException e) {
+ // TODO should this throw?
+ }
+ return null;
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Constant.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Constant.java
new file mode 100644
index 00000000..7199dd1b
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Constant.java
@@ -0,0 +1,215 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+import org.apache.bcel.util.BCELComparator;
+
+/**
+ * Abstract superclass for classes to represent the different constant types
+ * in the constant pool of a class file. The classes keep closely to
+ * the JVM specification.
+ *
+ * @version $Id: Constant.java 1816490 2017-11-27 18:56:00Z ggregory $
+ */
+public abstract class Constant implements Cloneable, Node {
+
+ private static BCELComparator bcelComparator = new BCELComparator() {
+
+ @Override
+ public boolean equals( final Object o1, final Object o2 ) {
+ final Constant THIS = (Constant) o1;
+ final Constant THAT = (Constant) o2;
+ return THIS.toString().equals(THAT.toString());
+ }
+
+
+ @Override
+ public int hashCode( final Object o ) {
+ final Constant THIS = (Constant) o;
+ return THIS.toString().hashCode();
+ }
+ };
+ /* In fact this tag is redundant since we can distinguish different
+ * `Constant' objects by their type, i.e., via `instanceof'. In some
+ * places we will use the tag for switch()es anyway.
+ *
+ * First, we want match the specification as closely as possible. Second we
+ * need the tag as an index to select the corresponding class name from the
+ * `CONSTANT_NAMES' array.
+ */
+ /**
+ * @deprecated (since 6.0) will be made private; do not access directly, use getter/setter
+ */
+ @java.lang.Deprecated
+ protected byte tag; // TODO should be private & final
+
+
+ Constant(final byte tag) {
+ this.tag = tag;
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitely
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public abstract void accept( Visitor v );
+
+
+ public abstract void dump( DataOutputStream file ) throws IOException;
+
+
+ /**
+ * @return Tag of constant, i.e., its type. No setTag() method to avoid
+ * confusion.
+ */
+ public final byte getTag() {
+ return tag;
+ }
+
+
+ /**
+ * @return String representation.
+ */
+ @Override
+ public String toString() {
+ return Const.getConstantName(tag) + "[" + tag + "]";
+ }
+
+
+ /**
+ * @return deep copy of this constant
+ */
+ public Constant copy() {
+ try {
+ return (Constant) super.clone();
+ } catch (final CloneNotSupportedException e) {
+ // TODO should this throw?
+ }
+ return null;
+ }
+
+
+ @Override
+ public Object clone() {
+ try {
+ return super.clone();
+ } catch (final CloneNotSupportedException e) {
+ throw new Error("Clone Not Supported"); // never happens
+ }
+ }
+
+
+ /**
+ * Read one constant from the given input, the type depends on a tag byte.
+ *
+ * @param input Input stream
+ * @return Constant object
+ * @since 6.0 made public
+ */
+ public static Constant readConstant( final DataInput input ) throws IOException,
+ ClassFormatException {
+ final byte b = input.readByte(); // Read tag byte
+ switch (b) {
+ case Const.CONSTANT_Class:
+ return new ConstantClass(input);
+ case Const.CONSTANT_Fieldref:
+ return new ConstantFieldref(input);
+ case Const.CONSTANT_Methodref:
+ return new ConstantMethodref(input);
+ case Const.CONSTANT_InterfaceMethodref:
+ return new ConstantInterfaceMethodref(input);
+ case Const.CONSTANT_String:
+ return new ConstantString(input);
+ case Const.CONSTANT_Integer:
+ return new ConstantInteger(input);
+ case Const.CONSTANT_Float:
+ return new ConstantFloat(input);
+ case Const.CONSTANT_Long:
+ return new ConstantLong(input);
+ case Const.CONSTANT_Double:
+ return new ConstantDouble(input);
+ case Const.CONSTANT_NameAndType:
+ return new ConstantNameAndType(input);
+ case Const.CONSTANT_Utf8:
+ return ConstantUtf8.getInstance(input);
+ case Const.CONSTANT_MethodHandle:
+ return new ConstantMethodHandle(input);
+ case Const.CONSTANT_MethodType:
+ return new ConstantMethodType(input);
+ case Const.CONSTANT_InvokeDynamic:
+ return new ConstantInvokeDynamic(input);
+ case Const.CONSTANT_Module:
+ return new ConstantModule(input);
+ case Const.CONSTANT_Package:
+ return new ConstantPackage(input);
+ default:
+ throw new ClassFormatException("Invalid byte tag in constant pool: " + b);
+ }
+ }
+
+
+ /**
+ * @return Comparison strategy object
+ */
+ public static BCELComparator getComparator() {
+ return bcelComparator;
+ }
+
+
+ /**
+ * @param comparator Comparison strategy object
+ */
+ public static void setComparator( final BCELComparator comparator ) {
+ bcelComparator = comparator;
+ }
+
+
+ /**
+ * Return value as defined by given BCELComparator strategy.
+ * By default two Constant objects are said to be equal when
+ * the result of toString() is equal.
+ *
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals( final Object obj ) {
+ return bcelComparator.equals(this, obj);
+ }
+
+
+ /**
+ * Return value as defined by given BCELComparator strategy.
+ * By default return the hashcode of the result of toString().
+ *
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ return bcelComparator.hashCode(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantCP.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantCP.java
new file mode 100644
index 00000000..485fbc13
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantCP.java
@@ -0,0 +1,151 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * Abstract super class for Fieldref, Methodref, InterfaceMethodref and
+ * InvokeDynamic constants.
+ *
+ * @version $Id: ConstantCP.java 1806200 2017-08-25 16:33:06Z ggregory $
+ * @see ConstantFieldref
+ * @see ConstantMethodref
+ * @see ConstantInterfaceMethodref
+ * @see ConstantInvokeDynamic
+ */
+public abstract class ConstantCP extends Constant {
+
+ /** References to the constants containing the class and the field signature
+ */
+ // Note that this field is used to store the
+ // bootstrap_method_attr_index of a ConstantInvokeDynamic.
+ /**
+ * @deprecated (since 6.0) will be made private; do not access directly, use getter/setter
+ */
+ @java.lang.Deprecated
+ protected int class_index; // TODO make private (has getter & setter)
+ // This field has the same meaning for all subclasses.
+
+ /**
+ * @deprecated (since 6.0) will be made private; do not access directly, use getter/setter
+ */
+ @java.lang.Deprecated
+ protected int name_and_type_index; // TODO make private (has getter & setter)
+
+
+ /**
+ * Initialize from another object.
+ */
+ public ConstantCP(final ConstantCP c) {
+ this(c.getTag(), c.getClassIndex(), c.getNameAndTypeIndex());
+ }
+
+
+ /**
+ * Initialize instance from file data.
+ *
+ * @param tag Constant type tag
+ * @param file Input stream
+ * @throws IOException
+ */
+ ConstantCP(final byte tag, final DataInput file) throws IOException {
+ this(tag, file.readUnsignedShort(), file.readUnsignedShort());
+ }
+
+
+ /**
+ * @param class_index Reference to the class containing the field
+ * @param name_and_type_index and the field signature
+ */
+ protected ConstantCP(final byte tag, final int class_index, final int name_and_type_index) {
+ super(tag);
+ this.class_index = class_index;
+ this.name_and_type_index = name_and_type_index;
+ }
+
+
+ /**
+ * Dump constant field reference to file stream in binary format.
+ *
+ * @param file Output file stream
+ * @throws IOException
+ */
+ @Override
+ public final void dump( final DataOutputStream file ) throws IOException {
+ file.writeByte(super.getTag());
+ file.writeShort(class_index);
+ file.writeShort(name_and_type_index);
+ }
+
+
+ /**
+ * @return Reference (index) to class this constant refers to.
+ */
+ public final int getClassIndex() {
+ return class_index;
+ }
+
+
+ /**
+ * @param class_index points to Constant_class
+ */
+ public final void setClassIndex( final int class_index ) {
+ this.class_index = class_index;
+ }
+
+
+ /**
+ * @return Reference (index) to signature of the field.
+ */
+ public final int getNameAndTypeIndex() {
+ return name_and_type_index;
+ }
+
+
+ /**
+ * @param name_and_type_index points to Constant_NameAndType
+ */
+ public final void setNameAndTypeIndex( final int name_and_type_index ) {
+ this.name_and_type_index = name_and_type_index;
+ }
+
+
+ /**
+ * @return Class this field belongs to.
+ */
+ public String getClass( final ConstantPool cp ) {
+ return cp.constantToString(class_index, Const.CONSTANT_Class);
+ }
+
+
+ /**
+ * @return String representation.
+ *
+ * not final as ConstantInvokeDynamic needs to modify
+ */
+ @Override
+ public String toString() {
+ return super.toString() + "(class_index = " + class_index + ", name_and_type_index = "
+ + name_and_type_index + ")";
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantClass.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantClass.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantClass.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantClass.java
index aa67cad8..5b10110f
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantClass.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantClass.java
@@ -1,129 +1,132 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.classfile;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import org.apache.bcel5_2_0.Constants;
-
-/**
- * This class is derived from the abstract
- * Constant class
- * and represents a reference to a (external) class.
- *
- * @version $Id: ConstantClass.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- * @see Constant
- */
-public final class ConstantClass extends Constant implements ConstantObject {
-
- private int name_index; // Identical to ConstantString except for the name
-
-
- /**
- * Initialize from another object.
- */
- public ConstantClass(ConstantClass c) {
- this(c.getNameIndex());
- }
-
-
- /**
- * Initialize instance from file data.
- *
- * @param file Input stream
- * @throws IOException
- */
- ConstantClass(DataInputStream file) throws IOException {
- this(file.readUnsignedShort());
- }
-
-
- /**
- * @param name_index Name index in constant pool. Should refer to a
- * ConstantUtf8.
- */
- public ConstantClass(int name_index) {
- super(Constants.CONSTANT_Class);
- this.name_index = name_index;
- }
-
-
- /**
- * Called by objects that are traversing the nodes of the tree implicitely
- * defined by the contents of a Java class. I.e., the hierarchy of methods,
- * fields, attributes, etc. spawns a tree of objects.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitConstantClass(this);
- }
-
-
- /**
- * Dump constant class to file stream in binary format.
- *
- * @param file Output file stream
- * @throws IOException
- */
- public final void dump( DataOutputStream file ) throws IOException {
- file.writeByte(tag);
- file.writeShort(name_index);
- }
-
-
- /**
- * @return Name index in constant pool of class name.
- */
- public final int getNameIndex() {
- return name_index;
- }
-
-
- /**
- * @param name_index the name index in the constant pool of this Constant Class
- */
- public final void setNameIndex( int name_index ) {
- this.name_index = name_index;
- }
-
-
- /** @return String object
- */
- public Object getConstantValue( ConstantPool cp ) {
- Constant c = cp.getConstant(name_index, Constants.CONSTANT_Utf8);
- return ((ConstantUtf8) c).getBytes();
- }
-
-
- /** @return dereferenced string
- */
- public String getBytes( ConstantPool cp ) {
- return (String) getConstantValue(cp);
- }
-
-
- /**
- * @return String representation.
- */
- public final String toString() {
- return super.toString() + "(name_index = " + name_index + ")";
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class is derived from the abstract {@link Constant}
+ * and represents a reference to a (external) class.
+ *
+ * @version $Id: ConstantClass.java 1806200 2017-08-25 16:33:06Z ggregory $
+ * @see Constant
+ */
+public final class ConstantClass extends Constant implements ConstantObject {
+
+ private int name_index; // Identical to ConstantString except for the name
+
+
+ /**
+ * Initialize from another object.
+ */
+ public ConstantClass(final ConstantClass c) {
+ this(c.getNameIndex());
+ }
+
+
+ /**
+ * Initialize instance from file data.
+ *
+ * @param file Input stream
+ * @throws IOException
+ */
+ ConstantClass(final DataInput file) throws IOException {
+ this(file.readUnsignedShort());
+ }
+
+
+ /**
+ * @param name_index Name index in constant pool. Should refer to a
+ * ConstantUtf8.
+ */
+ public ConstantClass(final int name_index) {
+ super(Const.CONSTANT_Class);
+ this.name_index = name_index;
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitely
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitConstantClass(this);
+ }
+
+
+ /**
+ * Dump constant class to file stream in binary format.
+ *
+ * @param file Output file stream
+ * @throws IOException
+ */
+ @Override
+ public final void dump( final DataOutputStream file ) throws IOException {
+ file.writeByte(super.getTag());
+ file.writeShort(name_index);
+ }
+
+
+ /**
+ * @return Name index in constant pool of class name.
+ */
+ public final int getNameIndex() {
+ return name_index;
+ }
+
+
+ /**
+ * @param name_index the name index in the constant pool of this Constant Class
+ */
+ public final void setNameIndex( final int name_index ) {
+ this.name_index = name_index;
+ }
+
+
+ /** @return String object
+ */
+ @Override
+ public Object getConstantValue( final ConstantPool cp ) {
+ final Constant c = cp.getConstant(name_index, Const.CONSTANT_Utf8);
+ return ((ConstantUtf8) c).getBytes();
+ }
+
+
+ /** @return dereferenced string
+ */
+ public String getBytes( final ConstantPool cp ) {
+ return (String) getConstantValue(cp);
+ }
+
+
+ /**
+ * @return String representation.
+ */
+ @Override
+ public final String toString() {
+ return super.toString() + "(name_index = " + name_index + ")";
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantDouble.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantDouble.java
old mode 100755
new mode 100644
similarity index 59%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantDouble.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantDouble.java
index 831ca968..e2622332
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantDouble.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantDouble.java
@@ -1,120 +1,123 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.classfile;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import org.apache.bcel5_2_0.Constants;
-
-/**
- * This class is derived from the abstract
- * Constant class
- * and represents a reference to a Double object.
- *
- * @version $Id: ConstantDouble.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- * @see Constant
- */
-public final class ConstantDouble extends Constant implements ConstantObject {
-
- private double bytes;
-
-
- /**
- * @param bytes Data
- */
- public ConstantDouble(double bytes) {
- super(Constants.CONSTANT_Double);
- this.bytes = bytes;
- }
-
-
- /**
- * Initialize from another object.
- */
- public ConstantDouble(ConstantDouble c) {
- this(c.getBytes());
- }
-
-
- /**
- * Initialize instance from file data.
- *
- * @param file Input stream
- * @throws IOException
- */
- ConstantDouble(DataInputStream file) throws IOException {
- this(file.readDouble());
- }
-
-
- /**
- * Called by objects that are traversing the nodes of the tree implicitely
- * defined by the contents of a Java class. I.e., the hierarchy of methods,
- * fields, attributes, etc. spawns a tree of objects.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitConstantDouble(this);
- }
-
-
- /**
- * Dump constant double to file stream in binary format.
- *
- * @param file Output file stream
- * @throws IOException
- */
- public final void dump( DataOutputStream file ) throws IOException {
- file.writeByte(tag);
- file.writeDouble(bytes);
- }
-
-
- /**
- * @return data, i.e., 8 bytes.
- */
- public final double getBytes() {
- return bytes;
- }
-
-
- /**
- * @param bytes the raw bytes that represent the double value
- */
- public final void setBytes( double bytes ) {
- this.bytes = bytes;
- }
-
-
- /**
- * @return String representation.
- */
- public final String toString() {
- return super.toString() + "(bytes = " + bytes + ")";
- }
-
-
- /** @return Double object
- */
- public Object getConstantValue( ConstantPool cp ) {
- return new Double(bytes);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class is derived from the abstract {@link Constant}
+ * and represents a reference to a Double object.
+ *
+ * @version $Id: ConstantDouble.java 1806200 2017-08-25 16:33:06Z ggregory $
+ * @see Constant
+ */
+public final class ConstantDouble extends Constant implements ConstantObject {
+
+ private double bytes;
+
+
+ /**
+ * @param bytes Data
+ */
+ public ConstantDouble(final double bytes) {
+ super(Const.CONSTANT_Double);
+ this.bytes = bytes;
+ }
+
+
+ /**
+ * Initialize from another object.
+ */
+ public ConstantDouble(final ConstantDouble c) {
+ this(c.getBytes());
+ }
+
+
+ /**
+ * Initialize instance from file data.
+ *
+ * @param file Input stream
+ * @throws IOException
+ */
+ ConstantDouble(final DataInput file) throws IOException {
+ this(file.readDouble());
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitely
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitConstantDouble(this);
+ }
+
+
+ /**
+ * Dump constant double to file stream in binary format.
+ *
+ * @param file Output file stream
+ * @throws IOException
+ */
+ @Override
+ public final void dump( final DataOutputStream file ) throws IOException {
+ file.writeByte(super.getTag());
+ file.writeDouble(bytes);
+ }
+
+
+ /**
+ * @return data, i.e., 8 bytes.
+ */
+ public final double getBytes() {
+ return bytes;
+ }
+
+
+ /**
+ * @param bytes the raw bytes that represent the double value
+ */
+ public final void setBytes( final double bytes ) {
+ this.bytes = bytes;
+ }
+
+
+ /**
+ * @return String representation.
+ */
+ @Override
+ public final String toString() {
+ return super.toString() + "(bytes = " + bytes + ")";
+ }
+
+
+ /** @return Double object
+ */
+ @Override
+ public Object getConstantValue( final ConstantPool cp ) {
+ return new Double(bytes);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantFieldref.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantFieldref.java
new file mode 100644
index 00000000..1b13742b
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantFieldref.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class represents a constant pool reference to a field.
+ *
+ * @version $Id: ConstantFieldref.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public final class ConstantFieldref extends ConstantCP {
+
+ /**
+ * Initialize from another object.
+ */
+ public ConstantFieldref(final ConstantFieldref c) {
+ super(Const.CONSTANT_Fieldref, c.getClassIndex(), c.getNameAndTypeIndex());
+ }
+
+
+ /**
+ * Initialize instance from input data.
+ *
+ * @param input input stream
+ * @throws IOException
+ */
+ ConstantFieldref(final DataInput input) throws IOException {
+ super(Const.CONSTANT_Fieldref, input);
+ }
+
+
+ /**
+ * @param class_index Reference to the class containing the Field
+ * @param name_and_type_index and the Field signature
+ */
+ public ConstantFieldref(final int class_index, final int name_and_type_index) {
+ super(Const.CONSTANT_Fieldref, class_index, name_and_type_index);
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitely
+ * defined by the contents of a Java class. I.e., the hierarchy of Fields,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitConstantFieldref(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantFloat.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantFloat.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantFloat.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantFloat.java
index 023ff4c0..259fe48f
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantFloat.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantFloat.java
@@ -1,121 +1,124 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.classfile;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import org.apache.bcel5_2_0.Constants;
-
-/**
- * This class is derived from the abstract
- * Constant class
- * and represents a reference to a float object.
- *
- * @version $Id: ConstantFloat.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- * @see Constant
- */
-public final class ConstantFloat extends Constant implements ConstantObject {
-
- private float bytes;
-
-
- /**
- * @param bytes Data
- */
- public ConstantFloat(float bytes) {
- super(Constants.CONSTANT_Float);
- this.bytes = bytes;
- }
-
-
- /**
- * Initialize from another object. Note that both objects use the same
- * references (shallow copy). Use clone() for a physical copy.
- */
- public ConstantFloat(ConstantFloat c) {
- this(c.getBytes());
- }
-
-
- /**
- * Initialize instance from file data.
- *
- * @param file Input stream
- * @throws IOException
- */
- ConstantFloat(DataInputStream file) throws IOException {
- this(file.readFloat());
- }
-
-
- /**
- * Called by objects that are traversing the nodes of the tree implicitely
- * defined by the contents of a Java class. I.e., the hierarchy of methods,
- * fields, attributes, etc. spawns a tree of objects.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitConstantFloat(this);
- }
-
-
- /**
- * Dump constant float to file stream in binary format.
- *
- * @param file Output file stream
- * @throws IOException
- */
- public final void dump( DataOutputStream file ) throws IOException {
- file.writeByte(tag);
- file.writeFloat(bytes);
- }
-
-
- /**
- * @return data, i.e., 4 bytes.
- */
- public final float getBytes() {
- return bytes;
- }
-
-
- /**
- * @param bytes the raw bytes that represent this float
- */
- public final void setBytes( float bytes ) {
- this.bytes = bytes;
- }
-
-
- /**
- * @return String representation.
- */
- public final String toString() {
- return super.toString() + "(bytes = " + bytes + ")";
- }
-
-
- /** @return Float object
- */
- public Object getConstantValue( ConstantPool cp ) {
- return new Float(bytes);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class is derived from the abstract {@link Constant}
+ * and represents a reference to a float object.
+ *
+ * @version $Id: ConstantFloat.java 1806200 2017-08-25 16:33:06Z ggregory $
+ * @see Constant
+ */
+public final class ConstantFloat extends Constant implements ConstantObject {
+
+ private float bytes;
+
+
+ /**
+ * @param bytes Data
+ */
+ public ConstantFloat(final float bytes) {
+ super(Const.CONSTANT_Float);
+ this.bytes = bytes;
+ }
+
+
+ /**
+ * Initialize from another object. Note that both objects use the same
+ * references (shallow copy). Use clone() for a physical copy.
+ */
+ public ConstantFloat(final ConstantFloat c) {
+ this(c.getBytes());
+ }
+
+
+ /**
+ * Initialize instance from file data.
+ *
+ * @param file Input stream
+ * @throws IOException
+ */
+ ConstantFloat(final DataInput file) throws IOException {
+ this(file.readFloat());
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitely
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitConstantFloat(this);
+ }
+
+
+ /**
+ * Dump constant float to file stream in binary format.
+ *
+ * @param file Output file stream
+ * @throws IOException
+ */
+ @Override
+ public final void dump( final DataOutputStream file ) throws IOException {
+ file.writeByte(super.getTag());
+ file.writeFloat(bytes);
+ }
+
+
+ /**
+ * @return data, i.e., 4 bytes.
+ */
+ public final float getBytes() {
+ return bytes;
+ }
+
+
+ /**
+ * @param bytes the raw bytes that represent this float
+ */
+ public final void setBytes( final float bytes ) {
+ this.bytes = bytes;
+ }
+
+
+ /**
+ * @return String representation.
+ */
+ @Override
+ public final String toString() {
+ return super.toString() + "(bytes = " + bytes + ")";
+ }
+
+
+ /** @return Float object
+ */
+ @Override
+ public Object getConstantValue( final ConstantPool cp ) {
+ return new Float(bytes);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantInteger.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantInteger.java
old mode 100755
new mode 100644
similarity index 58%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantInteger.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantInteger.java
index b4b8c347..e5cab54b
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantInteger.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantInteger.java
@@ -1,120 +1,123 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.classfile;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import org.apache.bcel5_2_0.Constants;
-
-/**
- * This class is derived from the abstract
- * Constant class
- * and represents a reference to an int object.
- *
- * @version $Id: ConstantInteger.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- * @see Constant
- */
-public final class ConstantInteger extends Constant implements ConstantObject {
-
- private int bytes;
-
-
- /**
- * @param bytes Data
- */
- public ConstantInteger(int bytes) {
- super(Constants.CONSTANT_Integer);
- this.bytes = bytes;
- }
-
-
- /**
- * Initialize from another object.
- */
- public ConstantInteger(ConstantInteger c) {
- this(c.getBytes());
- }
-
-
- /**
- * Initialize instance from file data.
- *
- * @param file Input stream
- * @throws IOException
- */
- ConstantInteger(DataInputStream file) throws IOException {
- this(file.readInt());
- }
-
-
- /**
- * Called by objects that are traversing the nodes of the tree implicitely
- * defined by the contents of a Java class. I.e., the hierarchy of methods,
- * fields, attributes, etc. spawns a tree of objects.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitConstantInteger(this);
- }
-
-
- /**
- * Dump constant integer to file stream in binary format.
- *
- * @param file Output file stream
- * @throws IOException
- */
- public final void dump( DataOutputStream file ) throws IOException {
- file.writeByte(tag);
- file.writeInt(bytes);
- }
-
-
- /**
- * @return data, i.e., 4 bytes.
- */
- public final int getBytes() {
- return bytes;
- }
-
-
- /**
- * @param bytes the raw bytes that represent this integer
- */
- public final void setBytes( int bytes ) {
- this.bytes = bytes;
- }
-
-
- /**
- * @return String representation.
- */
- public final String toString() {
- return super.toString() + "(bytes = " + bytes + ")";
- }
-
-
- /** @return Integer object
- */
- public Object getConstantValue( ConstantPool cp ) {
- return new Integer(bytes);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class is derived from the abstract {@link Constant}
+ * and represents a reference to an int object.
+ *
+ * @version $Id: ConstantInteger.java 1806200 2017-08-25 16:33:06Z ggregory $
+ * @see Constant
+ */
+public final class ConstantInteger extends Constant implements ConstantObject {
+
+ private int bytes;
+
+
+ /**
+ * @param bytes Data
+ */
+ public ConstantInteger(final int bytes) {
+ super(Const.CONSTANT_Integer);
+ this.bytes = bytes;
+ }
+
+
+ /**
+ * Initialize from another object.
+ */
+ public ConstantInteger(final ConstantInteger c) {
+ this(c.getBytes());
+ }
+
+
+ /**
+ * Initialize instance from file data.
+ *
+ * @param file Input stream
+ * @throws IOException
+ */
+ ConstantInteger(final DataInput file) throws IOException {
+ this(file.readInt());
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitely
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitConstantInteger(this);
+ }
+
+
+ /**
+ * Dump constant integer to file stream in binary format.
+ *
+ * @param file Output file stream
+ * @throws IOException
+ */
+ @Override
+ public final void dump( final DataOutputStream file ) throws IOException {
+ file.writeByte(super.getTag());
+ file.writeInt(bytes);
+ }
+
+
+ /**
+ * @return data, i.e., 4 bytes.
+ */
+ public final int getBytes() {
+ return bytes;
+ }
+
+
+ /**
+ * @param bytes the raw bytes that represent this integer
+ */
+ public final void setBytes( final int bytes ) {
+ this.bytes = bytes;
+ }
+
+
+ /**
+ * @return String representation.
+ */
+ @Override
+ public final String toString() {
+ return super.toString() + "(bytes = " + bytes + ")";
+ }
+
+
+ /** @return Integer object
+ */
+ @Override
+ public Object getConstantValue( final ConstantPool cp ) {
+ return Integer.valueOf(bytes);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantInterfaceMethodref.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantInterfaceMethodref.java
new file mode 100644
index 00000000..bf7620f8
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantInterfaceMethodref.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class represents a constant pool reference to an interface method.
+ *
+ * @version $Id: ConstantInterfaceMethodref.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public final class ConstantInterfaceMethodref extends ConstantCP {
+
+ /**
+ * Initialize from another object.
+ */
+ public ConstantInterfaceMethodref(final ConstantInterfaceMethodref c) {
+ super(Const.CONSTANT_InterfaceMethodref, c.getClassIndex(), c.getNameAndTypeIndex());
+ }
+
+
+ /**
+ * Initialize instance from input data.
+ *
+ * @param input input stream
+ * @throws IOException
+ */
+ ConstantInterfaceMethodref(final DataInput input) throws IOException {
+ super(Const.CONSTANT_InterfaceMethodref, input);
+ }
+
+
+ /**
+ * @param class_index Reference to the class containing the method
+ * @param name_and_type_index and the method signature
+ */
+ public ConstantInterfaceMethodref(final int class_index, final int name_and_type_index) {
+ super(Const.CONSTANT_InterfaceMethodref, class_index, name_and_type_index);
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitely
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitConstantInterfaceMethodref(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantInvokeDynamic.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantInvokeDynamic.java
new file mode 100644
index 00000000..5c23745f
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantInvokeDynamic.java
@@ -0,0 +1,90 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class is derived from the abstract {@link Constant}
+ * and represents a reference to a invoke dynamic.
+ *
+ * @see Constant
+ * @see
+ * The CONSTANT_InvokeDynamic_info Structure in The Java Virtual Machine Specification
+ * @since 6.0
+ */
+public final class ConstantInvokeDynamic extends ConstantCP {
+
+ /**
+ * Initialize from another object.
+ */
+ public ConstantInvokeDynamic(final ConstantInvokeDynamic c) {
+ this(c.getBootstrapMethodAttrIndex(), c.getNameAndTypeIndex());
+ }
+
+
+ /**
+ * Initialize instance from file data.
+ *
+ * @param file Input stream
+ * @throws IOException
+ */
+ ConstantInvokeDynamic(final DataInput file) throws IOException {
+ this(file.readShort(), file.readShort());
+ }
+
+
+ public ConstantInvokeDynamic(final int bootstrap_method_attr_index, final int name_and_type_index) {
+ super(Const.CONSTANT_InvokeDynamic, bootstrap_method_attr_index, name_and_type_index);
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitly
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitConstantInvokeDynamic(this);
+ }
+
+ /**
+ * @return Reference (index) to bootstrap method this constant refers to.
+ *
+ * Note that this method is a functional duplicate of getClassIndex
+ * for use by ConstantInvokeDynamic.
+ * @since 6.0
+ */
+ public final int getBootstrapMethodAttrIndex() {
+ return super.getClassIndex(); // AKA bootstrap_method_attr_index
+ }
+
+ /**
+ * @return String representation
+ */
+ @Override
+ public final String toString() {
+ return super.toString().replace("class_index", "bootstrap_method_attr_index");
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantLong.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantLong.java
old mode 100755
new mode 100644
similarity index 56%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantLong.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantLong.java
index b950c636..ec44efac
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantLong.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantLong.java
@@ -1,120 +1,123 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.classfile;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import org.apache.bcel5_2_0.Constants;
-
-/**
- * This class is derived from the abstract
- * Constant class
- * and represents a reference to a long object.
- *
- * @version $Id: ConstantLong.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- * @see Constant
- */
-public final class ConstantLong extends Constant implements ConstantObject {
-
- private long bytes;
-
-
- /**
- * @param bytes Data
- */
- public ConstantLong(long bytes) {
- super(Constants.CONSTANT_Long);
- this.bytes = bytes;
- }
-
-
- /**
- * Initialize from another object.
- */
- public ConstantLong(ConstantLong c) {
- this(c.getBytes());
- }
-
-
- /**
- * Initialize instance from file data.
- *
- * @param file Input stream
- * @throws IOException
- */
- ConstantLong(DataInputStream file) throws IOException {
- this(file.readLong());
- }
-
-
- /**
- * Called by objects that are traversing the nodes of the tree implicitely
- * defined by the contents of a Java class. I.e., the hierarchy of methods,
- * fields, attributes, etc. spawns a tree of objects.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitConstantLong(this);
- }
-
-
- /**
- * Dump constant long to file stream in binary format.
- *
- * @param file Output file stream
- * @throws IOException
- */
- public final void dump( DataOutputStream file ) throws IOException {
- file.writeByte(tag);
- file.writeLong(bytes);
- }
-
-
- /**
- * @return data, i.e., 8 bytes.
- */
- public final long getBytes() {
- return bytes;
- }
-
-
- /**
- * @param bytes thr raw bytes that represent this long
- */
- public final void setBytes( long bytes ) {
- this.bytes = bytes;
- }
-
-
- /**
- * @return String representation.
- */
- public final String toString() {
- return super.toString() + "(bytes = " + bytes + ")";
- }
-
-
- /** @return Long object
- */
- public Object getConstantValue( ConstantPool cp ) {
- return new Long(bytes);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class is derived from the abstract {@link Constant}
+ * and represents a reference to a long object.
+ *
+ * @version $Id: ConstantLong.java 1806200 2017-08-25 16:33:06Z ggregory $
+ * @see Constant
+ */
+public final class ConstantLong extends Constant implements ConstantObject {
+
+ private long bytes;
+
+
+ /**
+ * @param bytes Data
+ */
+ public ConstantLong(final long bytes) {
+ super(Const.CONSTANT_Long);
+ this.bytes = bytes;
+ }
+
+
+ /**
+ * Initialize from another object.
+ */
+ public ConstantLong(final ConstantLong c) {
+ this(c.getBytes());
+ }
+
+
+ /**
+ * Initialize instance from file data.
+ *
+ * @param file Input stream
+ * @throws IOException
+ */
+ ConstantLong(final DataInput file) throws IOException {
+ this(file.readLong());
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitely
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitConstantLong(this);
+ }
+
+
+ /**
+ * Dump constant long to file stream in binary format.
+ *
+ * @param file Output file stream
+ * @throws IOException
+ */
+ @Override
+ public final void dump( final DataOutputStream file ) throws IOException {
+ file.writeByte(super.getTag());
+ file.writeLong(bytes);
+ }
+
+
+ /**
+ * @return data, i.e., 8 bytes.
+ */
+ public final long getBytes() {
+ return bytes;
+ }
+
+
+ /**
+ * @param bytes the raw bytes that represent this long
+ */
+ public final void setBytes( final long bytes ) {
+ this.bytes = bytes;
+ }
+
+
+ /**
+ * @return String representation.
+ */
+ @Override
+ public final String toString() {
+ return super.toString() + "(bytes = " + bytes + ")";
+ }
+
+
+ /** @return Long object
+ */
+ @Override
+ public Object getConstantValue( final ConstantPool cp ) {
+ return Long.valueOf(bytes);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantMethodHandle.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantMethodHandle.java
new file mode 100644
index 00000000..29fc2248
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantMethodHandle.java
@@ -0,0 +1,120 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class is derived from the abstract {@link Constant}
+ * and represents a reference to a method handle.
+ *
+ * @see Constant
+ * @since 6.0
+ */
+public final class ConstantMethodHandle extends Constant {
+
+ private int reference_kind;
+ private int reference_index;
+
+
+ /**
+ * Initialize from another object.
+ */
+ public ConstantMethodHandle(final ConstantMethodHandle c) {
+ this(c.getReferenceKind(), c.getReferenceIndex());
+ }
+
+
+ /**
+ * Initialize instance from file data.
+ *
+ * @param file Input stream
+ * @throws IOException
+ */
+ ConstantMethodHandle(final DataInput file) throws IOException {
+ this(file.readUnsignedByte(), file.readUnsignedShort());
+ }
+
+
+ public ConstantMethodHandle(final int reference_kind, final int reference_index) {
+ super(Const.CONSTANT_MethodHandle);
+ this.reference_kind = reference_kind;
+ this.reference_index = reference_index;
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitly
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitConstantMethodHandle(this);
+ }
+
+
+ /**
+ * Dump method kind and index to file stream in binary format.
+ *
+ * @param file Output file stream
+ * @throws IOException
+ */
+ @Override
+ public final void dump( final DataOutputStream file ) throws IOException {
+ file.writeByte(super.getTag());
+ file.writeByte(reference_kind);
+ file.writeShort(reference_index);
+ }
+
+
+ public int getReferenceKind() {
+ return reference_kind;
+ }
+
+
+ public void setReferenceKind(final int reference_kind) {
+ this.reference_kind = reference_kind;
+ }
+
+
+ public int getReferenceIndex() {
+ return reference_index;
+ }
+
+
+ public void setReferenceIndex(final int reference_index) {
+ this.reference_index = reference_index;
+ }
+
+
+ /**
+ * @return String representation
+ */
+ @Override
+ public final String toString() {
+ return super.toString() + "(reference_kind = " + reference_kind +
+ ", reference_index = " + reference_index + ")";
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantMethodType.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantMethodType.java
new file mode 100644
index 00000000..72234051
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantMethodType.java
@@ -0,0 +1,106 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class is derived from the abstract {@link Constant}
+ * and represents a reference to a method type.
+ *
+ * @see Constant
+ * @since 6.0
+ */
+public final class ConstantMethodType extends Constant {
+
+ private int descriptor_index;
+
+
+ /**
+ * Initialize from another object.
+ */
+ public ConstantMethodType(final ConstantMethodType c) {
+ this(c.getDescriptorIndex());
+ }
+
+
+ /**
+ * Initialize instance from file data.
+ *
+ * @param file Input stream
+ * @throws IOException
+ */
+ ConstantMethodType(final DataInput file) throws IOException {
+ this(file.readUnsignedShort());
+ }
+
+
+ public ConstantMethodType(final int descriptor_index) {
+ super(Const.CONSTANT_MethodType);
+ this.descriptor_index = descriptor_index;
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitly
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitConstantMethodType(this);
+ }
+
+
+ /**
+ * Dump name and signature index to file stream in binary format.
+ *
+ * @param file Output file stream
+ * @throws IOException
+ */
+ @Override
+ public final void dump( final DataOutputStream file ) throws IOException {
+ file.writeByte(super.getTag());
+ file.writeShort(descriptor_index);
+ }
+
+
+ public int getDescriptorIndex() {
+ return descriptor_index;
+ }
+
+
+ public void setDescriptorIndex(final int descriptor_index) {
+ this.descriptor_index = descriptor_index;
+ }
+
+
+ /**
+ * @return String representation
+ */
+ @Override
+ public final String toString() {
+ return super.toString() + "(descriptor_index = " + descriptor_index + ")";
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantMethodref.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantMethodref.java
new file mode 100644
index 00000000..959c479b
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantMethodref.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class represents a constant pool reference to a method.
+ *
+ * @version $Id: ConstantMethodref.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public final class ConstantMethodref extends ConstantCP {
+
+ /**
+ * Initialize from another object.
+ */
+ public ConstantMethodref(final ConstantMethodref c) {
+ super(Const.CONSTANT_Methodref, c.getClassIndex(), c.getNameAndTypeIndex());
+ }
+
+
+ /**
+ * Initialize instance from input data.
+ *
+ * @param input input stream
+ * @throws IOException
+ */
+ ConstantMethodref(final DataInput input) throws IOException {
+ super(Const.CONSTANT_Methodref, input);
+ }
+
+
+ /**
+ * @param class_index Reference to the class containing the method
+ * @param name_and_type_index and the method signature
+ */
+ public ConstantMethodref(final int class_index, final int name_and_type_index) {
+ super(Const.CONSTANT_Methodref, class_index, name_and_type_index);
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitely
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitConstantMethodref(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantModule.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantModule.java
new file mode 100644
index 00000000..2d746aea
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantModule.java
@@ -0,0 +1,134 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class is derived from the abstract {@link Constant}
+ * and represents a reference to a module.
+ *
+ *
Note: Early access Java 9 support- currently subject to change
+ *
+ * @see Constant
+ * @since 6.1
+ */
+public final class ConstantModule extends Constant implements ConstantObject {
+
+ private int name_index;
+
+
+ /**
+ * Initialize from another object.
+ */
+ public ConstantModule(final ConstantModule c) {
+ this(c.getNameIndex());
+ }
+
+
+ /**
+ * Initialize instance from file data.
+ *
+ * @param file Input stream
+ * @throws IOException
+ */
+ ConstantModule(final DataInput file) throws IOException {
+ this(file.readUnsignedShort());
+ }
+
+
+ /**
+ * @param name_index Name index in constant pool. Should refer to a
+ * ConstantUtf8.
+ */
+ public ConstantModule(final int name_index) {
+ super(Const.CONSTANT_Module);
+ this.name_index = name_index;
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitly
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitConstantModule(this);
+ }
+
+
+ /**
+ * Dump constant module to file stream in binary format.
+ *
+ * @param file Output file stream
+ * @throws IOException
+ */
+ @Override
+ public final void dump( final DataOutputStream file ) throws IOException {
+ file.writeByte(super.getTag());
+ file.writeShort(name_index);
+ }
+
+
+ /**
+ * @return Name index in constant pool of module name.
+ */
+ public final int getNameIndex() {
+ return name_index;
+ }
+
+
+ /**
+ * @param name_index the name index in the constant pool of this Constant Module
+ */
+ public final void setNameIndex( final int name_index ) {
+ this.name_index = name_index;
+ }
+
+
+ /** @return String object
+ */
+ @Override
+ public Object getConstantValue( final ConstantPool cp ) {
+ final Constant c = cp.getConstant(name_index, Const.CONSTANT_Utf8);
+ return ((ConstantUtf8) c).getBytes();
+ }
+
+
+ /** @return dereferenced string
+ */
+ public String getBytes( final ConstantPool cp ) {
+ return (String) getConstantValue(cp);
+ }
+
+
+ /**
+ * @return String representation.
+ */
+ @Override
+ public final String toString() {
+ return super.toString() + "(name_index = " + name_index + ")";
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantNameAndType.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantNameAndType.java
old mode 100755
new mode 100644
similarity index 62%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantNameAndType.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantNameAndType.java
index 2c6846f1..3267fa60
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantNameAndType.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantNameAndType.java
@@ -1,149 +1,151 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.classfile;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import org.apache.bcel5_2_0.Constants;
-
-/**
- * This class is derived from the abstract
- * Constant class
- * and represents a reference to the name and signature
- * of a field or method.
- *
- * @version $Id: ConstantNameAndType.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- * @see Constant
- */
-public final class ConstantNameAndType extends Constant {
-
- private int name_index; // Name of field/method
- private int signature_index; // and its signature.
-
-
- /**
- * Initialize from another object.
- */
- public ConstantNameAndType(ConstantNameAndType c) {
- this(c.getNameIndex(), c.getSignatureIndex());
- }
-
-
- /**
- * Initialize instance from file data.
- *
- * @param file Input stream
- * @throws IOException
- */
- ConstantNameAndType(DataInputStream file) throws IOException {
- this(file.readUnsignedShort(), file.readUnsignedShort());
- }
-
-
- /**
- * @param name_index Name of field/method
- * @param signature_index and its signature
- */
- public ConstantNameAndType(int name_index, int signature_index) {
- super(Constants.CONSTANT_NameAndType);
- this.name_index = name_index;
- this.signature_index = signature_index;
- }
-
-
- /**
- * Called by objects that are traversing the nodes of the tree implicitely
- * defined by the contents of a Java class. I.e., the hierarchy of methods,
- * fields, attributes, etc. spawns a tree of objects.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitConstantNameAndType(this);
- }
-
-
- /**
- * Dump name and signature index to file stream in binary format.
- *
- * @param file Output file stream
- * @throws IOException
- */
- public final void dump( DataOutputStream file ) throws IOException {
- file.writeByte(tag);
- file.writeShort(name_index);
- file.writeShort(signature_index);
- }
-
-
- /**
- * @return Name index in constant pool of field/method name.
- */
- public final int getNameIndex() {
- return name_index;
- }
-
-
- /** @return name
- */
- public final String getName( ConstantPool cp ) {
- return cp.constantToString(getNameIndex(), Constants.CONSTANT_Utf8);
- }
-
-
- /**
- * @return Index in constant pool of field/method signature.
- */
- public final int getSignatureIndex() {
- return signature_index;
- }
-
-
- /** @return signature
- */
- public final String getSignature( ConstantPool cp ) {
- return cp.constantToString(getSignatureIndex(), Constants.CONSTANT_Utf8);
- }
-
-
- /**
- * @param name_index the name index of this constant
- */
- public final void setNameIndex( int name_index ) {
- this.name_index = name_index;
- }
-
-
- /**
- * @param signature_index the signature index in the constant pool of this type
- */
- public final void setSignatureIndex( int signature_index ) {
- this.signature_index = signature_index;
- }
-
-
- /**
- * @return String representation
- */
- public final String toString() {
- return super.toString() + "(name_index = " + name_index + ", signature_index = "
- + signature_index + ")";
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class is derived from the abstract {@link Constant}
+ * and represents a reference to the name and signature
+ * of a field or method.
+ *
+ * @version $Id: ConstantNameAndType.java 1806200 2017-08-25 16:33:06Z ggregory $
+ * @see Constant
+ */
+public final class ConstantNameAndType extends Constant {
+
+ private int name_index; // Name of field/method
+ private int signature_index; // and its signature.
+
+
+ /**
+ * Initialize from another object.
+ */
+ public ConstantNameAndType(final ConstantNameAndType c) {
+ this(c.getNameIndex(), c.getSignatureIndex());
+ }
+
+
+ /**
+ * Initialize instance from file data.
+ *
+ * @param file Input stream
+ * @throws IOException
+ */
+ ConstantNameAndType(final DataInput file) throws IOException {
+ this(file.readUnsignedShort(), file.readUnsignedShort());
+ }
+
+
+ /**
+ * @param name_index Name of field/method
+ * @param signature_index and its signature
+ */
+ public ConstantNameAndType(final int name_index, final int signature_index) {
+ super(Const.CONSTANT_NameAndType);
+ this.name_index = name_index;
+ this.signature_index = signature_index;
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitely
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitConstantNameAndType(this);
+ }
+
+
+ /**
+ * Dump name and signature index to file stream in binary format.
+ *
+ * @param file Output file stream
+ * @throws IOException
+ */
+ @Override
+ public final void dump( final DataOutputStream file ) throws IOException {
+ file.writeByte(super.getTag());
+ file.writeShort(name_index);
+ file.writeShort(signature_index);
+ }
+
+
+ /**
+ * @return Name index in constant pool of field/method name.
+ */
+ public final int getNameIndex() {
+ return name_index;
+ }
+
+
+ /** @return name
+ */
+ public final String getName( final ConstantPool cp ) {
+ return cp.constantToString(getNameIndex(), Const.CONSTANT_Utf8);
+ }
+
+
+ /**
+ * @return Index in constant pool of field/method signature.
+ */
+ public final int getSignatureIndex() {
+ return signature_index;
+ }
+
+
+ /** @return signature
+ */
+ public final String getSignature( final ConstantPool cp ) {
+ return cp.constantToString(getSignatureIndex(), Const.CONSTANT_Utf8);
+ }
+
+
+ /**
+ * @param name_index the name index of this constant
+ */
+ public final void setNameIndex( final int name_index ) {
+ this.name_index = name_index;
+ }
+
+
+ /**
+ * @param signature_index the signature index in the constant pool of this type
+ */
+ public final void setSignatureIndex( final int signature_index ) {
+ this.signature_index = signature_index;
+ }
+
+
+ /**
+ * @return String representation
+ */
+ @Override
+ public final String toString() {
+ return super.toString() + "(name_index = " + name_index + ", signature_index = "
+ + signature_index + ")";
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantObject.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantObject.java
old mode 100755
new mode 100644
similarity index 51%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantObject.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantObject.java
index 10d611dd..8c056e58
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantObject.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantObject.java
@@ -1,32 +1,32 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.classfile;
-
-/**
- * This interface denotes those constants that have a "natural" value,
- * such as ConstantLong, ConstantString, etc..
- *
- * @version $Id: ConstantObject.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- * @see Constant
- */
-public interface ConstantObject {
-
- /** @return object representing the constant, e.g., Long for ConstantLong
- */
- public abstract Object getConstantValue( ConstantPool cp );
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+/**
+ * This interface denotes those constants that have a "natural" value,
+ * such as ConstantLong, ConstantString, etc..
+ *
+ * @version $Id: ConstantObject.java 1806200 2017-08-25 16:33:06Z ggregory $
+ * @see Constant
+ */
+public interface ConstantObject {
+
+ /** @return object representing the constant, e.g., Long for ConstantLong
+ */
+ Object getConstantValue( ConstantPool cp );
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantPackage.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantPackage.java
new file mode 100644
index 00000000..ed432847
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantPackage.java
@@ -0,0 +1,134 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class is derived from the abstract {@link Constant}
+ * and represents a reference to a package.
+ *
+ *
Note: Early access Java 9 support- currently subject to change
+ *
+ * @see Constant
+ * @since 6.1
+ */
+public final class ConstantPackage extends Constant implements ConstantObject {
+
+ private int name_index;
+
+
+ /**
+ * Initialize from another object.
+ */
+ public ConstantPackage(final ConstantPackage c) {
+ this(c.getNameIndex());
+ }
+
+
+ /**
+ * Initialize instance from file data.
+ *
+ * @param file Input stream
+ * @throws IOException
+ */
+ ConstantPackage(final DataInput file) throws IOException {
+ this(file.readUnsignedShort());
+ }
+
+
+ /**
+ * @param name_index Name index in constant pool. Should refer to a
+ * ConstantUtf8.
+ */
+ public ConstantPackage(final int name_index) {
+ super(Const.CONSTANT_Package);
+ this.name_index = name_index;
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitely
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitConstantPackage(this);
+ }
+
+
+ /**
+ * Dump constant package to file stream in binary format.
+ *
+ * @param file Output file stream
+ * @throws IOException
+ */
+ @Override
+ public final void dump( final DataOutputStream file ) throws IOException {
+ file.writeByte(super.getTag());
+ file.writeShort(name_index);
+ }
+
+
+ /**
+ * @return Name index in constant pool of package name.
+ */
+ public final int getNameIndex() {
+ return name_index;
+ }
+
+
+ /**
+ * @param name_index the name index in the constant pool of this Constant Package
+ */
+ public final void setNameIndex( final int name_index ) {
+ this.name_index = name_index;
+ }
+
+
+ /** @return String object
+ */
+ @Override
+ public Object getConstantValue( final ConstantPool cp ) {
+ final Constant c = cp.getConstant(name_index, Const.CONSTANT_Utf8);
+ return ((ConstantUtf8) c).getBytes();
+ }
+
+
+ /** @return dereferenced string
+ */
+ public String getBytes( final ConstantPool cp ) {
+ return (String) getConstantValue(cp);
+ }
+
+
+ /**
+ * @return String representation.
+ */
+ @Override
+ public final String toString() {
+ return super.toString() + "(name_index = " + name_index + ")";
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantPool.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantPool.java
old mode 100755
new mode 100644
similarity index 59%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantPool.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantPool.java
index 31216424..0ce9a528
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantPool.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantPool.java
@@ -1,354 +1,372 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.classfile;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.io.Serializable;
-
-import org.apache.bcel5_2_0.Constants;
-
-/**
- * This class represents the constant pool, i.e., a table of constants, of
- * a parsed classfile. It may contain null references, due to the JVM
- * specification that skips an entry after an 8-byte constant (double,
- * long) entry. Those interested in generating constant pools
- * programatically should see
- * ConstantPoolGen.
-
- * @version $Id: ConstantPool.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @see Constant
- * @see org.apache.bcel5_2_0.generic.ConstantPoolGen
- * @author M. Dahm
- */
-public class ConstantPool implements Cloneable, Node, Serializable {
-
- private int constant_pool_count;
- private Constant[] constant_pool;
-
-
- /**
- * @param constant_pool Array of constants
- */
- public ConstantPool(Constant[] constant_pool) {
- setConstantPool(constant_pool);
- }
-
-
- /**
- * Read constants from given file stream.
- *
- * @param file Input stream
- * @throws IOException
- * @throws ClassFormatException
- */
- ConstantPool(DataInputStream file) throws IOException, ClassFormatException {
- byte tag;
- constant_pool_count = file.readUnsignedShort();
- constant_pool = new Constant[constant_pool_count];
- /* constant_pool[0] is unused by the compiler and may be used freely
- * by the implementation.
- */
- for (int i = 1; i < constant_pool_count; i++) {
- constant_pool[i] = Constant.readConstant(file);
- /* Quote from the JVM specification:
- * "All eight byte constants take up two spots in the constant pool.
- * If this is the n'th byte in the constant pool, then the next item
- * will be numbered n+2"
- *
- * Thus we have to increment the index counter.
- */
- tag = constant_pool[i].getTag();
- if ((tag == Constants.CONSTANT_Double) || (tag == Constants.CONSTANT_Long)) {
- i++;
- }
- }
- }
-
-
- /**
- * Called by objects that are traversing the nodes of the tree implicitely
- * defined by the contents of a Java class. I.e., the hierarchy of methods,
- * fields, attributes, etc. spawns a tree of objects.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitConstantPool(this);
- }
-
-
- /**
- * Resolve constant to a string representation.
- *
- * @param c Constant to be printed
- * @return String representation
- */
- public String constantToString( Constant c ) throws ClassFormatException {
- String str;
- int i;
- byte tag = c.getTag();
- switch (tag) {
- case Constants.CONSTANT_Class:
- i = ((ConstantClass) c).getNameIndex();
- c = getConstant(i, Constants.CONSTANT_Utf8);
- str = Utility.compactClassName(((ConstantUtf8) c).getBytes(), false);
- break;
- case Constants.CONSTANT_String:
- i = ((ConstantString) c).getStringIndex();
- c = getConstant(i, Constants.CONSTANT_Utf8);
- str = "\"" + escape(((ConstantUtf8) c).getBytes()) + "\"";
- break;
- case Constants.CONSTANT_Utf8:
- str = ((ConstantUtf8) c).getBytes();
- break;
- case Constants.CONSTANT_Double:
- str = "" + ((ConstantDouble) c).getBytes();
- break;
- case Constants.CONSTANT_Float:
- str = "" + ((ConstantFloat) c).getBytes();
- break;
- case Constants.CONSTANT_Long:
- str = "" + ((ConstantLong) c).getBytes();
- break;
- case Constants.CONSTANT_Integer:
- str = "" + ((ConstantInteger) c).getBytes();
- break;
- case Constants.CONSTANT_NameAndType:
- str = (constantToString(((ConstantNameAndType) c).getNameIndex(),
- Constants.CONSTANT_Utf8)
- + " " + constantToString(((ConstantNameAndType) c).getSignatureIndex(),
- Constants.CONSTANT_Utf8));
- break;
- case Constants.CONSTANT_InterfaceMethodref:
- case Constants.CONSTANT_Methodref:
- case Constants.CONSTANT_Fieldref:
- str = (constantToString(((ConstantCP) c).getClassIndex(), Constants.CONSTANT_Class)
- + "." + constantToString(((ConstantCP) c).getNameAndTypeIndex(),
- Constants.CONSTANT_NameAndType));
- break;
- default: // Never reached
- throw new RuntimeException("Unknown constant type " + tag);
- }
- return str;
- }
-
-
- private static final String escape( String str ) {
- int len = str.length();
- StringBuilder buf = new StringBuilder(len + 5);
- char[] ch = str.toCharArray();
- for (int i = 0; i < len; i++) {
- switch (ch[i]) {
- case '\n':
- buf.append("\\n");
- break;
- case '\r':
- buf.append("\\r");
- break;
- case '\t':
- buf.append("\\t");
- break;
- case '\b':
- buf.append("\\b");
- break;
- case '"':
- buf.append("\\\"");
- break;
- default:
- buf.append(ch[i]);
- }
- }
- return buf.toString();
- }
-
-
- /**
- * Retrieve constant at `index' from constant pool and resolve it to
- * a string representation.
- *
- * @param index of constant in constant pool
- * @param tag expected type
- * @return String representation
- */
- public String constantToString( int index, byte tag ) throws ClassFormatException {
- Constant c = getConstant(index, tag);
- return constantToString(c);
- }
-
-
- /**
- * Dump constant pool to file stream in binary format.
- *
- * @param file Output file stream
- * @throws IOException
- */
- public void dump( DataOutputStream file ) throws IOException {
- file.writeShort(constant_pool_count);
- for (int i = 1; i < constant_pool_count; i++) {
- if (constant_pool[i] != null) {
- constant_pool[i].dump(file);
- }
- }
- }
-
-
- /**
- * Get constant from constant pool.
- *
- * @param index Index in constant pool
- * @return Constant value
- * @see Constant
- */
- public Constant getConstant( int index ) {
- if (index >= constant_pool.length || index < 0) {
- throw new ClassFormatException("Invalid constant pool reference: " + index
- + ". Constant pool size is: " + constant_pool.length);
- }
- return constant_pool[index];
- }
-
-
- /**
- * Get constant from constant pool and check whether it has the
- * expected type.
- *
- * @param index Index in constant pool
- * @param tag Tag of expected constant, i.e., its type
- * @return Constant value
- * @see Constant
- * @throws ClassFormatException
- */
- public Constant getConstant( int index, byte tag ) throws ClassFormatException {
- Constant c;
- c = getConstant(index);
- if (c == null) {
- throw new ClassFormatException("Constant pool at index " + index + " is null.");
- }
- if (c.getTag() != tag) {
- throw new ClassFormatException("Expected class `" + Constants.CONSTANT_NAMES[tag]
- + "' at index " + index + " and got " + c);
- }
- return c;
- }
-
-
- /**
- * @return Array of constants.
- * @see Constant
- */
- public Constant[] getConstantPool() {
- return constant_pool;
- }
-
-
- /**
- * Get string from constant pool and bypass the indirection of
- * `ConstantClass' and `ConstantString' objects. I.e. these classes have
- * an index field that points to another entry of the constant pool of
- * type `ConstantUtf8' which contains the real data.
- *
- * @param index Index in constant pool
- * @param tag Tag of expected constant, either ConstantClass or ConstantString
- * @return Contents of string reference
- * @see ConstantClass
- * @see ConstantString
- * @throws ClassFormatException
- */
- public String getConstantString( int index, byte tag ) throws ClassFormatException {
- Constant c;
- int i;
- c = getConstant(index, tag);
- /* This switch() is not that elegant, since the two classes have the
- * same contents, they just differ in the name of the index
- * field variable.
- * But we want to stick to the JVM naming conventions closely though
- * we could have solved these more elegantly by using the same
- * variable name or by subclassing.
- */
- switch (tag) {
- case Constants.CONSTANT_Class:
- i = ((ConstantClass) c).getNameIndex();
- break;
- case Constants.CONSTANT_String:
- i = ((ConstantString) c).getStringIndex();
- break;
- default:
- throw new RuntimeException("getConstantString called with illegal tag " + tag);
- }
- // Finally get the string from the constant pool
- c = getConstant(i, Constants.CONSTANT_Utf8);
- return ((ConstantUtf8) c).getBytes();
- }
-
-
- /**
- * @return Length of constant pool.
- */
- public int getLength() {
- return constant_pool_count;
- }
-
-
- /**
- * @param constant Constant to set
- */
- public void setConstant( int index, Constant constant ) {
- constant_pool[index] = constant;
- }
-
-
- /**
- * @param constant_pool
- */
- public void setConstantPool( Constant[] constant_pool ) {
- this.constant_pool = constant_pool;
- constant_pool_count = (constant_pool == null) ? 0 : constant_pool.length;
- }
-
-
- /**
- * @return String representation.
- */
- public String toString() {
- StringBuilder buf = new StringBuilder();
- for (int i = 1; i < constant_pool_count; i++) {
- buf.append(i).append(")").append(constant_pool[i]).append("\n");
- }
- return buf.toString();
- }
-
-
- /**
- * @return deep copy of this constant pool
- */
- public ConstantPool copy() {
- ConstantPool c = null;
- try {
- c = (ConstantPool) clone();
- c.constant_pool = new Constant[constant_pool_count];
- for (int i = 1; i < constant_pool_count; i++) {
- if (constant_pool[i] != null) {
- c.constant_pool[i] = constant_pool[i].copy();
- }
- }
- } catch (CloneNotSupportedException e) {
- }
- return c;
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class represents the constant pool, i.e., a table of constants, of
+ * a parsed classfile. It may contain null references, due to the JVM
+ * specification that skips an entry after an 8-byte constant (double,
+ * long) entry. Those interested in generating constant pools
+ * programatically should see
+ * ConstantPoolGen.
+
+ * @version $Id: ConstantPool.java 1806200 2017-08-25 16:33:06Z ggregory $
+ * @see Constant
+ * @see org.apache.bcel.generic.ConstantPoolGen
+ */
+public class ConstantPool implements Cloneable, Node {
+
+ private Constant[] constant_pool;
+
+
+ /**
+ * @param constant_pool Array of constants
+ */
+ public ConstantPool(final Constant[] constant_pool) {
+ this.constant_pool = constant_pool;
+ }
+
+
+ /**
+ * Read constants from given input stream.
+ *
+ * @param input Input stream
+ * @throws IOException
+ * @throws ClassFormatException
+ */
+ public ConstantPool(final DataInput input) throws IOException, ClassFormatException {
+ byte tag;
+ final int constant_pool_count = input.readUnsignedShort();
+ constant_pool = new Constant[constant_pool_count];
+ /* constant_pool[0] is unused by the compiler and may be used freely
+ * by the implementation.
+ */
+ for (int i = 1; i < constant_pool_count; i++) {
+ constant_pool[i] = Constant.readConstant(input);
+ /* Quote from the JVM specification:
+ * "All eight byte constants take up two spots in the constant pool.
+ * If this is the n'th byte in the constant pool, then the next item
+ * will be numbered n+2"
+ *
+ * Thus we have to increment the index counter.
+ */
+ tag = constant_pool[i].getTag();
+ if ((tag == Const.CONSTANT_Double) || (tag == Const.CONSTANT_Long)) {
+ i++;
+ }
+ }
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitely
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitConstantPool(this);
+ }
+
+
+ /**
+ * Resolve constant to a string representation.
+ *
+ * @param c Constant to be printed
+ * @return String representation
+ */
+ public String constantToString( Constant c ) throws ClassFormatException {
+ String str;
+ int i;
+ final byte tag = c.getTag();
+ switch (tag) {
+ case Const.CONSTANT_Class:
+ i = ((ConstantClass) c).getNameIndex();
+ c = getConstant(i, Const.CONSTANT_Utf8);
+ str = Utility.compactClassName(((ConstantUtf8) c).getBytes(), false);
+ break;
+ case Const.CONSTANT_String:
+ i = ((ConstantString) c).getStringIndex();
+ c = getConstant(i, Const.CONSTANT_Utf8);
+ str = "\"" + escape(((ConstantUtf8) c).getBytes()) + "\"";
+ break;
+ case Const.CONSTANT_Utf8:
+ str = ((ConstantUtf8) c).getBytes();
+ break;
+ case Const.CONSTANT_Double:
+ str = String.valueOf(((ConstantDouble) c).getBytes());
+ break;
+ case Const.CONSTANT_Float:
+ str = String.valueOf(((ConstantFloat) c).getBytes());
+ break;
+ case Const.CONSTANT_Long:
+ str = String.valueOf(((ConstantLong) c).getBytes());
+ break;
+ case Const.CONSTANT_Integer:
+ str = String.valueOf(((ConstantInteger) c).getBytes());
+ break;
+ case Const.CONSTANT_NameAndType:
+ str = constantToString(((ConstantNameAndType) c).getNameIndex(),
+ Const.CONSTANT_Utf8)
+ + " " + constantToString(((ConstantNameAndType) c).getSignatureIndex(),
+ Const.CONSTANT_Utf8);
+ break;
+ case Const.CONSTANT_InterfaceMethodref:
+ case Const.CONSTANT_Methodref:
+ case Const.CONSTANT_Fieldref:
+ str = constantToString(((ConstantCP) c).getClassIndex(), Const.CONSTANT_Class)
+ + "." + constantToString(((ConstantCP) c).getNameAndTypeIndex(),
+ Const.CONSTANT_NameAndType);
+ break;
+ case Const.CONSTANT_MethodHandle:
+ // Note that the ReferenceIndex may point to a Fieldref, Methodref or
+ // InterfaceMethodref - so we need to peek ahead to get the actual type.
+ final ConstantMethodHandle cmh = (ConstantMethodHandle) c;
+ str = Const.getMethodHandleName(cmh.getReferenceKind())
+ + " " + constantToString(cmh.getReferenceIndex(),
+ getConstant(cmh.getReferenceIndex()).getTag());
+ break;
+ case Const.CONSTANT_MethodType:
+ final ConstantMethodType cmt = (ConstantMethodType) c;
+ str = constantToString(cmt.getDescriptorIndex(), Const.CONSTANT_Utf8);
+ break;
+ case Const.CONSTANT_InvokeDynamic:
+ final ConstantInvokeDynamic cid = (ConstantInvokeDynamic) c;
+ str = cid.getBootstrapMethodAttrIndex()
+ + ":" + constantToString(cid.getNameAndTypeIndex(),
+ Const.CONSTANT_NameAndType);
+ break;
+ default: // Never reached
+ throw new RuntimeException("Unknown constant type " + tag);
+ }
+ return str;
+ }
+
+
+ private static String escape( final String str ) {
+ final int len = str.length();
+ final StringBuilder buf = new StringBuilder(len + 5);
+ final char[] ch = str.toCharArray();
+ for (int i = 0; i < len; i++) {
+ switch (ch[i]) {
+ case '\n':
+ buf.append("\\n");
+ break;
+ case '\r':
+ buf.append("\\r");
+ break;
+ case '\t':
+ buf.append("\\t");
+ break;
+ case '\b':
+ buf.append("\\b");
+ break;
+ case '"':
+ buf.append("\\\"");
+ break;
+ default:
+ buf.append(ch[i]);
+ }
+ }
+ return buf.toString();
+ }
+
+
+ /**
+ * Retrieve constant at `index' from constant pool and resolve it to
+ * a string representation.
+ *
+ * @param index of constant in constant pool
+ * @param tag expected type
+ * @return String representation
+ */
+ public String constantToString( final int index, final byte tag ) throws ClassFormatException {
+ final Constant c = getConstant(index, tag);
+ return constantToString(c);
+ }
+
+
+ /**
+ * Dump constant pool to file stream in binary format.
+ *
+ * @param file Output file stream
+ * @throws IOException
+ */
+ public void dump( final DataOutputStream file ) throws IOException {
+ file.writeShort(constant_pool.length);
+ for (int i = 1; i < constant_pool.length; i++) {
+ if (constant_pool[i] != null) {
+ constant_pool[i].dump(file);
+ }
+ }
+ }
+
+
+ /**
+ * Get constant from constant pool.
+ *
+ * @param index Index in constant pool
+ * @return Constant value
+ * @see Constant
+ */
+ public Constant getConstant( final int index ) {
+ if (index >= constant_pool.length || index < 0) {
+ throw new ClassFormatException("Invalid constant pool reference: " + index
+ + ". Constant pool size is: " + constant_pool.length);
+ }
+ return constant_pool[index];
+ }
+
+
+ /**
+ * Get constant from constant pool and check whether it has the
+ * expected type.
+ *
+ * @param index Index in constant pool
+ * @param tag Tag of expected constant, i.e., its type
+ * @return Constant value
+ * @see Constant
+ * @throws ClassFormatException
+ */
+ public Constant getConstant( final int index, final byte tag ) throws ClassFormatException {
+ Constant c;
+ c = getConstant(index);
+ if (c == null) {
+ throw new ClassFormatException("Constant pool at index " + index + " is null.");
+ }
+ if (c.getTag() != tag) {
+ throw new ClassFormatException("Expected class `" + Const.getConstantName(tag)
+ + "' at index " + index + " and got " + c);
+ }
+ return c;
+ }
+
+
+ /**
+ * @return Array of constants.
+ * @see Constant
+ */
+ public Constant[] getConstantPool() {
+ return constant_pool;
+ }
+
+
+ /**
+ * Get string from constant pool and bypass the indirection of
+ * `ConstantClass' and `ConstantString' objects. I.e. these classes have
+ * an index field that points to another entry of the constant pool of
+ * type `ConstantUtf8' which contains the real data.
+ *
+ * @param index Index in constant pool
+ * @param tag Tag of expected constant, either ConstantClass or ConstantString
+ * @return Contents of string reference
+ * @see ConstantClass
+ * @see ConstantString
+ * @throws ClassFormatException
+ */
+ public String getConstantString( final int index, final byte tag ) throws ClassFormatException {
+ Constant c;
+ int i;
+ c = getConstant(index, tag);
+ /* This switch() is not that elegant, since the two classes have the
+ * same contents, they just differ in the name of the index
+ * field variable.
+ * But we want to stick to the JVM naming conventions closely though
+ * we could have solved these more elegantly by using the same
+ * variable name or by subclassing.
+ */
+ switch (tag) {
+ case Const.CONSTANT_Class:
+ i = ((ConstantClass) c).getNameIndex();
+ break;
+ case Const.CONSTANT_String:
+ i = ((ConstantString) c).getStringIndex();
+ break;
+ default:
+ throw new RuntimeException("getConstantString called with illegal tag " + tag);
+ }
+ // Finally get the string from the constant pool
+ c = getConstant(i, Const.CONSTANT_Utf8);
+ return ((ConstantUtf8) c).getBytes();
+ }
+
+
+ /**
+ * @return Length of constant pool.
+ */
+ public int getLength() {
+ return constant_pool == null ? 0 : constant_pool.length;
+ }
+
+
+ /**
+ * @param constant Constant to set
+ */
+ public void setConstant( final int index, final Constant constant ) {
+ constant_pool[index] = constant;
+ }
+
+
+ /**
+ * @param constant_pool
+ */
+ public void setConstantPool( final Constant[] constant_pool ) {
+ this.constant_pool = constant_pool;
+ }
+
+
+ /**
+ * @return String representation.
+ */
+ @Override
+ public String toString() {
+ final StringBuilder buf = new StringBuilder();
+ for (int i = 1; i < constant_pool.length; i++) {
+ buf.append(i).append(")").append(constant_pool[i]).append("\n");
+ }
+ return buf.toString();
+ }
+
+
+ /**
+ * @return deep copy of this constant pool
+ */
+ public ConstantPool copy() {
+ ConstantPool c = null;
+ try {
+ c = (ConstantPool) clone();
+ c.constant_pool = new Constant[constant_pool.length];
+ for (int i = 1; i < constant_pool.length; i++) {
+ if (constant_pool[i] != null) {
+ c.constant_pool[i] = constant_pool[i].copy();
+ }
+ }
+ } catch (final CloneNotSupportedException e) {
+ // TODO should this throw?
+ }
+ return c;
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantString.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantString.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantString.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantString.java
index be5cbdbd..17bc0b77
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantString.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantString.java
@@ -1,128 +1,131 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.classfile;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import org.apache.bcel5_2_0.Constants;
-
-/**
- * This class is derived from the abstract
- * Constant class
- * and represents a reference to a String object.
- *
- * @version $Id: ConstantString.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- * @see Constant
- */
-public final class ConstantString extends Constant implements ConstantObject {
-
- private int string_index; // Identical to ConstantClass except for this name
-
-
- /**
- * Initialize from another object.
- */
- public ConstantString(ConstantString c) {
- this(c.getStringIndex());
- }
-
-
- /**
- * Initialize instance from file data.
- *
- * @param file Input stream
- * @throws IOException
- */
- ConstantString(DataInputStream file) throws IOException {
- this(file.readUnsignedShort());
- }
-
-
- /**
- * @param string_index Index of Constant_Utf8 in constant pool
- */
- public ConstantString(int string_index) {
- super(Constants.CONSTANT_String);
- this.string_index = string_index;
- }
-
-
- /**
- * Called by objects that are traversing the nodes of the tree implicitely
- * defined by the contents of a Java class. I.e., the hierarchy of methods,
- * fields, attributes, etc. spawns a tree of objects.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitConstantString(this);
- }
-
-
- /**
- * Dump constant field reference to file stream in binary format.
- *
- * @param file Output file stream
- * @throws IOException
- */
- public final void dump( DataOutputStream file ) throws IOException {
- file.writeByte(tag);
- file.writeShort(string_index);
- }
-
-
- /**
- * @return Index in constant pool of the string (ConstantUtf8).
- */
- public final int getStringIndex() {
- return string_index;
- }
-
-
- /**
- * @param string_index the index into the constant of the string value
- */
- public final void setStringIndex( int string_index ) {
- this.string_index = string_index;
- }
-
-
- /**
- * @return String representation.
- */
- public final String toString() {
- return super.toString() + "(string_index = " + string_index + ")";
- }
-
-
- /** @return String object
- */
- public Object getConstantValue( ConstantPool cp ) {
- Constant c = cp.getConstant(string_index, Constants.CONSTANT_Utf8);
- return ((ConstantUtf8) c).getBytes();
- }
-
-
- /** @return dereferenced string
- */
- public String getBytes( ConstantPool cp ) {
- return (String) getConstantValue(cp);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class is derived from the abstract {@link Constant}
+ * and represents a reference to a String object.
+ *
+ * @version $Id: ConstantString.java 1806200 2017-08-25 16:33:06Z ggregory $
+ * @see Constant
+ */
+public final class ConstantString extends Constant implements ConstantObject {
+
+ private int string_index; // Identical to ConstantClass except for this name
+
+
+ /**
+ * Initialize from another object.
+ */
+ public ConstantString(final ConstantString c) {
+ this(c.getStringIndex());
+ }
+
+
+ /**
+ * Initialize instance from file data.
+ *
+ * @param file Input stream
+ * @throws IOException
+ */
+ ConstantString(final DataInput file) throws IOException {
+ this(file.readUnsignedShort());
+ }
+
+
+ /**
+ * @param string_index Index of Constant_Utf8 in constant pool
+ */
+ public ConstantString(final int string_index) {
+ super(Const.CONSTANT_String);
+ this.string_index = string_index;
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitely
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitConstantString(this);
+ }
+
+
+ /**
+ * Dump constant field reference to file stream in binary format.
+ *
+ * @param file Output file stream
+ * @throws IOException
+ */
+ @Override
+ public final void dump( final DataOutputStream file ) throws IOException {
+ file.writeByte(super.getTag());
+ file.writeShort(string_index);
+ }
+
+
+ /**
+ * @return Index in constant pool of the string (ConstantUtf8).
+ */
+ public final int getStringIndex() {
+ return string_index;
+ }
+
+
+ /**
+ * @param string_index the index into the constant of the string value
+ */
+ public final void setStringIndex( final int string_index ) {
+ this.string_index = string_index;
+ }
+
+
+ /**
+ * @return String representation.
+ */
+ @Override
+ public final String toString() {
+ return super.toString() + "(string_index = " + string_index + ")";
+ }
+
+
+ /** @return String object
+ */
+ @Override
+ public Object getConstantValue( final ConstantPool cp ) {
+ final Constant c = cp.getConstant(string_index, Const.CONSTANT_Utf8);
+ return ((ConstantUtf8) c).getBytes();
+ }
+
+
+ /** @return dereferenced string
+ */
+ public String getBytes( final ConstantPool cp ) {
+ return (String) getConstantValue(cp);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantUtf8.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantUtf8.java
new file mode 100644
index 00000000..82d5aff6
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantUtf8.java
@@ -0,0 +1,211 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class is derived from the abstract {@link Constant}
+ * and represents a reference to a Utf8 encoded string.
+ *
+ * @version $Id: ConstantUtf8.java 1806200 2017-08-25 16:33:06Z ggregory $
+ * @see Constant
+ */
+public final class ConstantUtf8 extends Constant {
+
+ private final String bytes;
+
+ // TODO these should perhaps be AtomicInt?
+ private static volatile int considered = 0;
+ private static volatile int hits = 0;
+ private static volatile int skipped = 0;
+ private static volatile int created = 0;
+
+ // Set the size to 0 or below to skip caching entirely
+ private static final int MAX_CACHED_SIZE =
+ Integer.getInteger("bcel.maxcached.size", 200).intValue();// CHECKSTYLE IGNORE MagicNumber
+ private static final boolean BCEL_STATISTICS = Boolean.getBoolean("bcel.statistics");
+
+
+ private static class CACHE_HOLDER {
+
+ private static final int MAX_CACHE_ENTRIES = 20000;
+ private static final int INITIAL_CACHE_CAPACITY = (int)(MAX_CACHE_ENTRIES/0.75);
+
+ private static final HashMap CACHE =
+ new LinkedHashMap(INITIAL_CACHE_CAPACITY, 0.75f, true) {
+ private static final long serialVersionUID = -8506975356158971766L;
+
+ @Override
+ protected boolean removeEldestEntry(final Map.Entry eldest) {
+ return size() > MAX_CACHE_ENTRIES;
+ }
+ };
+
+ }
+
+ // for accesss by test code
+ static void printStats() {
+ System.err.println("Cache hit " + hits + "/" + considered +", " + skipped + " skipped");
+ System.err.println("Total of " + created + " ConstantUtf8 objects created");
+ }
+
+ // for accesss by test code
+ static void clearStats() {
+ hits = considered = skipped = created = 0;
+ }
+
+ static {
+ if (BCEL_STATISTICS) {
+ Runtime.getRuntime().addShutdownHook(new Thread() {
+ @Override
+ public void run() {
+ printStats();
+ }
+ });
+ }
+ }
+
+ /**
+ * @since 6.0
+ */
+ public static ConstantUtf8 getCachedInstance(final String s) {
+ if (s.length() > MAX_CACHED_SIZE) {
+ skipped++;
+ return new ConstantUtf8(s);
+ }
+ considered++;
+ synchronized (ConstantUtf8.class) { // might be better with a specific lock object
+ ConstantUtf8 result = CACHE_HOLDER.CACHE.get(s);
+ if (result != null) {
+ hits++;
+ return result;
+ }
+ result = new ConstantUtf8(s);
+ CACHE_HOLDER.CACHE.put(s, result);
+ return result;
+ }
+ }
+
+ /**
+ * @since 6.0
+ */
+ public static ConstantUtf8 getInstance(final String s) {
+ return new ConstantUtf8(s);
+ }
+
+ /**
+ * @since 6.0
+ */
+ public static ConstantUtf8 getInstance (final DataInput input) throws IOException {
+ return getInstance(input.readUTF());
+ }
+
+ /**
+ * Initialize from another object.
+ */
+ public ConstantUtf8(final ConstantUtf8 c) {
+ this(c.getBytes());
+ }
+
+
+ /**
+ * Initialize instance from file data.
+ *
+ * @param file Input stream
+ * @throws IOException
+ */
+ ConstantUtf8(final DataInput file) throws IOException {
+ super(Const.CONSTANT_Utf8);
+ bytes = file.readUTF();
+ created++;
+ }
+
+
+ /**
+ * @param bytes Data
+ */
+ public ConstantUtf8(final String bytes) {
+ super(Const.CONSTANT_Utf8);
+ if (bytes == null) {
+ throw new IllegalArgumentException("bytes must not be null!");
+ }
+ this.bytes = bytes;
+ created++;
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitely
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitConstantUtf8(this);
+ }
+
+
+ /**
+ * Dump String in Utf8 format to file stream.
+ *
+ * @param file Output file stream
+ * @throws IOException
+ */
+ @Override
+ public final void dump( final DataOutputStream file ) throws IOException {
+ file.writeByte(super.getTag());
+ file.writeUTF(bytes);
+ }
+
+
+ /**
+ * @return Data converted to string.
+ */
+ public final String getBytes() {
+ return bytes;
+ }
+
+
+ /**
+ * @param bytes the raw bytes of this Utf-8
+ * @deprecated (since 6.0)
+ */
+ @java.lang.Deprecated
+ public final void setBytes( final String bytes ) {
+ throw new UnsupportedOperationException();
+ }
+
+
+ /**
+ * @return String representation
+ */
+ @Override
+ public final String toString() {
+ return super.toString() + "(\"" + Utility.replace(bytes, "\n", "\\n") + "\")";
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantValue.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantValue.java
old mode 100755
new mode 100644
similarity index 56%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantValue.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantValue.java
index 671d9b44..c5b0d2e6
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/ConstantValue.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantValue.java
@@ -1,156 +1,160 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.classfile;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import org.apache.bcel5_2_0.Constants;
-
-/**
- * This class is derived from Attribute and represents a constant
- * value, i.e., a default value for initializing a class field.
- * This class is instantiated by the Attribute.readAttribute() method.
- *
- * @version $Id: ConstantValue.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- * @see Attribute
- */
-public final class ConstantValue extends Attribute {
-
- private int constantvalue_index;
-
-
- /**
- * Initialize from another object. Note that both objects use the same
- * references (shallow copy). Use clone() for a physical copy.
- */
- public ConstantValue(ConstantValue c) {
- this(c.getNameIndex(), c.getLength(), c.getConstantValueIndex(), c.getConstantPool());
- }
-
-
- /**
- * Construct object from file stream.
- * @param name_index Name index in constant pool
- * @param length Content length in bytes
- * @param file Input stream
- * @param constant_pool Array of constants
- * @throws IOException
- */
- ConstantValue(int name_index, int length, DataInputStream file, ConstantPool constant_pool)
- throws IOException {
- this(name_index, length, file.readUnsignedShort(), constant_pool);
- }
-
-
- /**
- * @param name_index Name index in constant pool
- * @param length Content length in bytes
- * @param constantvalue_index Index in constant pool
- * @param constant_pool Array of constants
- */
- public ConstantValue(int name_index, int length, int constantvalue_index,
- ConstantPool constant_pool) {
- super(Constants.ATTR_CONSTANT_VALUE, name_index, length, constant_pool);
- this.constantvalue_index = constantvalue_index;
- }
-
-
- /**
- * Called by objects that are traversing the nodes of the tree implicitely
- * defined by the contents of a Java class. I.e., the hierarchy of methods,
- * fields, attributes, etc. spawns a tree of objects.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitConstantValue(this);
- }
-
-
- /**
- * Dump constant value attribute to file stream on binary format.
- *
- * @param file Output file stream
- * @throws IOException
- */
- public final void dump( DataOutputStream file ) throws IOException {
- super.dump(file);
- file.writeShort(constantvalue_index);
- }
-
-
- /**
- * @return Index in constant pool of constant value.
- */
- public final int getConstantValueIndex() {
- return constantvalue_index;
- }
-
-
- /**
- * @param constantvalue_index the index info the constant pool of this constant value
- */
- public final void setConstantValueIndex( int constantvalue_index ) {
- this.constantvalue_index = constantvalue_index;
- }
-
-
- /**
- * @return String representation of constant value.
- */
- public final String toString() {
- Constant c = constant_pool.getConstant(constantvalue_index);
- String buf;
- int i;
- // Print constant to string depending on its type
- switch (c.getTag()) {
- case Constants.CONSTANT_Long:
- buf = "" + ((ConstantLong) c).getBytes();
- break;
- case Constants.CONSTANT_Float:
- buf = "" + ((ConstantFloat) c).getBytes();
- break;
- case Constants.CONSTANT_Double:
- buf = "" + ((ConstantDouble) c).getBytes();
- break;
- case Constants.CONSTANT_Integer:
- buf = "" + ((ConstantInteger) c).getBytes();
- break;
- case Constants.CONSTANT_String:
- i = ((ConstantString) c).getStringIndex();
- c = constant_pool.getConstant(i, Constants.CONSTANT_Utf8);
- buf = "\"" + Utility.convertString(((ConstantUtf8) c).getBytes()) + "\"";
- break;
- default:
- throw new IllegalStateException("Type of ConstValue invalid: " + c);
- }
- return buf;
- }
-
-
- /**
- * @return deep copy of this attribute
- */
- public Attribute copy( ConstantPool _constant_pool ) {
- ConstantValue c = (ConstantValue) clone();
- c.constant_pool = _constant_pool;
- return c;
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class is derived from Attribute and represents a constant
+ * value, i.e., a default value for initializing a class field.
+ * This class is instantiated by the Attribute.readAttribute() method.
+ *
+ * @version $Id: ConstantValue.java 1806200 2017-08-25 16:33:06Z ggregory $
+ * @see Attribute
+ */
+public final class ConstantValue extends Attribute {
+
+ private int constantvalue_index;
+
+
+ /**
+ * Initialize from another object. Note that both objects use the same
+ * references (shallow copy). Use clone() for a physical copy.
+ */
+ public ConstantValue(final ConstantValue c) {
+ this(c.getNameIndex(), c.getLength(), c.getConstantValueIndex(), c.getConstantPool());
+ }
+
+
+ /**
+ * Construct object from input stream.
+ * @param name_index Name index in constant pool
+ * @param length Content length in bytes
+ * @param input Input stream
+ * @param constant_pool Array of constants
+ * @throws IOException
+ */
+ ConstantValue(final int name_index, final int length, final DataInput input, final ConstantPool constant_pool)
+ throws IOException {
+ this(name_index, length, input.readUnsignedShort(), constant_pool);
+ }
+
+
+ /**
+ * @param name_index Name index in constant pool
+ * @param length Content length in bytes
+ * @param constantvalue_index Index in constant pool
+ * @param constant_pool Array of constants
+ */
+ public ConstantValue(final int name_index, final int length, final int constantvalue_index,
+ final ConstantPool constant_pool) {
+ super(Const.ATTR_CONSTANT_VALUE, name_index, length, constant_pool);
+ this.constantvalue_index = constantvalue_index;
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitely
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitConstantValue(this);
+ }
+
+
+ /**
+ * Dump constant value attribute to file stream on binary format.
+ *
+ * @param file Output file stream
+ * @throws IOException
+ */
+ @Override
+ public final void dump( final DataOutputStream file ) throws IOException {
+ super.dump(file);
+ file.writeShort(constantvalue_index);
+ }
+
+
+ /**
+ * @return Index in constant pool of constant value.
+ */
+ public final int getConstantValueIndex() {
+ return constantvalue_index;
+ }
+
+
+ /**
+ * @param constantvalue_index the index info the constant pool of this constant value
+ */
+ public final void setConstantValueIndex( final int constantvalue_index ) {
+ this.constantvalue_index = constantvalue_index;
+ }
+
+
+ /**
+ * @return String representation of constant value.
+ */
+ @Override
+ public final String toString() {
+ Constant c = super.getConstantPool().getConstant(constantvalue_index);
+ String buf;
+ int i;
+ // Print constant to string depending on its type
+ switch (c.getTag()) {
+ case Const.CONSTANT_Long:
+ buf = String.valueOf(((ConstantLong) c).getBytes());
+ break;
+ case Const.CONSTANT_Float:
+ buf = String.valueOf(((ConstantFloat) c).getBytes());
+ break;
+ case Const.CONSTANT_Double:
+ buf = String.valueOf(((ConstantDouble) c).getBytes());
+ break;
+ case Const.CONSTANT_Integer:
+ buf = String.valueOf(((ConstantInteger) c).getBytes());
+ break;
+ case Const.CONSTANT_String:
+ i = ((ConstantString) c).getStringIndex();
+ c = super.getConstantPool().getConstant(i, Const.CONSTANT_Utf8);
+ buf = "\"" + Utility.convertString(((ConstantUtf8) c).getBytes()) + "\"";
+ break;
+ default:
+ throw new IllegalStateException("Type of ConstValue invalid: " + c);
+ }
+ return buf;
+ }
+
+
+ /**
+ * @return deep copy of this attribute
+ */
+ @Override
+ public Attribute copy( final ConstantPool _constant_pool ) {
+ final ConstantValue c = (ConstantValue) clone();
+ c.setConstantPool(_constant_pool);
+ return c;
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/Deprecated.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Deprecated.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/Deprecated.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Deprecated.java
index 0623063e..a5aba52c
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/classfile/Deprecated.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Deprecated.java
@@ -1,141 +1,146 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.classfile;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import org.apache.bcel5_2_0.Constants;
-
-/**
- * This class is derived from Attribute and denotes that this is a
- * deprecated method.
- * It is instantiated from the Attribute.readAttribute() method.
- *
- * @version $Id: Deprecated.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- * @see Attribute
- */
-public final class Deprecated extends Attribute {
-
- private byte[] bytes;
-
-
- /**
- * Initialize from another object. Note that both objects use the same
- * references (shallow copy). Use clone() for a physical copy.
- */
- public Deprecated(Deprecated c) {
- this(c.getNameIndex(), c.getLength(), c.getBytes(), c.getConstantPool());
- }
-
-
- /**
- * @param name_index Index in constant pool to CONSTANT_Utf8
- * @param length Content length in bytes
- * @param bytes Attribute contents
- * @param constant_pool Array of constants
- */
- public Deprecated(int name_index, int length, byte[] bytes, ConstantPool constant_pool) {
- super(Constants.ATTR_DEPRECATED, name_index, length, constant_pool);
- this.bytes = bytes;
- }
-
-
- /**
- * Construct object from file stream.
- * @param name_index Index in constant pool to CONSTANT_Utf8
- * @param length Content length in bytes
- * @param file Input stream
- * @param constant_pool Array of constants
- * @throws IOException
- */
- Deprecated(int name_index, int length, DataInputStream file, ConstantPool constant_pool)
- throws IOException {
- this(name_index, length, (byte[]) null, constant_pool);
- if (length > 0) {
- bytes = new byte[length];
- file.readFully(bytes);
- System.err.println("Deprecated attribute with length > 0");
- }
- }
-
-
- /**
- * Called by objects that are traversing the nodes of the tree implicitely
- * defined by the contents of a Java class. I.e., the hierarchy of methods,
- * fields, attributes, etc. spawns a tree of objects.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitDeprecated(this);
- }
-
-
- /**
- * Dump source file attribute to file stream in binary format.
- *
- * @param file Output file stream
- * @throws IOException
- */
- public final void dump( DataOutputStream file ) throws IOException {
- super.dump(file);
- if (length > 0) {
- file.write(bytes, 0, length);
- }
- }
-
-
- /**
- * @return data bytes.
- */
- public final byte[] getBytes() {
- return bytes;
- }
-
-
- /**
- * @param bytes the raw bytes that represents this byte array
- */
- public final void setBytes( byte[] bytes ) {
- this.bytes = bytes;
- }
-
-
- /**
- * @return attribute name
- */
- public final String toString() {
- return Constants.ATTRIBUTE_NAMES[Constants.ATTR_DEPRECATED];
- }
-
-
- /**
- * @return deep copy of this attribute
- */
- public Attribute copy( ConstantPool _constant_pool ) {
- Deprecated c = (Deprecated) clone();
- if (bytes != null) {
- c.bytes = new byte[bytes.length];
- System.arraycopy(bytes, 0, c.bytes, 0, bytes.length);
- }
- c.constant_pool = _constant_pool;
- return c;
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class is derived from Attribute and denotes that this is a
+ * deprecated method.
+ * It is instantiated from the Attribute.readAttribute() method.
+ *
+ * @version $Id: Deprecated.java 1806200 2017-08-25 16:33:06Z ggregory $
+ * @see Attribute
+ */
+public final class Deprecated extends Attribute {
+
+ private byte[] bytes;
+
+
+ /**
+ * Initialize from another object. Note that both objects use the same
+ * references (shallow copy). Use clone() for a physical copy.
+ */
+ public Deprecated(final Deprecated c) {
+ this(c.getNameIndex(), c.getLength(), c.getBytes(), c.getConstantPool());
+ }
+
+
+ /**
+ * @param name_index Index in constant pool to CONSTANT_Utf8
+ * @param length Content length in bytes
+ * @param bytes Attribute contents
+ * @param constant_pool Array of constants
+ */
+ public Deprecated(final int name_index, final int length, final byte[] bytes, final ConstantPool constant_pool) {
+ super(Const.ATTR_DEPRECATED, name_index, length, constant_pool);
+ this.bytes = bytes;
+ }
+
+
+ /**
+ * Construct object from input stream.
+ *
+ * @param name_index Index in constant pool to CONSTANT_Utf8
+ * @param length Content length in bytes
+ * @param input Input stream
+ * @param constant_pool Array of constants
+ * @throws IOException
+ */
+ Deprecated(final int name_index, final int length, final DataInput input, final ConstantPool constant_pool)
+ throws IOException {
+ this(name_index, length, (byte[]) null, constant_pool);
+ if (length > 0) {
+ bytes = new byte[length];
+ input.readFully(bytes);
+ System.err.println("Deprecated attribute with length > 0");
+ }
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitely
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitDeprecated(this);
+ }
+
+
+ /**
+ * Dump source file attribute to file stream in binary format.
+ *
+ * @param file Output file stream
+ * @throws IOException
+ */
+ @Override
+ public final void dump( final DataOutputStream file ) throws IOException {
+ super.dump(file);
+ if (super.getLength() > 0) {
+ file.write(bytes, 0, super.getLength());
+ }
+ }
+
+
+ /**
+ * @return data bytes.
+ */
+ public final byte[] getBytes() {
+ return bytes;
+ }
+
+
+ /**
+ * @param bytes the raw bytes that represents this byte array
+ */
+ public final void setBytes( final byte[] bytes ) {
+ this.bytes = bytes;
+ }
+
+
+ /**
+ * @return attribute name
+ */
+ @Override
+ public final String toString() {
+ return Const.getAttributeName(Const.ATTR_DEPRECATED);
+ }
+
+
+ /**
+ * @return deep copy of this attribute
+ */
+ @Override
+ public Attribute copy( final ConstantPool _constant_pool ) {
+ final Deprecated c = (Deprecated) clone();
+ if (bytes != null) {
+ c.bytes = new byte[bytes.length];
+ System.arraycopy(bytes, 0, c.bytes, 0, bytes.length);
+ }
+ c.setConstantPool(_constant_pool);
+ return c;
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/DescendingVisitor.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/DescendingVisitor.java
new file mode 100644
index 00000000..1c3f70f6
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/DescendingVisitor.java
@@ -0,0 +1,546 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.util.Stack;
+
+/**
+ * Traverses a JavaClass with another Visitor object 'piggy-backed' that is
+ * applied to all components of a JavaClass object. I.e. this class supplies the
+ * traversal strategy, other classes can make use of it.
+ *
+ * @version $Id: DescendingVisitor.java 1806489 2017-08-28 19:05:57Z britter $
+ */
+public class DescendingVisitor implements Visitor
+{
+ private final JavaClass clazz;
+
+ private final Visitor visitor;
+
+ private final Stack
- *
- *
This operation inflates the original byte array by roughly 40-50%
- *
- * @param bytes the byte array to convert
- * @param compress use gzip to minimize string
- */
- public static String encode( byte[] bytes, boolean compress ) throws IOException {
- if (compress) {
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- GZIPOutputStream gos = new GZIPOutputStream(baos);
- gos.write(bytes, 0, bytes.length);
- gos.close();
- baos.close();
- bytes = baos.toByteArray();
- }
- CharArrayWriter caw = new CharArrayWriter();
- JavaWriter jw = new JavaWriter(caw);
- for (int i = 0; i < bytes.length; i++) {
- int in = bytes[i] & 0x000000ff; // Normalize to unsigned
- jw.write(in);
- }
- jw.close();
- return caw.toString();
- }
-
-
- /** Decode a string back to a byte array.
- *
- * @param s the string to convert
- * @param uncompress use gzip to uncompress the stream of bytes
- */
- public static byte[] decode( String s, boolean uncompress ) throws IOException {
- char[] chars = s.toCharArray();
- CharArrayReader car = new CharArrayReader(chars);
- JavaReader jr = new JavaReader(car);
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- int ch;
- while ((ch = jr.read()) >= 0) {
- bos.write(ch);
- }
- bos.close();
- car.close();
- jr.close();
- byte[] bytes = bos.toByteArray();
- if (uncompress) {
- GZIPInputStream gis = new GZIPInputStream(new ByteArrayInputStream(bytes));
- byte[] tmp = new byte[bytes.length * 3]; // Rough estimate
- int count = 0;
- int b;
- while ((b = gis.read()) >= 0) {
- tmp[count++] = (byte) b;
- }
- bytes = new byte[count];
- System.arraycopy(tmp, 0, bytes, 0, count);
- }
- return bytes;
- }
-
- // A-Z, g-z, _, $
- private static final int FREE_CHARS = 48;
- static int[] CHAR_MAP = new int[FREE_CHARS];
- static int[] MAP_CHAR = new int[256]; // Reverse map
- private static final char ESCAPE_CHAR = '$';
- static {
- int j = 0;
- for (int i = 'A'; i <= 'Z'; i++) {
- CHAR_MAP[j] = i;
- MAP_CHAR[i] = j;
- j++;
- }
- for (int i = 'g'; i <= 'z'; i++) {
- CHAR_MAP[j] = i;
- MAP_CHAR[i] = j;
- j++;
- }
- CHAR_MAP[j] = '$';
- MAP_CHAR['$'] = j;
- j++;
- CHAR_MAP[j] = '_';
- MAP_CHAR['_'] = j;
- }
-
- /** Decode characters into bytes.
- * Used by decode()
- */
- private static class JavaReader extends FilterReader {
-
- public JavaReader(Reader in) {
- super(in);
- }
-
-
- public int read() throws IOException {
- int b = in.read();
- if (b != ESCAPE_CHAR) {
- return b;
- }
- int i = in.read();
- if (i < 0) {
- return -1;
- }
- if (((i >= '0') && (i <= '9')) || ((i >= 'a') && (i <= 'f'))) { // Normal escape
- int j = in.read();
- if (j < 0) {
- return -1;
- }
- char[] tmp = {
- (char) i, (char) j
- };
- int s = Integer.parseInt(new String(tmp), 16);
- return s;
- }
- return MAP_CHAR[i];
- }
-
-
- public int read( char[] cbuf, int off, int len ) throws IOException {
- for (int i = 0; i < len; i++) {
- cbuf[off + i] = (char) read();
- }
- return len;
- }
- }
-
- /** Encode bytes into valid java identifier characters.
- * Used by encode()
- */
- private static class JavaWriter extends FilterWriter {
-
- public JavaWriter(Writer out) {
- super(out);
- }
-
-
- public void write( int b ) throws IOException {
- if (isJavaIdentifierPart((char) b) && (b != ESCAPE_CHAR)) {
- out.write(b);
- } else {
- out.write(ESCAPE_CHAR); // Escape character
- // Special escape
- if (b >= 0 && b < FREE_CHARS) {
- out.write(CHAR_MAP[b]);
- } else { // Normal escape
- char[] tmp = Integer.toHexString(b).toCharArray();
- if (tmp.length == 1) {
- out.write('0');
- out.write(tmp[0]);
- } else {
- out.write(tmp[0]);
- out.write(tmp[1]);
- }
- }
- }
- }
-
-
- public void write( char[] cbuf, int off, int len ) throws IOException {
- for (int i = 0; i < len; i++) {
- write(cbuf[off + i]);
- }
- }
-
-
- public void write( String str, int off, int len ) throws IOException {
- write(str.toCharArray(), off, len);
- }
- }
-
-
- /**
- * Escape all occurences of newline chars '\n', quotes \", etc.
- */
- public static final String convertString( String label ) {
- char[] ch = label.toCharArray();
- StringBuilder buf = new StringBuilder();
- for (int i = 0; i < ch.length; i++) {
- switch (ch[i]) {
- case '\n':
- buf.append("\\n");
- break;
- case '\r':
- buf.append("\\r");
- break;
- case '\"':
- buf.append("\\\"");
- break;
- case '\'':
- buf.append("\\'");
- break;
- case '\\':
- buf.append("\\\\");
- break;
- default:
- buf.append(ch[i]);
- break;
- }
- }
- return buf.toString();
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.bcel.classfile;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.CharArrayReader;
+import java.io.CharArrayWriter;
+import java.io.FilterReader;
+import java.io.FilterWriter;
+import java.io.IOException;
+import java.io.PrintStream;
+import java.io.PrintWriter;
+import java.io.Reader;
+import java.io.Writer;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
+import java.util.zip.GZIPInputStream;
+import java.util.zip.GZIPOutputStream;
+
+import org.apache.bcel.Const;
+import org.apache.bcel.util.ByteSequence;
+
+/**
+ * Utility functions that do not really belong to any class in particular.
+ *
+ * @version $Id: Utility.java 1808131 2017-09-12 16:36:55Z britter $
+ */
+// @since 6.0 methods are no longer final
+public abstract class Utility {
+
+ private static int unwrap( final ThreadLocal tl ) {
+ return tl.get().intValue();
+ }
+
+
+ private static void wrap( final ThreadLocal tl, final int value ) {
+ tl.set(Integer.valueOf(value));
+ }
+
+ private static ThreadLocal consumed_chars = new ThreadLocal() {
+
+ @Override
+ protected Integer initialValue() {
+ return Integer.valueOf(0);
+ }
+ };/* How many chars have been consumed
+ * during parsing in signatureToString().
+ * Read by methodSignatureToString().
+ * Set by side effect,but only internally.
+ */
+ private static boolean wide = false; /* The `WIDE' instruction is used in the
+ * byte code to allow 16-bit wide indices
+ * for local variables. This opcode
+ * precedes an `ILOAD', e.g.. The opcode
+ * immediately following takes an extra
+ * byte which is combined with the
+ * following byte to form a
+ * 16-bit value.
+ */
+
+
+ /**
+ * Convert bit field of flags into string such as `static final'.
+ *
+ * @param access_flags Access flags
+ * @return String representation of flags
+ */
+ public static String accessToString( final int access_flags ) {
+ return accessToString(access_flags, false);
+ }
+
+
+ /**
+ * Convert bit field of flags into string such as `static final'.
+ *
+ * Special case: Classes compiled with new compilers and with the
+ * `ACC_SUPER' flag would be said to be "synchronized". This is
+ * because SUN used the same value for the flags `ACC_SUPER' and
+ * `ACC_SYNCHRONIZED'.
+ *
+ * @param access_flags Access flags
+ * @param for_class access flags are for class qualifiers ?
+ * @return String representation of flags
+ */
+ public static String accessToString( final int access_flags, final boolean for_class ) {
+ final StringBuilder buf = new StringBuilder();
+ int p = 0;
+ for (int i = 0; p < Const.MAX_ACC_FLAG; i++) { // Loop through known flags
+ p = pow2(i);
+ if ((access_flags & p) != 0) {
+ /* Special case: Classes compiled with new compilers and with the
+ * `ACC_SUPER' flag would be said to be "synchronized". This is
+ * because SUN used the same value for the flags `ACC_SUPER' and
+ * `ACC_SYNCHRONIZED'.
+ */
+ if (for_class && ((p == Const.ACC_SUPER) || (p == Const.ACC_INTERFACE))) {
+ continue;
+ }
+ buf.append(Const.getAccessName(i)).append(" ");
+ }
+ }
+ return buf.toString().trim();
+ }
+
+
+ /**
+ * @param access_flags the class flags
+ *
+ * @return "class" or "interface", depending on the ACC_INTERFACE flag
+ */
+ public static String classOrInterface( final int access_flags ) {
+ return ((access_flags & Const.ACC_INTERFACE) != 0) ? "interface" : "class";
+ }
+
+
+ /**
+ * Disassemble a byte array of JVM byte codes starting from code line
+ * `index' and return the disassembled string representation. Decode only
+ * `num' opcodes (including their operands), use -1 if you want to
+ * decompile everything.
+ *
+ * @param code byte code array
+ * @param constant_pool Array of constants
+ * @param index offset in `code' array
+ * (number of opcodes, not bytes!)
+ * @param length number of opcodes to decompile, -1 for all
+ * @param verbose be verbose, e.g. print constant pool index
+ * @return String representation of byte codes
+ */
+ public static String codeToString( final byte[] code, final ConstantPool constant_pool, final int index,
+ final int length, final boolean verbose ) {
+ final StringBuilder buf = new StringBuilder(code.length * 20); // Should be sufficient // CHECKSTYLE IGNORE MagicNumber
+ try (ByteSequence stream = new ByteSequence(code)) {
+ for (int i = 0; i < index; i++) {
+ codeToString(stream, constant_pool, verbose);
+ }
+ for (int i = 0; stream.available() > 0; i++) {
+ if ((length < 0) || (i < length)) {
+ final String indices = fillup(stream.getIndex() + ":", 6, true, ' ');
+ buf.append(indices).append(codeToString(stream, constant_pool, verbose)).append('\n');
+ }
+ }
+ } catch (final IOException e) {
+ throw new ClassFormatException("Byte code error: " + buf.toString(), e);
+ }
+ return buf.toString();
+ }
+
+
+ public static String codeToString( final byte[] code, final ConstantPool constant_pool, final int index, final int length ) {
+ return codeToString(code, constant_pool, index, length, true);
+ }
+
+
+ /**
+ * Disassemble a stream of byte codes and return the
+ * string representation.
+ *
+ * @param bytes stream of bytes
+ * @param constant_pool Array of constants
+ * @param verbose be verbose, e.g. print constant pool index
+ * @return String representation of byte code
+ *
+ * @throws IOException if a failure from reading from the bytes argument occurs
+ */
+ public static String codeToString( final ByteSequence bytes, final ConstantPool constant_pool,
+ final boolean verbose ) throws IOException {
+ final short opcode = (short) bytes.readUnsignedByte();
+ int default_offset = 0;
+ int low;
+ int high;
+ int npairs;
+ int index;
+ int vindex;
+ int constant;
+ int[] match;
+ int[] jump_table;
+ int no_pad_bytes = 0;
+ int offset;
+ final StringBuilder buf = new StringBuilder(Const.getOpcodeName(opcode));
+ /* Special case: Skip (0-3) padding bytes, i.e., the
+ * following bytes are 4-byte-aligned
+ */
+ if ((opcode == Const.TABLESWITCH) || (opcode == Const.LOOKUPSWITCH)) {
+ final int remainder = bytes.getIndex() % 4;
+ no_pad_bytes = (remainder == 0) ? 0 : 4 - remainder;
+ for (int i = 0; i < no_pad_bytes; i++) {
+ byte b;
+ if ((b = bytes.readByte()) != 0) {
+ System.err.println("Warning: Padding byte != 0 in "
+ + Const.getOpcodeName(opcode) + ":" + b);
+ }
+ }
+ // Both cases have a field default_offset in common
+ default_offset = bytes.readInt();
+ }
+ switch (opcode) {
+ /* Table switch has variable length arguments.
+ */
+ case Const.TABLESWITCH:
+ low = bytes.readInt();
+ high = bytes.readInt();
+ offset = bytes.getIndex() - 12 - no_pad_bytes - 1;
+ default_offset += offset;
+ buf.append("\tdefault = ").append(default_offset).append(", low = ").append(low)
+ .append(", high = ").append(high).append("(");
+ jump_table = new int[high - low + 1];
+ for (int i = 0; i < jump_table.length; i++) {
+ jump_table[i] = offset + bytes.readInt();
+ buf.append(jump_table[i]);
+ if (i < jump_table.length - 1) {
+ buf.append(", ");
+ }
+ }
+ buf.append(")");
+ break;
+ /* Lookup switch has variable length arguments.
+ */
+ case Const.LOOKUPSWITCH: {
+ npairs = bytes.readInt();
+ offset = bytes.getIndex() - 8 - no_pad_bytes - 1;
+ match = new int[npairs];
+ jump_table = new int[npairs];
+ default_offset += offset;
+ buf.append("\tdefault = ").append(default_offset).append(", npairs = ").append(
+ npairs).append(" (");
+ for (int i = 0; i < npairs; i++) {
+ match[i] = bytes.readInt();
+ jump_table[i] = offset + bytes.readInt();
+ buf.append("(").append(match[i]).append(", ").append(jump_table[i]).append(")");
+ if (i < npairs - 1) {
+ buf.append(", ");
+ }
+ }
+ buf.append(")");
+ }
+ break;
+ /* Two address bytes + offset from start of byte stream form the
+ * jump target
+ */
+ case Const.GOTO:
+ case Const.IFEQ:
+ case Const.IFGE:
+ case Const.IFGT:
+ case Const.IFLE:
+ case Const.IFLT:
+ case Const.JSR:
+ case Const.IFNE:
+ case Const.IFNONNULL:
+ case Const.IFNULL:
+ case Const.IF_ACMPEQ:
+ case Const.IF_ACMPNE:
+ case Const.IF_ICMPEQ:
+ case Const.IF_ICMPGE:
+ case Const.IF_ICMPGT:
+ case Const.IF_ICMPLE:
+ case Const.IF_ICMPLT:
+ case Const.IF_ICMPNE:
+ buf.append("\t\t#").append((bytes.getIndex() - 1) + bytes.readShort());
+ break;
+ /* 32-bit wide jumps
+ */
+ case Const.GOTO_W:
+ case Const.JSR_W:
+ buf.append("\t\t#").append((bytes.getIndex() - 1) + bytes.readInt());
+ break;
+ /* Index byte references local variable (register)
+ */
+ case Const.ALOAD:
+ case Const.ASTORE:
+ case Const.DLOAD:
+ case Const.DSTORE:
+ case Const.FLOAD:
+ case Const.FSTORE:
+ case Const.ILOAD:
+ case Const.ISTORE:
+ case Const.LLOAD:
+ case Const.LSTORE:
+ case Const.RET:
+ if (wide) {
+ vindex = bytes.readUnsignedShort();
+ wide = false; // Clear flag
+ } else {
+ vindex = bytes.readUnsignedByte();
+ }
+ buf.append("\t\t%").append(vindex);
+ break;
+ /*
+ * Remember wide byte which is used to form a 16-bit address in the
+ * following instruction. Relies on that the method is called again with
+ * the following opcode.
+ */
+ case Const.WIDE:
+ wide = true;
+ buf.append("\t(wide)");
+ break;
+ /* Array of basic type.
+ */
+ case Const.NEWARRAY:
+ buf.append("\t\t<").append(Const.getTypeName(bytes.readByte())).append(">");
+ break;
+ /* Access object/class fields.
+ */
+ case Const.GETFIELD:
+ case Const.GETSTATIC:
+ case Const.PUTFIELD:
+ case Const.PUTSTATIC:
+ index = bytes.readUnsignedShort();
+ buf.append("\t\t").append(
+ constant_pool.constantToString(index, Const.CONSTANT_Fieldref)).append(
+ verbose ? " (" + index + ")" : "");
+ break;
+ /* Operands are references to classes in constant pool
+ */
+ case Const.NEW:
+ case Const.CHECKCAST:
+ buf.append("\t");
+ //$FALL-THROUGH$
+ case Const.INSTANCEOF:
+ index = bytes.readUnsignedShort();
+ buf.append("\t<").append(
+ constant_pool.constantToString(index, Const.CONSTANT_Class))
+ .append(">").append(verbose ? " (" + index + ")" : "");
+ break;
+ /* Operands are references to methods in constant pool
+ */
+ case Const.INVOKESPECIAL:
+ case Const.INVOKESTATIC:
+ index = bytes.readUnsignedShort();
+ final Constant c = constant_pool.getConstant(index);
+ // With Java8 operand may be either a CONSTANT_Methodref
+ // or a CONSTANT_InterfaceMethodref. (markro)
+ buf.append("\t").append(
+ constant_pool.constantToString(index, c.getTag()))
+ .append(verbose ? " (" + index + ")" : "");
+ break;
+ case Const.INVOKEVIRTUAL:
+ index = bytes.readUnsignedShort();
+ buf.append("\t").append(
+ constant_pool.constantToString(index, Const.CONSTANT_Methodref))
+ .append(verbose ? " (" + index + ")" : "");
+ break;
+ case Const.INVOKEINTERFACE:
+ index = bytes.readUnsignedShort();
+ final int nargs = bytes.readUnsignedByte(); // historical, redundant
+ buf.append("\t").append(
+ constant_pool
+ .constantToString(index, Const.CONSTANT_InterfaceMethodref))
+ .append(verbose ? " (" + index + ")\t" : "").append(nargs).append("\t")
+ .append(bytes.readUnsignedByte()); // Last byte is a reserved space
+ break;
+ case Const.INVOKEDYNAMIC:
+ index = bytes.readUnsignedShort();
+ buf.append("\t").append(
+ constant_pool
+ .constantToString(index, Const.CONSTANT_InvokeDynamic))
+ .append(verbose ? " (" + index + ")\t" : "")
+ .append(bytes.readUnsignedByte()) // Thrid byte is a reserved space
+ .append(bytes.readUnsignedByte()); // Last byte is a reserved space
+ break;
+ /* Operands are references to items in constant pool
+ */
+ case Const.LDC_W:
+ case Const.LDC2_W:
+ index = bytes.readUnsignedShort();
+ buf.append("\t\t").append(
+ constant_pool.constantToString(index, constant_pool.getConstant(index)
+ .getTag())).append(verbose ? " (" + index + ")" : "");
+ break;
+ case Const.LDC:
+ index = bytes.readUnsignedByte();
+ buf.append("\t\t").append(
+ constant_pool.constantToString(index, constant_pool.getConstant(index)
+ .getTag())).append(verbose ? " (" + index + ")" : "");
+ break;
+ /* Array of references.
+ */
+ case Const.ANEWARRAY:
+ index = bytes.readUnsignedShort();
+ buf.append("\t\t<").append(
+ compactClassName(constant_pool.getConstantString(index,
+ Const.CONSTANT_Class), false)).append(">").append(
+ verbose ? " (" + index + ")" : "");
+ break;
+ /* Multidimensional array of references.
+ */
+ case Const.MULTIANEWARRAY: {
+ index = bytes.readUnsignedShort();
+ final int dimensions = bytes.readUnsignedByte();
+ buf.append("\t<").append(
+ compactClassName(constant_pool.getConstantString(index,
+ Const.CONSTANT_Class), false)).append(">\t").append(dimensions)
+ .append(verbose ? " (" + index + ")" : "");
+ }
+ break;
+ /* Increment local variable.
+ */
+ case Const.IINC:
+ if (wide) {
+ vindex = bytes.readUnsignedShort();
+ constant = bytes.readShort();
+ wide = false;
+ } else {
+ vindex = bytes.readUnsignedByte();
+ constant = bytes.readByte();
+ }
+ buf.append("\t\t%").append(vindex).append("\t").append(constant);
+ break;
+ default:
+ if (Const.getNoOfOperands(opcode) > 0) {
+ for (int i = 0; i < Const.getOperandTypeCount(opcode); i++) {
+ buf.append("\t\t");
+ switch (Const.getOperandType(opcode, i)) {
+ case Const.T_BYTE:
+ buf.append(bytes.readByte());
+ break;
+ case Const.T_SHORT:
+ buf.append(bytes.readShort());
+ break;
+ case Const.T_INT:
+ buf.append(bytes.readInt());
+ break;
+ default: // Never reached
+ throw new IllegalStateException("Unreachable default case reached!");
+ }
+ }
+ }
+ }
+ return buf.toString();
+ }
+
+
+ public static String codeToString( final ByteSequence bytes, final ConstantPool constant_pool )
+ throws IOException {
+ return codeToString(bytes, constant_pool, true);
+ }
+
+
+ /**
+ * Shorten long class names, java/lang/String becomes
+ * String.
+ *
+ * @param str The long class name
+ * @return Compacted class name
+ */
+ public static String compactClassName( final String str ) {
+ return compactClassName(str, true);
+ }
+
+
+ /**
+ * Shorten long class name str, i.e., chop off the prefix,
+ * if the
+ * class name starts with this string and the flag chopit is true.
+ * Slashes / are converted to dots ..
+ *
+ * @param str The long class name
+ * @param prefix The prefix the get rid off
+ * @param chopit Flag that determines whether chopping is executed or not
+ * @return Compacted class name
+ */
+ public static String compactClassName( String str, final String prefix, final boolean chopit ) {
+ final int len = prefix.length();
+ str = str.replace('/', '.'); // Is `/' on all systems, even DOS
+ if (chopit) {
+ // If string starts with `prefix' and contains no further dots
+ if (str.startsWith(prefix) && (str.substring(len).indexOf('.') == -1)) {
+ str = str.substring(len);
+ }
+ }
+ return str;
+ }
+
+
+ /**
+ * Shorten long class names, java/lang/String becomes
+ * java.lang.String,
+ * e.g.. If chopit is true the prefix java.lang
+ * is also removed.
+ *
+ * @param str The long class name
+ * @param chopit Flag that determines whether chopping is executed or not
+ * @return Compacted class name
+ */
+ public static String compactClassName( final String str, final boolean chopit ) {
+ return compactClassName(str, "java.lang.", chopit);
+ }
+
+
+ /**
+ * @return `flag' with bit `i' set to 1
+ */
+ public static int setBit( final int flag, final int i ) {
+ return flag | pow2(i);
+ }
+
+
+ /**
+ * @return `flag' with bit `i' set to 0
+ */
+ public static int clearBit( final int flag, final int i ) {
+ final int bit = pow2(i);
+ return (flag & bit) == 0 ? flag : flag ^ bit;
+ }
+
+
+ /**
+ * @return true, if bit `i' in `flag' is set
+ */
+ public static boolean isSet( final int flag, final int i ) {
+ return (flag & pow2(i)) != 0;
+ }
+
+
+ /**
+ * Converts string containing the method return and argument types
+ * to a byte code method signature.
+ *
+ * @param ret Return type of method
+ * @param argv Types of method arguments
+ * @return Byte code representation of method signature
+ *
+ * @throws ClassFormatException if the signature is for Void
+ */
+ public static String methodTypeToSignature( final String ret, final String[] argv )
+ throws ClassFormatException {
+ final StringBuilder buf = new StringBuilder("(");
+ String str;
+ if (argv != null) {
+ for (final String element : argv) {
+ str = getSignature(element);
+ if (str.endsWith("V")) {
+ throw new ClassFormatException("Invalid type: " + element);
+ }
+ buf.append(str);
+ }
+ }
+ str = getSignature(ret);
+ buf.append(")").append(str);
+ return buf.toString();
+ }
+
+
+ /**
+ * @param signature Method signature
+ * @return Array of argument types
+ * @throws ClassFormatException
+ */
+ public static String[] methodSignatureArgumentTypes( final String signature )
+ throws ClassFormatException {
+ return methodSignatureArgumentTypes(signature, true);
+ }
+
+
+ /**
+ * @param signature Method signature
+ * @param chopit Shorten class names ?
+ * @return Array of argument types
+ * @throws ClassFormatException
+ */
+ public static String[] methodSignatureArgumentTypes( final String signature, final boolean chopit )
+ throws ClassFormatException {
+ final List vec = new ArrayList<>();
+ int index;
+ try { // Read all declarations between for `(' and `)'
+ if (signature.charAt(0) != '(') {
+ throw new ClassFormatException("Invalid method signature: " + signature);
+ }
+ index = 1; // current string position
+ while (signature.charAt(index) != ')') {
+ vec.add(signatureToString(signature.substring(index), chopit));
+ //corrected concurrent private static field acess
+ index += unwrap(consumed_chars); // update position
+ }
+ } catch (final StringIndexOutOfBoundsException e) { // Should never occur
+ throw new ClassFormatException("Invalid method signature: " + signature, e);
+ }
+ return vec.toArray(new String[vec.size()]);
+ }
+
+
+ /**
+ * @param signature Method signature
+ * @return return type of method
+ * @throws ClassFormatException
+ */
+ public static String methodSignatureReturnType( final String signature ) throws ClassFormatException {
+ return methodSignatureReturnType(signature, true);
+ }
+
+
+ /**
+ * @param signature Method signature
+ * @param chopit Shorten class names ?
+ * @return return type of method
+ * @throws ClassFormatException
+ */
+ public static String methodSignatureReturnType( final String signature, final boolean chopit ) throws ClassFormatException {
+ int index;
+ String type;
+ try {
+ // Read return type after `)'
+ index = signature.lastIndexOf(')') + 1;
+ type = signatureToString(signature.substring(index), chopit);
+ } catch (final StringIndexOutOfBoundsException e) { // Should never occur
+ throw new ClassFormatException("Invalid method signature: " + signature, e);
+ }
+ return type;
+ }
+
+
+ /**
+ * Converts method signature to string with all class names compacted.
+ *
+ * @param signature to convert
+ * @param name of method
+ * @param access flags of method
+ * @return Human readable signature
+ */
+ public static String methodSignatureToString( final String signature, final String name, final String access ) {
+ return methodSignatureToString(signature, name, access, true);
+ }
+
+
+ public static String methodSignatureToString( final String signature, final String name, final String access, final boolean chopit ) {
+ return methodSignatureToString(signature, name, access, chopit, null);
+ }
+
+
+ /**
+ * A returntype signature represents the return value from a method.
+ * It is a series of bytes in the following grammar:
+ *
+ *
+ * <return_signature> ::= <field_type> | V
+ *
+ *
+ * The character V indicates that the method returns no value. Otherwise, the
+ * signature indicates the type of the return value.
+ * An argument signature represents an argument passed to a method:
+ *
+ *
+ * <argument_signature> ::= <field_type>
+ *
+ *
+ * A method signature represents the arguments that the method expects, and
+ * the value that it returns.
+ *
+ *
+ * This method converts such a string into a Java type declaration like
+ * `void main(String[])' and throws a `ClassFormatException' when the parsed
+ * type is invalid.
+ *
+ * @param signature Method signature
+ * @param name Method name
+ * @param access Method access rights
+ * @param chopit
+ * @param vars
+ * @return Java type declaration
+ * @throws ClassFormatException
+ */
+ public static String methodSignatureToString( final String signature, final String name,
+ final String access, final boolean chopit, final LocalVariableTable vars ) throws ClassFormatException {
+ final StringBuilder buf = new StringBuilder("(");
+ String type;
+ int index;
+ int var_index = access.contains("static") ? 0 : 1;
+ try { // Read all declarations between for `(' and `)'
+ if (signature.charAt(0) != '(') {
+ throw new ClassFormatException("Invalid method signature: " + signature);
+ }
+ index = 1; // current string position
+ while (signature.charAt(index) != ')') {
+ final String param_type = signatureToString(signature.substring(index), chopit);
+ buf.append(param_type);
+ if (vars != null) {
+ final LocalVariable l = vars.getLocalVariable(var_index, 0);
+ if (l != null) {
+ buf.append(" ").append(l.getName());
+ }
+ } else {
+ buf.append(" arg").append(var_index);
+ }
+ if ("double".equals(param_type) || "long".equals(param_type)) {
+ var_index += 2;
+ } else {
+ var_index++;
+ }
+ buf.append(", ");
+ //corrected concurrent private static field acess
+ index += unwrap(consumed_chars); // update position
+ }
+ index++; // update position
+ // Read return type after `)'
+ type = signatureToString(signature.substring(index), chopit);
+ } catch (final StringIndexOutOfBoundsException e) { // Should never occur
+ throw new ClassFormatException("Invalid method signature: " + signature, e);
+ }
+ if (buf.length() > 1) {
+ buf.setLength(buf.length() - 2);
+ }
+ buf.append(")");
+ return access + ((access.length() > 0) ? " " : "") + // May be an empty string
+ type + " " + name + buf.toString();
+ }
+
+
+ // Guess what this does
+ private static int pow2( final int n ) {
+ return 1 << n;
+ }
+
+
+ /**
+ * Replace all occurrences of old in str with new.
+ *
+ * @param str String to permute
+ * @param old String to be replaced
+ * @param new_ Replacement string
+ * @return new String object
+ */
+ public static String replace( String str, final String old, final String new_ ) {
+ int index;
+ int old_index;
+ try {
+ if (str.contains(old)) { // `old' found in str
+ final StringBuilder buf = new StringBuilder();
+ old_index = 0; // String start offset
+ // While we have something to replace
+ while ((index = str.indexOf(old, old_index)) != -1) {
+ buf.append(str.substring(old_index, index)); // append prefix
+ buf.append(new_); // append replacement
+ old_index = index + old.length(); // Skip `old'.length chars
+ }
+ buf.append(str.substring(old_index)); // append rest of string
+ str = buf.toString();
+ }
+ } catch (final StringIndexOutOfBoundsException e) { // Should not occur
+ System.err.println(e);
+ }
+ return str;
+ }
+
+
+ /**
+ * Converts signature to string with all class names compacted.
+ *
+ * @param signature to convert
+ * @return Human readable signature
+ */
+ public static String signatureToString( final String signature ) {
+ return signatureToString(signature, true);
+ }
+
+
+ /**
+ * The field signature represents the value of an argument to a function or
+ * the value of a variable. It is a series of bytes generated by the
+ * following grammar:
+ *
+ *
+ * <field_signature> ::= <field_type>
+ * <field_type> ::= <base_type>|<object_type>|<array_type>
+ * <base_type> ::= B|C|D|F|I|J|S|Z
+ * <object_type> ::= L<fullclassname>;
+ * <array_type> ::= [<field_type>
+ *
+ * The meaning of the base types is as follows:
+ * B byte signed byte
+ * C char character
+ * D double double precision IEEE float
+ * F float single precision IEEE float
+ * I int integer
+ * J long long integer
+ * L<fullclassname>; ... an object of the given class
+ * S short signed short
+ * Z boolean true or false
+ * [<field sig> ... array
+ *
+ *
+ * This method converts this string into a Java type declaration such as
+ * `String[]' and throws a `ClassFormatException' when the parsed type is
+ * invalid.
+ *
+ * @param signature Class signature
+ * @param chopit Flag that determines whether chopping is executed or not
+ * @return Java type declaration
+ * @throws ClassFormatException
+ */
+ public static String signatureToString( final String signature, final boolean chopit ) {
+ //corrected concurrent private static field acess
+ wrap(consumed_chars, 1); // This is the default, read just one char like `B'
+ try {
+ switch (signature.charAt(0)) {
+ case 'B':
+ return "byte";
+ case 'C':
+ return "char";
+ case 'D':
+ return "double";
+ case 'F':
+ return "float";
+ case 'I':
+ return "int";
+ case 'J':
+ return "long";
+ case 'T': { // TypeVariableSignature
+ final int index = signature.indexOf(';'); // Look for closing `;'
+ if (index < 0) {
+ throw new ClassFormatException("Invalid signature: " + signature);
+ }
+ //corrected concurrent private static field acess
+ wrap(consumed_chars, index + 1); // "Tblabla;" `T' and `;' are removed
+ return compactClassName(signature.substring(1, index), chopit);
+ }
+ case 'L': { // Full class name
+ // should this be a while loop? can there be more than
+ // one generic clause? (markro)
+ int fromIndex = signature.indexOf('<'); // generic type?
+ if (fromIndex < 0) {
+ fromIndex = 0;
+ } else {
+ fromIndex = signature.indexOf('>', fromIndex);
+ if (fromIndex < 0) {
+ throw new ClassFormatException("Invalid signature: " + signature);
+ }
+ }
+ final int index = signature.indexOf(';', fromIndex); // Look for closing `;'
+ if (index < 0) {
+ throw new ClassFormatException("Invalid signature: " + signature);
+ }
+
+ // check to see if there are any TypeArguments
+ final int bracketIndex = signature.substring(0, index).indexOf('<');
+ if (bracketIndex < 0) {
+ // just a class identifier
+ wrap(consumed_chars, index + 1); // "Lblabla;" `L' and `;' are removed
+ return compactClassName(signature.substring(1, index), chopit);
+ }
+ // but make sure we are not looking past the end of the current item
+ fromIndex = signature.indexOf(';');
+ if (fromIndex < 0) {
+ throw new ClassFormatException("Invalid signature: " + signature);
+ }
+ if (fromIndex < bracketIndex) {
+ // just a class identifier
+ wrap(consumed_chars, fromIndex + 1); // "Lblabla;" `L' and `;' are removed
+ return compactClassName(signature.substring(1, fromIndex), chopit);
+ }
+
+ // we have TypeArguments; build up partial result
+ // as we recurse for each TypeArgument
+ final StringBuilder type = new StringBuilder(compactClassName(signature.substring(1, bracketIndex), chopit)).append("<");
+ int consumed_chars = bracketIndex + 1; // Shadows global var
+
+ // check for wildcards
+ if (signature.charAt(consumed_chars) == '+') {
+ type.append("? extends ");
+ consumed_chars++;
+ } else if (signature.charAt(consumed_chars) == '-') {
+ type.append("? super ");
+ consumed_chars++;
+ }
+
+ // get the first TypeArgument
+ if (signature.charAt(consumed_chars) == '*') {
+ type.append("?");
+ consumed_chars++;
+ } else {
+ type.append(signatureToString(signature.substring(consumed_chars), chopit));
+ // update our consumed count by the number of characters the for type argument
+ consumed_chars = unwrap(Utility.consumed_chars) + consumed_chars;
+ wrap(Utility.consumed_chars, consumed_chars);
+ }
+
+ // are there more TypeArguments?
+ while (signature.charAt(consumed_chars) != '>') {
+ type.append(", ");
+ // check for wildcards
+ if (signature.charAt(consumed_chars) == '+') {
+ type.append("? extends ");
+ consumed_chars++;
+ } else if (signature.charAt(consumed_chars) == '-') {
+ type.append("? super ");
+ consumed_chars++;
+ }
+ if (signature.charAt(consumed_chars) == '*') {
+ type.append("?");
+ consumed_chars++;
+ } else {
+ type.append(signatureToString(signature.substring(consumed_chars), chopit));
+ // update our consumed count by the number of characters the for type argument
+ consumed_chars = unwrap(Utility.consumed_chars) + consumed_chars;
+ wrap(Utility.consumed_chars, consumed_chars);
+ }
+ }
+
+ // process the closing ">"
+ consumed_chars++;
+ type.append(">");
+
+ if (signature.charAt(consumed_chars) == '.') {
+ // we have a ClassTypeSignatureSuffix
+ type.append(".");
+ // convert SimpleClassTypeSignature to fake ClassTypeSignature
+ // and then recurse to parse it
+ type.append(signatureToString("L" + signature.substring(consumed_chars+1), chopit));
+ // update our consumed count by the number of characters the for type argument
+ // note that this count includes the "L" we added, but that is ok
+ // as it accounts for the "." we didn't consume
+ consumed_chars = unwrap(Utility.consumed_chars) + consumed_chars;
+ wrap(Utility.consumed_chars, consumed_chars);
+ return type.toString();
+ }
+ if (signature.charAt(consumed_chars) != ';') {
+ throw new ClassFormatException("Invalid signature: " + signature);
+ }
+ wrap(Utility.consumed_chars, consumed_chars + 1); // remove final ";"
+ return type.toString();
+ }
+ case 'S':
+ return "short";
+ case 'Z':
+ return "boolean";
+ case '[': { // Array declaration
+ int n;
+ StringBuilder brackets;
+ String type;
+ int consumed_chars; // Shadows global var
+ brackets = new StringBuilder(); // Accumulate []'s
+ // Count opening brackets and look for optional size argument
+ for (n = 0; signature.charAt(n) == '['; n++) {
+ brackets.append("[]");
+ }
+ consumed_chars = n; // Remember value
+ // The rest of the string denotes a `'
+ type = signatureToString(signature.substring(n), chopit);
+ //corrected concurrent private static field acess
+ //Utility.consumed_chars += consumed_chars; is replaced by:
+ final int _temp = unwrap(Utility.consumed_chars) + consumed_chars;
+ wrap(Utility.consumed_chars, _temp);
+ return type + brackets.toString();
+ }
+ case 'V':
+ return "void";
+ default:
+ throw new ClassFormatException("Invalid signature: `" + signature + "'");
+ }
+ } catch (final StringIndexOutOfBoundsException e) { // Should never occur
+ throw new ClassFormatException("Invalid signature: " + signature, e);
+ }
+ }
+
+
+ /** Parse Java type such as "char", or "java.lang.String[]" and return the
+ * signature in byte code format, e.g. "C" or "[Ljava/lang/String;" respectively.
+ *
+ * @param type Java type
+ * @return byte code signature
+ */
+ public static String getSignature( String type ) {
+ final StringBuilder buf = new StringBuilder();
+ final char[] chars = type.toCharArray();
+ boolean char_found = false;
+ boolean delim = false;
+ int index = -1;
+ loop: for (int i = 0; i < chars.length; i++) {
+ switch (chars[i]) {
+ case ' ':
+ case '\t':
+ case '\n':
+ case '\r':
+ case '\f':
+ if (char_found) {
+ delim = true;
+ }
+ break;
+ case '[':
+ if (!char_found) {
+ throw new RuntimeException("Illegal type: " + type);
+ }
+ index = i;
+ break loop;
+ default:
+ char_found = true;
+ if (!delim) {
+ buf.append(chars[i]);
+ }
+ }
+ }
+ int brackets = 0;
+ if (index > 0) {
+ brackets = countBrackets(type.substring(index));
+ }
+ type = buf.toString();
+ buf.setLength(0);
+ for (int i = 0; i < brackets; i++) {
+ buf.append('[');
+ }
+ boolean found = false;
+ for (int i = Const.T_BOOLEAN; (i <= Const.T_VOID) && !found; i++) {
+ if (Const.getTypeName(i).equals(type)) {
+ found = true;
+ buf.append(Const.getShortTypeName(i));
+ }
+ }
+ if (!found) {
+ buf.append('L').append(type.replace('.', '/')).append(';');
+ }
+ return buf.toString();
+ }
+
+
+ private static int countBrackets( final String brackets ) {
+ final char[] chars = brackets.toCharArray();
+ int count = 0;
+ boolean open = false;
+ for (final char c : chars) {
+ switch (c) {
+ case '[':
+ if (open) {
+ throw new RuntimeException("Illegally nested brackets:" + brackets);
+ }
+ open = true;
+ break;
+ case ']':
+ if (!open) {
+ throw new RuntimeException("Illegally nested brackets:" + brackets);
+ }
+ open = false;
+ count++;
+ break;
+ default:
+ // Don't care
+ break;
+ }
+ }
+ if (open) {
+ throw new RuntimeException("Illegally nested brackets:" + brackets);
+ }
+ return count;
+ }
+
+
+ /**
+ * Return type of method signature as a byte value as defined in Constants
+ *
+ * @param signature in format described above
+ * @return type of method signature
+ * @see Const
+ *
+ * @throws ClassFormatException if signature is not a method signature
+ */
+ public static byte typeOfMethodSignature( final String signature ) throws ClassFormatException {
+ int index;
+ try {
+ if (signature.charAt(0) != '(') {
+ throw new ClassFormatException("Invalid method signature: " + signature);
+ }
+ index = signature.lastIndexOf(')') + 1;
+ return typeOfSignature(signature.substring(index));
+ } catch (final StringIndexOutOfBoundsException e) {
+ throw new ClassFormatException("Invalid method signature: " + signature, e);
+ }
+ }
+
+
+ /**
+ * Return type of signature as a byte value as defined in Constants
+ *
+ * @param signature in format described above
+ * @return type of signature
+ * @see Const
+ *
+ * @throws ClassFormatException if signature isn't a known type
+ */
+ public static byte typeOfSignature( final String signature ) throws ClassFormatException {
+ try {
+ switch (signature.charAt(0)) {
+ case 'B':
+ return Const.T_BYTE;
+ case 'C':
+ return Const.T_CHAR;
+ case 'D':
+ return Const.T_DOUBLE;
+ case 'F':
+ return Const.T_FLOAT;
+ case 'I':
+ return Const.T_INT;
+ case 'J':
+ return Const.T_LONG;
+ case 'L':
+ case 'T':
+ return Const.T_REFERENCE;
+ case '[':
+ return Const.T_ARRAY;
+ case 'V':
+ return Const.T_VOID;
+ case 'Z':
+ return Const.T_BOOLEAN;
+ case 'S':
+ return Const.T_SHORT;
+ case '!':
+ case '+':
+ case '*':
+ return typeOfSignature(signature.substring(1));
+ default:
+ throw new ClassFormatException("Invalid method signature: " + signature);
+ }
+ } catch (final StringIndexOutOfBoundsException e) {
+ throw new ClassFormatException("Invalid method signature: " + signature, e);
+ }
+ }
+
+
+ /** Map opcode names to opcode numbers. E.g., return Constants.ALOAD for "aload"
+ */
+ public static short searchOpcode( String name ) {
+ name = name.toLowerCase(Locale.ENGLISH);
+ for (short i = 0; i < Const.OPCODE_NAMES_LENGTH; i++) {
+ if (Const.getOpcodeName(i).equals(name)) {
+ return i;
+ }
+ }
+ return -1;
+ }
+
+
+ /**
+ * Convert (signed) byte to (unsigned) short value, i.e., all negative
+ * values become positive.
+ */
+ private static short byteToShort( final byte b ) {
+ return (b < 0) ? (short) (256 + b) : (short) b;
+ }
+
+
+ /** Convert bytes into hexadecimal string
+ *
+ * @param bytes an array of bytes to convert to hexadecimal
+ *
+ * @return bytes as hexadecimal string, e.g. 00 fa 12 ...
+ */
+ public static String toHexString( final byte[] bytes ) {
+ final StringBuilder buf = new StringBuilder();
+ for (int i = 0; i < bytes.length; i++) {
+ final short b = byteToShort(bytes[i]);
+ final String hex = Integer.toHexString(b);
+ if (b < 0x10) {
+ buf.append('0');
+ }
+ buf.append(hex);
+ if (i < bytes.length - 1) {
+ buf.append(' ');
+ }
+ }
+ return buf.toString();
+ }
+
+
+ /**
+ * Return a string for an integer justified left or right and filled up with
+ * `fill' characters if necessary.
+ *
+ * @param i integer to format
+ * @param length length of desired string
+ * @param left_justify format left or right
+ * @param fill fill character
+ * @return formatted int
+ */
+ public static String format( final int i, final int length, final boolean left_justify, final char fill ) {
+ return fillup(Integer.toString(i), length, left_justify, fill);
+ }
+
+
+ /**
+ * Fillup char with up to length characters with char `fill' and justify it left or right.
+ *
+ * @param str string to format
+ * @param length length of desired string
+ * @param left_justify format left or right
+ * @param fill fill character
+ * @return formatted string
+ */
+ public static String fillup( final String str, final int length, final boolean left_justify, final char fill ) {
+ final int len = length - str.length();
+ final char[] buf = new char[(len < 0) ? 0 : len];
+ for (int j = 0; j < buf.length; j++) {
+ buf[j] = fill;
+ }
+ if (left_justify) {
+ return str + new String(buf);
+ }
+ return new String(buf) + str;
+ }
+
+
+ static boolean equals( final byte[] a, final byte[] b ) {
+ int size;
+ if ((size = a.length) != b.length) {
+ return false;
+ }
+ for (int i = 0; i < size; i++) {
+ if (a[i] != b[i]) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+
+ public static void printArray( final PrintStream out, final Object[] obj ) {
+ out.println(printArray(obj, true));
+ }
+
+
+ public static void printArray( final PrintWriter out, final Object[] obj ) {
+ out.println(printArray(obj, true));
+ }
+
+
+ public static String printArray( final Object[] obj ) {
+ return printArray(obj, true);
+ }
+
+
+ public static String printArray( final Object[] obj, final boolean braces ) {
+ return printArray(obj, braces, false);
+ }
+
+
+ public static String printArray( final Object[] obj, final boolean braces, final boolean quote ) {
+ if (obj == null) {
+ return null;
+ }
+ final StringBuilder buf = new StringBuilder();
+ if (braces) {
+ buf.append('{');
+ }
+ for (int i = 0; i < obj.length; i++) {
+ if (obj[i] != null) {
+ buf.append(quote ? "\"" : "").append(obj[i]).append(quote ? "\"" : "");
+ } else {
+ buf.append("null");
+ }
+ if (i < obj.length - 1) {
+ buf.append(", ");
+ }
+ }
+ if (braces) {
+ buf.append('}');
+ }
+ return buf.toString();
+ }
+
+
+ /**
+ * @param ch the character to test if it's part of an identifier
+ *
+ * @return true, if character is one of (a, ... z, A, ... Z, 0, ... 9, _)
+ */
+ public static boolean isJavaIdentifierPart( final char ch ) {
+ return ((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z'))
+ || ((ch >= '0') && (ch <= '9')) || (ch == '_');
+ }
+
+
+ /**
+ * Encode byte array it into Java identifier string, i.e., a string
+ * that only contains the following characters: (a, ... z, A, ... Z,
+ * 0, ... 9, _, $). The encoding algorithm itself is not too
+ * clever: if the current byte's ASCII value already is a valid Java
+ * identifier part, leave it as it is. Otherwise it writes the
+ * escape character($) followed by:
+ *
+ *
+ *
the ASCII value as a hexadecimal string, if the value is not in the range 200..247
+ *
a Java identifier char not used in a lowercase hexadecimal string, if the value is in the range 200..247
+ *
+ *
+ *
This operation inflates the original byte array by roughly 40-50%
+ *
+ * @param bytes the byte array to convert
+ * @param compress use gzip to minimize string
+ *
+ * @throws IOException if there's a gzip exception
+ */
+ public static String encode(byte[] bytes, final boolean compress) throws IOException {
+ if (compress) {
+ try (ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ GZIPOutputStream gos = new GZIPOutputStream(baos)) {
+ gos.write(bytes, 0, bytes.length);
+ bytes = baos.toByteArray();
+ }
+ }
+ final CharArrayWriter caw = new CharArrayWriter();
+ try (JavaWriter jw = new JavaWriter(caw)) {
+ for (final byte b : bytes) {
+ final int in = b & 0x000000ff; // Normalize to unsigned
+ jw.write(in);
+ }
+ }
+ return caw.toString();
+ }
+
+
+ /**
+ * Decode a string back to a byte array.
+ *
+ * @param s the string to convert
+ * @param uncompress use gzip to uncompress the stream of bytes
+ *
+ * @throws IOException if there's a gzip exception
+ */
+ public static byte[] decode(final String s, final boolean uncompress) throws IOException {
+ byte[] bytes;
+ try (JavaReader jr = new JavaReader(new CharArrayReader(s.toCharArray()));
+ ByteArrayOutputStream bos = new ByteArrayOutputStream()) {
+ int ch;
+ while ((ch = jr.read()) >= 0) {
+ bos.write(ch);
+ }
+ bytes = bos.toByteArray();
+ }
+ if (uncompress) {
+ final GZIPInputStream gis = new GZIPInputStream(new ByteArrayInputStream(bytes));
+ final byte[] tmp = new byte[bytes.length * 3]; // Rough estimate
+ int count = 0;
+ int b;
+ while ((b = gis.read()) >= 0) {
+ tmp[count++] = (byte) b;
+ }
+ bytes = new byte[count];
+ System.arraycopy(tmp, 0, bytes, 0, count);
+ }
+ return bytes;
+ }
+
+ // A-Z, g-z, _, $
+ private static final int FREE_CHARS = 48;
+ private static int[] CHAR_MAP = new int[FREE_CHARS];
+ private static int[] MAP_CHAR = new int[256]; // Reverse map
+ private static final char ESCAPE_CHAR = '$';
+ static {
+ int j = 0;
+ for (int i = 'A'; i <= 'Z'; i++) {
+ CHAR_MAP[j] = i;
+ MAP_CHAR[i] = j;
+ j++;
+ }
+ for (int i = 'g'; i <= 'z'; i++) {
+ CHAR_MAP[j] = i;
+ MAP_CHAR[i] = j;
+ j++;
+ }
+ CHAR_MAP[j] = '$';
+ MAP_CHAR['$'] = j;
+ j++;
+ CHAR_MAP[j] = '_';
+ MAP_CHAR['_'] = j;
+ }
+
+ /**
+ * Decode characters into bytes.
+ * Used by decode()
+ */
+ private static class JavaReader extends FilterReader {
+
+ public JavaReader(final Reader in) {
+ super(in);
+ }
+
+
+ @Override
+ public int read() throws IOException {
+ final int b = in.read();
+ if (b != ESCAPE_CHAR) {
+ return b;
+ }
+ final int i = in.read();
+ if (i < 0) {
+ return -1;
+ }
+ if (((i >= '0') && (i <= '9')) || ((i >= 'a') && (i <= 'f'))) { // Normal escape
+ final int j = in.read();
+ if (j < 0) {
+ return -1;
+ }
+ final char[] tmp = {
+ (char) i, (char) j
+ };
+ final int s = Integer.parseInt(new String(tmp), 16);
+ return s;
+ }
+ return MAP_CHAR[i];
+ }
+
+
+ @Override
+ public int read( final char[] cbuf, final int off, final int len ) throws IOException {
+ for (int i = 0; i < len; i++) {
+ cbuf[off + i] = (char) read();
+ }
+ return len;
+ }
+ }
+
+ /**
+ * Encode bytes into valid java identifier characters.
+ * Used by encode()
+ */
+ private static class JavaWriter extends FilterWriter {
+
+ public JavaWriter(final Writer out) {
+ super(out);
+ }
+
+
+ @Override
+ public void write( final int b ) throws IOException {
+ if (isJavaIdentifierPart((char) b) && (b != ESCAPE_CHAR)) {
+ out.write(b);
+ } else {
+ out.write(ESCAPE_CHAR); // Escape character
+ // Special escape
+ if (b >= 0 && b < FREE_CHARS) {
+ out.write(CHAR_MAP[b]);
+ } else { // Normal escape
+ final char[] tmp = Integer.toHexString(b).toCharArray();
+ if (tmp.length == 1) {
+ out.write('0');
+ out.write(tmp[0]);
+ } else {
+ out.write(tmp[0]);
+ out.write(tmp[1]);
+ }
+ }
+ }
+ }
+
+
+ @Override
+ public void write( final char[] cbuf, final int off, final int len ) throws IOException {
+ for (int i = 0; i < len; i++) {
+ write(cbuf[off + i]);
+ }
+ }
+
+
+ @Override
+ public void write( final String str, final int off, final int len ) throws IOException {
+ write(str.toCharArray(), off, len);
+ }
+ }
+
+
+ /**
+ * Escape all occurences of newline chars '\n', quotes \", etc.
+ */
+ public static String convertString( final String label ) {
+ final char[] ch = label.toCharArray();
+ final StringBuilder buf = new StringBuilder();
+ for (final char element : ch) {
+ switch (element) {
+ case '\n':
+ buf.append("\\n");
+ break;
+ case '\r':
+ buf.append("\\r");
+ break;
+ case '\"':
+ buf.append("\\\"");
+ break;
+ case '\'':
+ buf.append("\\'");
+ break;
+ case '\\':
+ buf.append("\\\\");
+ break;
+ default:
+ buf.append(element);
+ break;
+ }
+ }
+ return buf.toString();
+ }
+
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Visitor.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Visitor.java
new file mode 100644
index 00000000..15004a5b
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Visitor.java
@@ -0,0 +1,159 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+/**
+ * Interface to make use of the Visitor pattern programming style. I.e. a class
+ * that implements this interface can traverse the contents of a Java class just
+ * by calling the `accept' method which all classes have.
+ *
+ * @version $Id: Visitor.java 1782852 2017-02-13 20:19:41Z markt $
+ */
+public interface Visitor
+{
+ void visitCode(Code obj);
+
+ void visitCodeException(CodeException obj);
+
+ void visitConstantClass(ConstantClass obj);
+
+ void visitConstantDouble(ConstantDouble obj);
+
+ void visitConstantFieldref(ConstantFieldref obj);
+
+ void visitConstantFloat(ConstantFloat obj);
+
+ void visitConstantInteger(ConstantInteger obj);
+
+ void visitConstantInterfaceMethodref(ConstantInterfaceMethodref obj);
+
+ void visitConstantInvokeDynamic(ConstantInvokeDynamic obj);
+
+ void visitConstantLong(ConstantLong obj);
+
+ void visitConstantMethodref(ConstantMethodref obj);
+
+ void visitConstantNameAndType(ConstantNameAndType obj);
+
+ void visitConstantPool(ConstantPool obj);
+
+ void visitConstantString(ConstantString obj);
+
+ void visitConstantUtf8(ConstantUtf8 obj);
+
+ void visitConstantValue(ConstantValue obj);
+
+ void visitDeprecated(Deprecated obj);
+
+ void visitExceptionTable(ExceptionTable obj);
+
+ void visitField(Field obj);
+
+ void visitInnerClass(InnerClass obj);
+
+ void visitInnerClasses(InnerClasses obj);
+
+ void visitJavaClass(JavaClass obj);
+
+ void visitLineNumber(LineNumber obj);
+
+ void visitLineNumberTable(LineNumberTable obj);
+
+ void visitLocalVariable(LocalVariable obj);
+
+ void visitLocalVariableTable(LocalVariableTable obj);
+
+ void visitMethod(Method obj);
+
+ void visitSignature(Signature obj);
+
+ void visitSourceFile(SourceFile obj);
+
+ void visitSynthetic(Synthetic obj);
+
+ void visitUnknown(Unknown obj);
+
+ void visitStackMap(StackMap obj);
+
+ void visitStackMapEntry(StackMapEntry obj);
+
+ /**
+ * @since 6.0
+ */
+ void visitAnnotation(Annotations obj);
+
+ /**
+ * @since 6.0
+ */
+ void visitParameterAnnotation(ParameterAnnotations obj);
+
+ /**
+ * @since 6.0
+ */
+ void visitAnnotationEntry(AnnotationEntry obj);
+
+ /**
+ * @since 6.0
+ */
+ void visitAnnotationDefault(AnnotationDefault obj);
+
+ /**
+ * @since 6.0
+ */
+ void visitLocalVariableTypeTable(LocalVariableTypeTable obj);
+
+ /**
+ * @since 6.0
+ */
+ void visitEnclosingMethod(EnclosingMethod obj);
+
+ /**
+ * @since 6.0
+ */
+ void visitBootstrapMethods(BootstrapMethods obj);
+
+ /**
+ * @since 6.0
+ */
+ void visitMethodParameters(MethodParameters obj);
+
+ /**
+ * @since 6.0
+ */
+ void visitConstantMethodType(ConstantMethodType obj);
+
+ /**
+ * @since 6.0
+ */
+ void visitConstantMethodHandle(ConstantMethodHandle obj);
+
+ /**
+ * @since 6.0
+ */
+ void visitParameterAnnotationEntry(ParameterAnnotationEntry obj);
+
+ /**
+ * @since 6.1
+ */
+ void visitConstantPackage(ConstantPackage constantPackage);
+
+ /**
+ * @since 6.1
+ */
+ void visitConstantModule(ConstantModule constantModule);
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/package.html b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/package.html
new file mode 100644
index 00000000..713a0bf2
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/package.html
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+This package contains the classes that describe the structure of a
+Java class file and a class file parser.
+
+
+
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/AALOAD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AALOAD.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/AALOAD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AALOAD.java
index b3634ca9..55b791b4
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/AALOAD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AALOAD.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * AALOAD - Load reference from array
- *
Stack: ..., arrayref, index -> value
- *
- * @version $Id: AALOAD.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class AALOAD extends ArrayInstruction implements StackProducer {
-
- /** Load reference from array
- */
- public AALOAD() {
- super(org.apache.bcel5_2_0.Constants.AALOAD);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackProducer(this);
- v.visitExceptionThrower(this);
- v.visitTypedInstruction(this);
- v.visitArrayInstruction(this);
- v.visitAALOAD(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * AALOAD - Load reference from array
+ *
Stack: ..., arrayref, index -> value
+ *
+ * @version $Id: AALOAD.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class AALOAD extends ArrayInstruction implements StackProducer {
+
+ /** Load reference from array
+ */
+ public AALOAD() {
+ super(org.apache.bcel.Const.AALOAD);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackProducer(this);
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitArrayInstruction(this);
+ v.visitAALOAD(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/AASTORE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AASTORE.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/AASTORE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AASTORE.java
index b2acbb05..5afe322c
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/AASTORE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AASTORE.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * AASTORE - Store into reference array
- *
Stack: ..., arrayref, index, value -> ...
- *
- * @version $Id: AASTORE.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class AASTORE extends ArrayInstruction implements StackConsumer {
-
- /** Store into reference array
- */
- public AASTORE() {
- super(org.apache.bcel5_2_0.Constants.AASTORE);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackConsumer(this);
- v.visitExceptionThrower(this);
- v.visitTypedInstruction(this);
- v.visitArrayInstruction(this);
- v.visitAASTORE(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * AASTORE - Store into reference array
+ *
Stack: ..., arrayref, index, value -> ...
+ *
+ * @version $Id: AASTORE.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class AASTORE extends ArrayInstruction implements StackConsumer {
+
+ /** Store into reference array
+ */
+ public AASTORE() {
+ super(org.apache.bcel.Const.AASTORE);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackConsumer(this);
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitArrayInstruction(this);
+ v.visitAASTORE(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ACONST_NULL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ACONST_NULL.java
old mode 100755
new mode 100644
similarity index 58%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ACONST_NULL.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ACONST_NULL.java
index eff64a88..cabad429
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ACONST_NULL.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ACONST_NULL.java
@@ -1,57 +1,59 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * ACONST_NULL - Push null reference
- *
Stack: ... -> ..., null
- *
- * @version $Id: ACONST_NULL.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class ACONST_NULL extends Instruction implements PushInstruction, TypedInstruction {
-
- /**
- * Push null reference
- */
- public ACONST_NULL() {
- super(org.apache.bcel5_2_0.Constants.ACONST_NULL, (short) 1);
- }
-
-
- /** @return Type.NULL
- */
- public Type getType( ConstantPoolGen cp ) {
- return Type.NULL;
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackProducer(this);
- v.visitPushInstruction(this);
- v.visitTypedInstruction(this);
- v.visitACONST_NULL(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * ACONST_NULL - Push null reference
+ *
Stack: ... -> ..., null
+ *
+ * @version $Id: ACONST_NULL.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class ACONST_NULL extends Instruction implements PushInstruction, TypedInstruction {
+
+ /**
+ * Push null reference
+ */
+ public ACONST_NULL() {
+ super(org.apache.bcel.Const.ACONST_NULL, (short) 1);
+ }
+
+
+ /** @return Type.NULL
+ */
+ @Override
+ public Type getType( final ConstantPoolGen cp ) {
+ return Type.NULL;
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackProducer(this);
+ v.visitPushInstruction(this);
+ v.visitTypedInstruction(this);
+ v.visitACONST_NULL(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ALOAD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ALOAD.java
old mode 100755
new mode 100644
similarity index 51%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ALOAD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ALOAD.java
index ac937127..5971c0e1
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ALOAD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ALOAD.java
@@ -1,57 +1,58 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * ALOAD - Load reference from local variable
- *
Stack: ... -> ..., objectref
- *
- * @version $Id: ALOAD.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class ALOAD extends LoadInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- ALOAD() {
- super(org.apache.bcel5_2_0.Constants.ALOAD, org.apache.bcel5_2_0.Constants.ALOAD_0);
- }
-
-
- /** Load reference from local variable
- * @param n index of local variable
- */
- public ALOAD(int n) {
- super(org.apache.bcel5_2_0.Constants.ALOAD, org.apache.bcel5_2_0.Constants.ALOAD_0, n);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- super.accept(v);
- v.visitALOAD(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * ALOAD - Load reference from local variable
+ *
Stack: ... -> ..., objectref
+ *
+ * @version $Id: ALOAD.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class ALOAD extends LoadInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ ALOAD() {
+ super(org.apache.bcel.Const.ALOAD, org.apache.bcel.Const.ALOAD_0);
+ }
+
+
+ /** Load reference from local variable
+ * @param n index of local variable
+ */
+ public ALOAD(final int n) {
+ super(org.apache.bcel.Const.ALOAD, org.apache.bcel.Const.ALOAD_0, n);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ super.accept(v);
+ v.visitALOAD(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ANEWARRAY.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ANEWARRAY.java
old mode 100755
new mode 100644
similarity index 53%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ANEWARRAY.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ANEWARRAY.java
index 12701b68..3f91b8b6
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ANEWARRAY.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ANEWARRAY.java
@@ -1,79 +1,79 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-import org.apache.bcel5_2_0.ExceptionConstants;
-
-/**
- * ANEWARRAY - Create new array of references
- *
Stack: ..., count -> ..., arrayref
- *
- * @version $Id: ANEWARRAY.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class ANEWARRAY extends CPInstruction implements LoadClass, AllocationInstruction,
- ExceptionThrower, StackConsumer, StackProducer {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- ANEWARRAY() {
- }
-
-
- public ANEWARRAY(int index) {
- super(org.apache.bcel5_2_0.Constants.ANEWARRAY, index);
- }
-
-
- public Class[] getExceptions() {
- Class[] cs = new Class[1 + ExceptionConstants.EXCS_CLASS_AND_INTERFACE_RESOLUTION.length];
- System.arraycopy(ExceptionConstants.EXCS_CLASS_AND_INTERFACE_RESOLUTION, 0, cs, 0,
- ExceptionConstants.EXCS_CLASS_AND_INTERFACE_RESOLUTION.length);
- cs[ExceptionConstants.EXCS_CLASS_AND_INTERFACE_RESOLUTION.length] = ExceptionConstants.NEGATIVE_ARRAY_SIZE_EXCEPTION;
- return cs;
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitLoadClass(this);
- v.visitAllocationInstruction(this);
- v.visitExceptionThrower(this);
- v.visitStackProducer(this);
- v.visitTypedInstruction(this);
- v.visitCPInstruction(this);
- v.visitANEWARRAY(this);
- }
-
-
- public ObjectType getLoadClassType( ConstantPoolGen cpg ) {
- Type t = getType(cpg);
- if (t instanceof ArrayType) {
- t = ((ArrayType) t).getBasicType();
- }
- return (t instanceof ObjectType) ? (ObjectType) t : null;
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import org.apache.bcel.ExceptionConst;
+
+/**
+ * ANEWARRAY - Create new array of references
+ *
Stack: ..., count -> ..., arrayref
+ *
+ * @version $Id: ANEWARRAY.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class ANEWARRAY extends CPInstruction implements LoadClass, AllocationInstruction,
+ ExceptionThrower, StackConsumer, StackProducer {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ ANEWARRAY() {
+ }
+
+
+ public ANEWARRAY(final int index) {
+ super(org.apache.bcel.Const.ANEWARRAY, index);
+ }
+
+
+ @Override
+ public Class>[] getExceptions() {
+ return ExceptionConst.createExceptions(ExceptionConst.EXCS.EXCS_CLASS_AND_INTERFACE_RESOLUTION,
+ ExceptionConst.NEGATIVE_ARRAY_SIZE_EXCEPTION);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitLoadClass(this);
+ v.visitAllocationInstruction(this);
+ v.visitExceptionThrower(this);
+ v.visitStackProducer(this);
+ v.visitTypedInstruction(this);
+ v.visitCPInstruction(this);
+ v.visitANEWARRAY(this);
+ }
+
+
+ @Override
+ public ObjectType getLoadClassType( final ConstantPoolGen cpg ) {
+ Type t = getType(cpg);
+ if (t instanceof ArrayType) {
+ t = ((ArrayType) t).getBasicType();
+ }
+ return (t instanceof ObjectType) ? (ObjectType) t : null;
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ARETURN.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ARETURN.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ARETURN.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ARETURN.java
index a7d69069..bea418e3
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ARETURN.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ARETURN.java
@@ -1,51 +1,52 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * ARETURN - Return reference from method
- *
Stack: ..., objectref -> <empty>
- *
- * @version $Id: ARETURN.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class ARETURN extends ReturnInstruction {
-
- /**
- * Return reference from method
- */
- public ARETURN() {
- super(org.apache.bcel5_2_0.Constants.ARETURN);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitExceptionThrower(this);
- v.visitTypedInstruction(this);
- v.visitStackConsumer(this);
- v.visitReturnInstruction(this);
- v.visitARETURN(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * ARETURN - Return reference from method
+ *
Stack: ..., objectref -> <empty>
+ *
+ * @version $Id: ARETURN.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class ARETURN extends ReturnInstruction {
+
+ /**
+ * Return reference from method
+ */
+ public ARETURN() {
+ super(org.apache.bcel.Const.ARETURN);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitStackConsumer(this);
+ v.visitReturnInstruction(this);
+ v.visitARETURN(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ARRAYLENGTH.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ARRAYLENGTH.java
old mode 100755
new mode 100644
similarity index 54%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ARRAYLENGTH.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ARRAYLENGTH.java
index e1dbd474..fb7f897f
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ARRAYLENGTH.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ARRAYLENGTH.java
@@ -1,57 +1,61 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * ARRAYLENGTH - Get length of array
- *
Stack: ..., arrayref -> ..., length
- *
- * @version $Id: ARRAYLENGTH.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class ARRAYLENGTH extends Instruction implements ExceptionThrower, StackProducer {
-
- /** Get length of array
- */
- public ARRAYLENGTH() {
- super(org.apache.bcel5_2_0.Constants.ARRAYLENGTH, (short) 1);
- }
-
-
- /** @return exceptions this instruction may cause
- */
- public Class[] getExceptions() {
- return new Class[] {
- org.apache.bcel5_2_0.ExceptionConstants.NULL_POINTER_EXCEPTION
- };
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitExceptionThrower(this);
- v.visitStackProducer(this);
- v.visitARRAYLENGTH(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import org.apache.bcel.ExceptionConst;
+
+/**
+ * ARRAYLENGTH - Get length of array
+ *
Stack: ..., arrayref -> ..., length
+ *
+ * @version $Id: ARRAYLENGTH.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class ARRAYLENGTH extends Instruction implements ExceptionThrower, StackProducer, StackConsumer /* since 6.0 */ {
+
+ /** Get length of array
+ */
+ public ARRAYLENGTH() {
+ super(org.apache.bcel.Const.ARRAYLENGTH, (short) 1);
+ }
+
+
+ /** @return exceptions this instruction may cause
+ */
+ @Override
+ public Class>[] getExceptions() {
+ return new Class[] {
+ ExceptionConst.NULL_POINTER_EXCEPTION
+ };
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitExceptionThrower(this);
+ v.visitStackProducer(this);
+ v.visitARRAYLENGTH(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ASTORE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ASTORE.java
old mode 100755
new mode 100644
similarity index 51%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ASTORE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ASTORE.java
index ded7e342..546fe665
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ASTORE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ASTORE.java
@@ -1,57 +1,58 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * ASTORE - Store reference into local variable
- *
Stack ..., objectref -> ...
- *
- * @version $Id: ASTORE.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class ASTORE extends StoreInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- ASTORE() {
- super(org.apache.bcel5_2_0.Constants.ASTORE, org.apache.bcel5_2_0.Constants.ASTORE_0);
- }
-
-
- /** Store reference into local variable
- * @param n index of local variable
- */
- public ASTORE(int n) {
- super(org.apache.bcel5_2_0.Constants.ASTORE, org.apache.bcel5_2_0.Constants.ASTORE_0, n);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- super.accept(v);
- v.visitASTORE(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * ASTORE - Store reference into local variable
+ *
Stack ..., objectref -> ...
+ *
+ * @version $Id: ASTORE.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class ASTORE extends StoreInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ ASTORE() {
+ super(org.apache.bcel.Const.ASTORE, org.apache.bcel.Const.ASTORE_0);
+ }
+
+
+ /** Store reference into local variable
+ * @param n index of local variable
+ */
+ public ASTORE(final int n) {
+ super(org.apache.bcel.Const.ASTORE, org.apache.bcel.Const.ASTORE_0, n);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ super.accept(v);
+ v.visitASTORE(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ATHROW.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ATHROW.java
old mode 100755
new mode 100644
similarity index 56%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ATHROW.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ATHROW.java
index 4f42f6d7..8cf2b608
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ATHROW.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ATHROW.java
@@ -1,58 +1,62 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * ATHROW - Throw exception
- *
Stack: ..., objectref -> objectref
- *
- * @version $Id: ATHROW.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class ATHROW extends Instruction implements UnconditionalBranch, ExceptionThrower {
-
- /**
- * Throw exception
- */
- public ATHROW() {
- super(org.apache.bcel5_2_0.Constants.ATHROW, (short) 1);
- }
-
-
- /** @return exceptions this instruction may cause
- */
- public Class[] getExceptions() {
- return new Class[] {
- org.apache.bcel5_2_0.ExceptionConstants.THROWABLE
- };
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitUnconditionalBranch(this);
- v.visitExceptionThrower(this);
- v.visitATHROW(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import org.apache.bcel.ExceptionConst;
+
+/**
+ * ATHROW - Throw exception
+ *
Stack: ..., objectref -> objectref
+ *
+ * @version $Id: ATHROW.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class ATHROW extends Instruction implements UnconditionalBranch, ExceptionThrower {
+
+ /**
+ * Throw exception
+ */
+ public ATHROW() {
+ super(org.apache.bcel.Const.ATHROW, (short) 1);
+ }
+
+
+ /** @return exceptions this instruction may cause
+ */
+ @Override
+ public Class>[] getExceptions() {
+ return new Class[] {
+ ExceptionConst.THROWABLE
+ };
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitUnconditionalBranch(this);
+ v.visitExceptionThrower(this);
+ v.visitATHROW(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AllocationInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AllocationInstruction.java
new file mode 100644
index 00000000..09f2559c
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AllocationInstruction.java
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * Denote family of instructions that allocates space in the heap.
+ *
+ * @version $Id: AllocationInstruction.java 1747278 2016-06-07 17:28:43Z britter $
+ */
+public interface AllocationInstruction {
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AnnotationElementValueGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AnnotationElementValueGen.java
new file mode 100644
index 00000000..c5461bbb
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AnnotationElementValueGen.java
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.classfile.AnnotationElementValue;
+import org.apache.bcel.classfile.ElementValue;
+
+/**
+ * @since 6.0
+ */
+public class AnnotationElementValueGen extends ElementValueGen
+{
+ // For annotation element values, this is the annotation
+ private final AnnotationEntryGen a;
+
+ public AnnotationElementValueGen(final AnnotationEntryGen a, final ConstantPoolGen cpool)
+ {
+ super(ANNOTATION, cpool);
+ this.a = a;
+ }
+
+ public AnnotationElementValueGen(final int type, final AnnotationEntryGen annotation,
+ final ConstantPoolGen cpool)
+ {
+ super(type, cpool);
+ if (type != ANNOTATION) {
+ throw new RuntimeException(
+ "Only element values of type annotation can be built with this ctor - type specified: " + type);
+ }
+ this.a = annotation;
+ }
+
+ public AnnotationElementValueGen(final AnnotationElementValue value,
+ final ConstantPoolGen cpool, final boolean copyPoolEntries)
+ {
+ super(ANNOTATION, cpool);
+ a = new AnnotationEntryGen(value.getAnnotationEntry(), cpool, copyPoolEntries);
+ }
+
+ @Override
+ public void dump(final DataOutputStream dos) throws IOException
+ {
+ dos.writeByte(super.getElementValueType()); // u1 type of value (ANNOTATION == '@')
+ a.dump(dos);
+ }
+
+ @Override
+ public String stringifyValue()
+ {
+ throw new RuntimeException("Not implemented yet");
+ }
+
+ /**
+ * Return immutable variant of this AnnotationElementValueGen
+ */
+ @Override
+ public ElementValue getElementValue()
+ {
+ return new AnnotationElementValue(super.getElementValueType(),
+ a.getAnnotation(),
+ getConstantPool().getConstantPool());
+ }
+
+ public AnnotationEntryGen getAnnotation()
+ {
+ return a;
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AnnotationEntryGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AnnotationEntryGen.java
new file mode 100644
index 00000000..34e75626
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AnnotationEntryGen.java
@@ -0,0 +1,355 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.DataInput;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.bcel.classfile.AnnotationEntry;
+import org.apache.bcel.classfile.Attribute;
+import org.apache.bcel.classfile.ConstantUtf8;
+import org.apache.bcel.classfile.ElementValuePair;
+import org.apache.bcel.classfile.RuntimeInvisibleAnnotations;
+import org.apache.bcel.classfile.RuntimeInvisibleParameterAnnotations;
+import org.apache.bcel.classfile.RuntimeVisibleAnnotations;
+import org.apache.bcel.classfile.RuntimeVisibleParameterAnnotations;
+
+/**
+ * @since 6.0
+ */
+public class AnnotationEntryGen {
+ private int typeIndex;
+
+ private List evs;
+
+ private final ConstantPoolGen cpool;
+
+ private boolean isRuntimeVisible = false;
+
+ /**
+ * Here we are taking a fixed annotation of type Annotation and building a
+ * modifiable AnnotationGen object. If the pool passed in is for a different
+ * class file, then copyPoolEntries should have been passed as true as that
+ * will force us to do a deep copy of the annotation and move the cpool
+ * entries across. We need to copy the type and the element name value pairs
+ * and the visibility.
+ */
+ public AnnotationEntryGen(final AnnotationEntry a, final ConstantPoolGen cpool,
+ final boolean copyPoolEntries) {
+ this.cpool = cpool;
+ if (copyPoolEntries) {
+ typeIndex = cpool.addUtf8(a.getAnnotationType());
+ } else {
+ typeIndex = a.getAnnotationTypeIndex();
+ }
+ isRuntimeVisible = a.isRuntimeVisible();
+ evs = copyValues(a.getElementValuePairs(), cpool, copyPoolEntries);
+ }
+
+ private List copyValues(final ElementValuePair[] in, final ConstantPoolGen cpool,
+ final boolean copyPoolEntries) {
+ final List out = new ArrayList<>();
+ for (final ElementValuePair nvp : in) {
+ out.add(new ElementValuePairGen(nvp, cpool, copyPoolEntries));
+ }
+ return out;
+ }
+
+ private AnnotationEntryGen(final ConstantPoolGen cpool) {
+ this.cpool = cpool;
+ }
+
+ /**
+ * Retrieve an immutable version of this AnnotationGen
+ */
+ public AnnotationEntry getAnnotation() {
+ final AnnotationEntry a = new AnnotationEntry(typeIndex, cpool.getConstantPool(),
+ isRuntimeVisible);
+ for (final ElementValuePairGen element : evs) {
+ a.addElementNameValuePair(element.getElementNameValuePair());
+ }
+ return a;
+ }
+
+ public AnnotationEntryGen(final ObjectType type,
+ final List elements, final boolean vis,
+ final ConstantPoolGen cpool) {
+ this.cpool = cpool;
+ this.typeIndex = cpool.addUtf8(type.getSignature());
+ evs = elements;
+ isRuntimeVisible = vis;
+ }
+
+ public static AnnotationEntryGen read(final DataInput dis,
+ final ConstantPoolGen cpool, final boolean b) throws IOException {
+ final AnnotationEntryGen a = new AnnotationEntryGen(cpool);
+ a.typeIndex = dis.readUnsignedShort();
+ final int elemValuePairCount = dis.readUnsignedShort();
+ for (int i = 0; i < elemValuePairCount; i++) {
+ final int nidx = dis.readUnsignedShort();
+ a.addElementNameValuePair(new ElementValuePairGen(nidx,
+ ElementValueGen.readElementValue(dis, cpool), cpool));
+ }
+ a.isRuntimeVisible(b);
+ return a;
+ }
+
+ public void dump(final DataOutputStream dos) throws IOException {
+ dos.writeShort(typeIndex); // u2 index of type name in cpool
+ dos.writeShort(evs.size()); // u2 element_value pair count
+ for (final ElementValuePairGen envp : evs) {
+ envp.dump(dos);
+ }
+ }
+
+ public void addElementNameValuePair(final ElementValuePairGen evp) {
+ if (evs == null) {
+ evs = new ArrayList<>();
+ }
+ evs.add(evp);
+ }
+
+ public int getTypeIndex() {
+ return typeIndex;
+ }
+
+ public final String getTypeSignature() {
+ // ConstantClass c = (ConstantClass)cpool.getConstant(typeIndex);
+ final ConstantUtf8 utf8 = (ConstantUtf8) cpool
+ .getConstant(typeIndex/* c.getNameIndex() */);
+ return utf8.getBytes();
+ }
+
+ public final String getTypeName() {
+ return getTypeSignature();// BCELBUG: Should I use this instead?
+ // Utility.signatureToString(getTypeSignature());
+ }
+
+ /**
+ * Returns list of ElementNameValuePair objects
+ */
+ public List getValues() {
+ return evs;
+ }
+
+ @Override
+ public String toString() {
+ final StringBuilder s = new StringBuilder(32); // CHECKSTYLE IGNORE MagicNumber
+ s.append("AnnotationGen:[").append(getTypeName()).append(" #").append(evs.size()).append(" {");
+ for (int i = 0; i < evs.size(); i++) {
+ s.append(evs.get(i));
+ if (i + 1 < evs.size()) {
+ s.append(",");
+ }
+ }
+ s.append("}]");
+ return s.toString();
+ }
+
+ public String toShortString() {
+ final StringBuilder s = new StringBuilder();
+ s.append("@").append(getTypeName()).append("(");
+ for (int i = 0; i < evs.size(); i++) {
+ s.append(evs.get(i));
+ if (i + 1 < evs.size()) {
+ s.append(",");
+ }
+ }
+ s.append(")");
+ return s.toString();
+ }
+
+ private void isRuntimeVisible(final boolean b) {
+ isRuntimeVisible = b;
+ }
+
+ public boolean isRuntimeVisible() {
+ return isRuntimeVisible;
+ }
+
+
+ /**
+ * Converts a list of AnnotationGen objects into a set of attributes
+ * that can be attached to the class file.
+ *
+ * @param cp The constant pool gen where we can create the necessary name refs
+ * @param annotationEntryGens An array of AnnotationGen objects
+ */
+ static Attribute[] getAnnotationAttributes(final ConstantPoolGen cp, final AnnotationEntryGen[] annotationEntryGens) {
+ if (annotationEntryGens.length == 0) {
+ return new Attribute[0];
+ }
+
+ try {
+ int countVisible = 0;
+ int countInvisible = 0;
+
+ // put the annotations in the right output stream
+ for (final AnnotationEntryGen a : annotationEntryGens) {
+ if (a.isRuntimeVisible()) {
+ countVisible++;
+ } else {
+ countInvisible++;
+ }
+ }
+
+ final ByteArrayOutputStream rvaBytes = new ByteArrayOutputStream();
+ final ByteArrayOutputStream riaBytes = new ByteArrayOutputStream();
+ try (DataOutputStream rvaDos = new DataOutputStream(rvaBytes);
+ DataOutputStream riaDos = new DataOutputStream(riaBytes)) {
+
+ rvaDos.writeShort(countVisible);
+ riaDos.writeShort(countInvisible);
+
+ // put the annotations in the right output stream
+ for (final AnnotationEntryGen a : annotationEntryGens) {
+ if (a.isRuntimeVisible()) {
+ a.dump(rvaDos);
+ } else {
+ a.dump(riaDos);
+ }
+ }
+ }
+
+ final byte[] rvaData = rvaBytes.toByteArray();
+ final byte[] riaData = riaBytes.toByteArray();
+
+ int rvaIndex = -1;
+ int riaIndex = -1;
+
+ if (rvaData.length > 2) {
+ rvaIndex = cp.addUtf8("RuntimeVisibleAnnotations");
+ }
+ if (riaData.length > 2) {
+ riaIndex = cp.addUtf8("RuntimeInvisibleAnnotations");
+ }
+
+ final List newAttributes = new ArrayList<>();
+ if (rvaData.length > 2) {
+ newAttributes.add(
+ new RuntimeVisibleAnnotations(rvaIndex, rvaData.length,
+ new DataInputStream(new ByteArrayInputStream(rvaData)), cp.getConstantPool()));
+ }
+ if (riaData.length > 2) {
+ newAttributes.add(
+ new RuntimeInvisibleAnnotations(riaIndex, riaData.length,
+ new DataInputStream(new ByteArrayInputStream(riaData)), cp.getConstantPool()));
+ }
+
+ return newAttributes.toArray(new Attribute[newAttributes.size()]);
+ } catch (final IOException e) {
+ System.err.println("IOException whilst processing annotations");
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+
+ /**
+ * Annotations against a class are stored in one of four attribute kinds:
+ * - RuntimeVisibleParameterAnnotations
+ * - RuntimeInvisibleParameterAnnotations
+ */
+ static Attribute[] getParameterAnnotationAttributes(
+ final ConstantPoolGen cp,
+ final List[] /*Array of lists, array size depends on #params */vec) {
+ final int[] visCount = new int[vec.length];
+ int totalVisCount = 0;
+ final int[] invisCount = new int[vec.length];
+ int totalInvisCount = 0;
+ try {
+ for (int i = 0; i < vec.length; i++) {
+ if (vec[i] != null) {
+ for (final AnnotationEntryGen element : vec[i]) {
+ if (element.isRuntimeVisible()) {
+ visCount[i]++;
+ totalVisCount++;
+ } else {
+ invisCount[i]++;
+ totalInvisCount++;
+ }
+ }
+ }
+ }
+ // Lets do the visible ones
+ final ByteArrayOutputStream rvaBytes = new ByteArrayOutputStream();
+ try (DataOutputStream rvaDos = new DataOutputStream(rvaBytes)) {
+ rvaDos.writeByte(vec.length); // First goes number of parameters
+ for (int i = 0; i < vec.length; i++) {
+ rvaDos.writeShort(visCount[i]);
+ if (visCount[i] > 0) {
+ for (final AnnotationEntryGen element : vec[i]) {
+ if (element.isRuntimeVisible()) {
+ element.dump(rvaDos);
+ }
+ }
+ }
+ }
+ }
+ // Lets do the invisible ones
+ final ByteArrayOutputStream riaBytes = new ByteArrayOutputStream();
+ try (DataOutputStream riaDos = new DataOutputStream(riaBytes)) {
+ riaDos.writeByte(vec.length); // First goes number of parameters
+ for (int i = 0; i < vec.length; i++) {
+ riaDos.writeShort(invisCount[i]);
+ if (invisCount[i] > 0) {
+ for (final AnnotationEntryGen element : vec[i]) {
+ if (!element.isRuntimeVisible()) {
+ element.dump(riaDos);
+ }
+ }
+ }
+ }
+ }
+ final byte[] rvaData = rvaBytes.toByteArray();
+ final byte[] riaData = riaBytes.toByteArray();
+ int rvaIndex = -1;
+ int riaIndex = -1;
+ if (totalVisCount > 0) {
+ rvaIndex = cp.addUtf8("RuntimeVisibleParameterAnnotations");
+ }
+ if (totalInvisCount > 0) {
+ riaIndex = cp.addUtf8("RuntimeInvisibleParameterAnnotations");
+ }
+ final List newAttributes = new ArrayList<>();
+ if (totalVisCount > 0) {
+ newAttributes
+ .add(new RuntimeVisibleParameterAnnotations(rvaIndex,
+ rvaData.length, new DataInputStream(new ByteArrayInputStream(rvaData)), cp.getConstantPool()));
+ }
+ if (totalInvisCount > 0) {
+ newAttributes
+ .add(new RuntimeInvisibleParameterAnnotations(riaIndex,
+ riaData.length, new DataInputStream(new ByteArrayInputStream(riaData)), cp.getConstantPool()));
+ }
+ return newAttributes.toArray(new Attribute[newAttributes.size()]);
+ } catch (final IOException e) {
+ System.err
+ .println("IOException whilst processing parameter annotations");
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArithmeticInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArithmeticInstruction.java
new file mode 100644
index 00000000..585b7dd4
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArithmeticInstruction.java
@@ -0,0 +1,96 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import org.apache.bcel.Const;
+
+/**
+ * Super class for the family of arithmetic instructions.
+ *
+ * @version $Id: ArithmeticInstruction.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public abstract class ArithmeticInstruction extends Instruction implements TypedInstruction,
+ StackProducer, StackConsumer {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ ArithmeticInstruction() {
+ }
+
+
+ /**
+ * @param opcode of instruction
+ */
+ protected ArithmeticInstruction(final short opcode) {
+ super(opcode, (short) 1);
+ }
+
+
+ /** @return type associated with the instruction
+ */
+ @Override
+ public Type getType( final ConstantPoolGen cp ) {
+ final short _opcode = super.getOpcode();
+ switch (_opcode) {
+ case Const.DADD:
+ case Const.DDIV:
+ case Const.DMUL:
+ case Const.DNEG:
+ case Const.DREM:
+ case Const.DSUB:
+ return Type.DOUBLE;
+ case Const.FADD:
+ case Const.FDIV:
+ case Const.FMUL:
+ case Const.FNEG:
+ case Const.FREM:
+ case Const.FSUB:
+ return Type.FLOAT;
+ case Const.IADD:
+ case Const.IAND:
+ case Const.IDIV:
+ case Const.IMUL:
+ case Const.INEG:
+ case Const.IOR:
+ case Const.IREM:
+ case Const.ISHL:
+ case Const.ISHR:
+ case Const.ISUB:
+ case Const.IUSHR:
+ case Const.IXOR:
+ return Type.INT;
+ case Const.LADD:
+ case Const.LAND:
+ case Const.LDIV:
+ case Const.LMUL:
+ case Const.LNEG:
+ case Const.LOR:
+ case Const.LREM:
+ case Const.LSHL:
+ case Const.LSHR:
+ case Const.LSUB:
+ case Const.LUSHR:
+ case Const.LXOR:
+ return Type.LONG;
+ default: // Never reached
+ throw new ClassGenException("Unknown type " + _opcode);
+ }
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArrayElementValueGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArrayElementValueGen.java
new file mode 100644
index 00000000..0ffd3ce9
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArrayElementValueGen.java
@@ -0,0 +1,127 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.bcel.classfile.ArrayElementValue;
+import org.apache.bcel.classfile.ElementValue;
+
+/**
+ * @since 6.0
+ */
+public class ArrayElementValueGen extends ElementValueGen
+{
+ // J5TODO: Should we make this an array or a list? A list would be easier to
+ // modify ...
+ private final List evalues;
+
+ public ArrayElementValueGen(final ConstantPoolGen cp)
+ {
+ super(ARRAY, cp);
+ evalues = new ArrayList<>();
+ }
+
+ public ArrayElementValueGen(final int type, final ElementValue[] datums,
+ final ConstantPoolGen cpool)
+ {
+ super(type, cpool);
+ if (type != ARRAY) {
+ throw new RuntimeException(
+ "Only element values of type array can be built with this ctor - type specified: " + type);
+ }
+ this.evalues = new ArrayList<>();
+ for (final ElementValue datum : datums) {
+ evalues.add(ElementValueGen.copy(datum, cpool, true));
+ }
+ }
+
+ /**
+ * Return immutable variant of this ArrayElementValueGen
+ */
+ @Override
+ public ElementValue getElementValue()
+ {
+ final ElementValue[] immutableData = new ElementValue[evalues.size()];
+ int i = 0;
+ for (final ElementValueGen element : evalues) {
+ immutableData[i++] = element.getElementValue();
+ }
+ return new ArrayElementValue(super.getElementValueType(),
+ immutableData,
+ getConstantPool().getConstantPool());
+ }
+
+ /**
+ * @param value
+ * @param cpool
+ */
+ public ArrayElementValueGen(final ArrayElementValue value, final ConstantPoolGen cpool,
+ final boolean copyPoolEntries)
+ {
+ super(ARRAY, cpool);
+ evalues = new ArrayList<>();
+ final ElementValue[] in = value.getElementValuesArray();
+ for (final ElementValue element : in) {
+ evalues.add(ElementValueGen.copy(element, cpool, copyPoolEntries));
+ }
+ }
+
+ @Override
+ public void dump(final DataOutputStream dos) throws IOException
+ {
+ dos.writeByte(super.getElementValueType()); // u1 type of value (ARRAY == '[')
+ dos.writeShort(evalues.size());
+ for (final ElementValueGen element : evalues) {
+ element.dump(dos);
+ }
+ }
+
+ @Override
+ public String stringifyValue()
+ {
+ final StringBuilder sb = new StringBuilder();
+ sb.append("[");
+ String comma = "";
+ for (final ElementValueGen element : evalues) {
+ sb.append(comma);
+ comma = ",";
+ sb.append(element.stringifyValue());
+ }
+ sb.append("]");
+ return sb.toString();
+ }
+
+ public List getElementValues()
+ {
+ return evalues;
+ }
+
+ public int getElementValuesSize()
+ {
+ return evalues.size();
+ }
+
+ public void addElement(final ElementValueGen gen)
+ {
+ evalues.add(gen);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArrayInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArrayInstruction.java
new file mode 100644
index 00000000..a5becc55
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArrayInstruction.java
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import org.apache.bcel.ExceptionConst;
+
+/**
+ * Super class for instructions dealing with array access such as IALOAD.
+ *
+ * @version $Id: ArrayInstruction.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public abstract class ArrayInstruction extends Instruction implements ExceptionThrower,
+ TypedInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ ArrayInstruction() {
+ }
+
+
+ /**
+ * @param opcode of instruction
+ */
+ protected ArrayInstruction(final short opcode) {
+ super(opcode, (short) 1);
+ }
+
+
+ @Override
+ public Class>[] getExceptions() {
+ return ExceptionConst.createExceptions(ExceptionConst.EXCS.EXCS_ARRAY_EXCEPTION);
+ }
+
+
+ /** @return type associated with the instruction
+ */
+ @Override
+ public Type getType( final ConstantPoolGen cp ) {
+ final short _opcode = super.getOpcode();
+ switch (_opcode) {
+ case org.apache.bcel.Const.IALOAD:
+ case org.apache.bcel.Const.IASTORE:
+ return Type.INT;
+ case org.apache.bcel.Const.CALOAD:
+ case org.apache.bcel.Const.CASTORE:
+ return Type.CHAR;
+ case org.apache.bcel.Const.BALOAD:
+ case org.apache.bcel.Const.BASTORE:
+ return Type.BYTE;
+ case org.apache.bcel.Const.SALOAD:
+ case org.apache.bcel.Const.SASTORE:
+ return Type.SHORT;
+ case org.apache.bcel.Const.LALOAD:
+ case org.apache.bcel.Const.LASTORE:
+ return Type.LONG;
+ case org.apache.bcel.Const.DALOAD:
+ case org.apache.bcel.Const.DASTORE:
+ return Type.DOUBLE;
+ case org.apache.bcel.Const.FALOAD:
+ case org.apache.bcel.Const.FASTORE:
+ return Type.FLOAT;
+ case org.apache.bcel.Const.AALOAD:
+ case org.apache.bcel.Const.AASTORE:
+ return Type.OBJECT;
+ default:
+ throw new ClassGenException("Oops: unknown case in switch" + _opcode);
+ }
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ArrayType.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArrayType.java
old mode 100755
new mode 100644
similarity index 64%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ArrayType.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArrayType.java
index f368a3d1..54dad25b
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ArrayType.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArrayType.java
@@ -1,127 +1,129 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-import org.apache.bcel5_2_0.Constants;
-
-/**
- * Denotes array type, such as int[][]
- *
- * @version $Id: ArrayType.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public final class ArrayType extends ReferenceType {
-
- private int dimensions;
- private Type basic_type;
-
-
- /**
- * Convenience constructor for array type, e.g. int[]
- *
- * @param type array type, e.g. T_INT
- */
- public ArrayType(byte type, int dimensions) {
- this(BasicType.getType(type), dimensions);
- }
-
-
- /**
- * Convenience constructor for reference array type, e.g. Object[]
- *
- * @param class_name complete name of class (java.lang.String, e.g.)
- */
- public ArrayType(String class_name, int dimensions) {
- this(new ObjectType(class_name), dimensions);
- }
-
-
- /**
- * Constructor for array of given type
- *
- * @param type type of array (may be an array itself)
- */
- public ArrayType(Type type, int dimensions) {
- super(Constants.T_ARRAY, "");
- if ((dimensions < 1) || (dimensions > Constants.MAX_BYTE)) {
- throw new ClassGenException("Invalid number of dimensions: " + dimensions);
- }
- switch (type.getType()) {
- case Constants.T_ARRAY:
- ArrayType array = (ArrayType) type;
- this.dimensions = dimensions + array.dimensions;
- basic_type = array.basic_type;
- break;
- case Constants.T_VOID:
- throw new ClassGenException("Invalid type: void[]");
- default: // Basic type or reference
- this.dimensions = dimensions;
- basic_type = type;
- break;
- }
- StringBuilder buf = new StringBuilder();
- for (int i = 0; i < this.dimensions; i++) {
- buf.append('[');
- }
- buf.append(basic_type.getSignature());
- signature = buf.toString();
- }
-
-
- /**
- * @return basic type of array, i.e., for int[][][] the basic type is int
- */
- public Type getBasicType() {
- return basic_type;
- }
-
-
- /**
- * @return element type of array, i.e., for int[][][] the element type is int[][]
- */
- public Type getElementType() {
- if (dimensions == 1) {
- return basic_type;
- }
- return new ArrayType(basic_type, dimensions - 1);
- }
-
-
- /** @return number of dimensions of array
- */
- public int getDimensions() {
- return dimensions;
- }
-
-
- /** @return a hash code value for the object.
- */
- public int hashCode() {
- return basic_type.hashCode() ^ dimensions;
- }
-
-
- /** @return true if both type objects refer to the same array type.
- */
- public boolean equals( Object _type ) {
- if (_type instanceof ArrayType) {
- ArrayType array = (ArrayType) _type;
- return (array.dimensions == dimensions) && array.basic_type.equals(basic_type);
- }
- return false;
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import org.apache.bcel.Const;
+
+/**
+ * Denotes array type, such as int[][]
+ *
+ * @version $Id: ArrayType.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public final class ArrayType extends ReferenceType {
+
+ private int dimensions;
+ private Type basic_type;
+
+
+ /**
+ * Convenience constructor for array type, e.g. int[]
+ *
+ * @param type array type, e.g. T_INT
+ */
+ public ArrayType(final byte type, final int dimensions) {
+ this(BasicType.getType(type), dimensions);
+ }
+
+
+ /**
+ * Convenience constructor for reference array type, e.g. Object[]
+ *
+ * @param class_name complete name of class (java.lang.String, e.g.)
+ */
+ public ArrayType(final String class_name, final int dimensions) {
+ this(ObjectType.getInstance(class_name), dimensions);
+ }
+
+
+ /**
+ * Constructor for array of given type
+ *
+ * @param type type of array (may be an array itself)
+ */
+ public ArrayType(final Type type, final int dimensions) {
+ super(Const.T_ARRAY, "");
+ if ((dimensions < 1) || (dimensions > Const.MAX_BYTE)) {
+ throw new ClassGenException("Invalid number of dimensions: " + dimensions);
+ }
+ switch (type.getType()) {
+ case Const.T_ARRAY:
+ final ArrayType array = (ArrayType) type;
+ this.dimensions = dimensions + array.dimensions;
+ basic_type = array.basic_type;
+ break;
+ case Const.T_VOID:
+ throw new ClassGenException("Invalid type: void[]");
+ default: // Basic type or reference
+ this.dimensions = dimensions;
+ basic_type = type;
+ break;
+ }
+ final StringBuilder buf = new StringBuilder();
+ for (int i = 0; i < this.dimensions; i++) {
+ buf.append('[');
+ }
+ buf.append(basic_type.getSignature());
+ super.setSignature(buf.toString());
+ }
+
+
+ /**
+ * @return basic type of array, i.e., for int[][][] the basic type is int
+ */
+ public Type getBasicType() {
+ return basic_type;
+ }
+
+
+ /**
+ * @return element type of array, i.e., for int[][][] the element type is int[][]
+ */
+ public Type getElementType() {
+ if (dimensions == 1) {
+ return basic_type;
+ }
+ return new ArrayType(basic_type, dimensions - 1);
+ }
+
+
+ /** @return number of dimensions of array
+ */
+ public int getDimensions() {
+ return dimensions;
+ }
+
+
+ /** @return a hash code value for the object.
+ */
+ @Override
+ public int hashCode() {
+ return basic_type.hashCode() ^ dimensions;
+ }
+
+
+ /** @return true if both type objects refer to the same array type.
+ */
+ @Override
+ public boolean equals( final Object _type ) {
+ if (_type instanceof ArrayType) {
+ final ArrayType array = (ArrayType) _type;
+ return (array.dimensions == dimensions) && array.basic_type.equals(basic_type);
+ }
+ return false;
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/BALOAD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BALOAD.java
old mode 100755
new mode 100644
similarity index 61%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/BALOAD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BALOAD.java
index 7bc9c794..6dbac273
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/BALOAD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BALOAD.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * BALOAD - Load byte or boolean from array
- *
Stack: ..., arrayref, index -> ..., value
- *
- * @version $Id: BALOAD.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class BALOAD extends ArrayInstruction implements StackProducer {
-
- /** Load byte or boolean from array
- */
- public BALOAD() {
- super(org.apache.bcel5_2_0.Constants.BALOAD);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackProducer(this);
- v.visitExceptionThrower(this);
- v.visitTypedInstruction(this);
- v.visitArrayInstruction(this);
- v.visitBALOAD(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * BALOAD - Load byte or boolean from array
+ *
Stack: ..., arrayref, index -> ..., value
+ *
+ * @version $Id: BALOAD.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class BALOAD extends ArrayInstruction implements StackProducer {
+
+ /** Load byte or boolean from array
+ */
+ public BALOAD() {
+ super(org.apache.bcel.Const.BALOAD);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackProducer(this);
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitArrayInstruction(this);
+ v.visitBALOAD(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/BASTORE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BASTORE.java
old mode 100755
new mode 100644
similarity index 61%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/BASTORE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BASTORE.java
index 0e42aac7..16d63632
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/BASTORE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BASTORE.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * BASTORE - Store into byte or boolean array
- *
Stack: ..., arrayref, index, value -> ...
- *
- * @version $Id: BASTORE.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class BASTORE extends ArrayInstruction implements StackConsumer {
-
- /** Store byte or boolean into array
- */
- public BASTORE() {
- super(org.apache.bcel5_2_0.Constants.BASTORE);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackConsumer(this);
- v.visitExceptionThrower(this);
- v.visitTypedInstruction(this);
- v.visitArrayInstruction(this);
- v.visitBASTORE(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * BASTORE - Store into byte or boolean array
+ *
Stack: ..., arrayref, index, value -> ...
+ *
+ * @version $Id: BASTORE.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class BASTORE extends ArrayInstruction implements StackConsumer {
+
+ /** Store byte or boolean into array
+ */
+ public BASTORE() {
+ super(org.apache.bcel.Const.BASTORE);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackConsumer(this);
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitArrayInstruction(this);
+ v.visitBASTORE(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/BIPUSH.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BIPUSH.java
old mode 100755
new mode 100644
similarity index 54%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/BIPUSH.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BIPUSH.java
index a3f18f35..859fa442
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/BIPUSH.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BIPUSH.java
@@ -1,106 +1,112 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import org.apache.bcel5_2_0.util.ByteSequence;
-
-/**
- * BIPUSH - Push byte on stack
- *
- *
Stack: ... -> ..., value
- *
- * @version $Id: BIPUSH.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class BIPUSH extends Instruction implements ConstantPushInstruction {
-
- private byte b;
-
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- BIPUSH() {
- }
-
-
- /** Push byte on stack
- */
- public BIPUSH(byte b) {
- super(org.apache.bcel5_2_0.Constants.BIPUSH, (short) 2);
- this.b = b;
- }
-
-
- /**
- * Dump instruction as byte code to stream out.
- */
- public void dump( DataOutputStream out ) throws IOException {
- super.dump(out);
- out.writeByte(b);
- }
-
-
- /**
- * @return mnemonic for instruction
- */
- public String toString( boolean verbose ) {
- return super.toString(verbose) + " " + b;
- }
-
-
- /**
- * Read needed data (e.g. index) from file.
- */
- protected void initFromFile( ByteSequence bytes, boolean wide ) throws IOException {
- length = 2;
- b = bytes.readByte();
- }
-
-
- public Number getValue() {
- return new Integer(b);
- }
-
-
- /** @return Type.BYTE
- */
- public Type getType( ConstantPoolGen cp ) {
- return Type.BYTE;
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitPushInstruction(this);
- v.visitStackProducer(this);
- v.visitTypedInstruction(this);
- v.visitConstantPushInstruction(this);
- v.visitBIPUSH(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.util.ByteSequence;
+
+/**
+ * BIPUSH - Push byte on stack
+ *
+ *
Stack: ... -> ..., value
+ *
+ * @version $Id: BIPUSH.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class BIPUSH extends Instruction implements ConstantPushInstruction {
+
+ private byte b;
+
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ BIPUSH() {
+ }
+
+
+ /** Push byte on stack
+ */
+ public BIPUSH(final byte b) {
+ super(org.apache.bcel.Const.BIPUSH, (short) 2);
+ this.b = b;
+ }
+
+
+ /**
+ * Dump instruction as byte code to stream out.
+ */
+ @Override
+ public void dump( final DataOutputStream out ) throws IOException {
+ super.dump(out);
+ out.writeByte(b);
+ }
+
+
+ /**
+ * @return mnemonic for instruction
+ */
+ @Override
+ public String toString( final boolean verbose ) {
+ return super.toString(verbose) + " " + b;
+ }
+
+
+ /**
+ * Read needed data (e.g. index) from file.
+ */
+ @Override
+ protected void initFromFile( final ByteSequence bytes, final boolean wide ) throws IOException {
+ super.setLength(2);
+ b = bytes.readByte();
+ }
+
+
+ @Override
+ public Number getValue() {
+ return Integer.valueOf(b);
+ }
+
+
+ /** @return Type.BYTE
+ */
+ @Override
+ public Type getType( final ConstantPoolGen cp ) {
+ return Type.BYTE;
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitPushInstruction(this);
+ v.visitStackProducer(this);
+ v.visitTypedInstruction(this);
+ v.visitConstantPushInstruction(this);
+ v.visitBIPUSH(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/BREAKPOINT.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BREAKPOINT.java
old mode 100755
new mode 100644
similarity index 54%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/BREAKPOINT.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BREAKPOINT.java
index 4029192f..7ffb1faf
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/BREAKPOINT.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BREAKPOINT.java
@@ -1,43 +1,44 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * BREAKPOINT, JVM dependent, ignored by default
- *
- * @version $Id: BREAKPOINT.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class BREAKPOINT extends Instruction {
-
- public BREAKPOINT() {
- super(org.apache.bcel5_2_0.Constants.BREAKPOINT, (short) 1);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitBREAKPOINT(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * BREAKPOINT, JVM dependent, ignored by default
+ *
+ * @version $Id: BREAKPOINT.java 1747278 2016-06-07 17:28:43Z britter $
+ */
+public class BREAKPOINT extends Instruction {
+
+ public BREAKPOINT() {
+ super(org.apache.bcel.Const.BREAKPOINT, (short) 1);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitBREAKPOINT(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BasicType.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BasicType.java
new file mode 100644
index 00000000..8afc6f8b
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BasicType.java
@@ -0,0 +1,84 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import org.apache.bcel.Const;
+
+/**
+ * Denotes basic type such as int.
+ *
+ * @version $Id: BasicType.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public final class BasicType extends Type {
+
+ /**
+ * Constructor for basic types such as int, long, `void'
+ *
+ * @param type one of T_INT, T_BOOLEAN, ..., T_VOID
+ * @see Const
+ */
+ BasicType(final byte type) {
+ super(type, Const.getShortTypeName(type));
+ if ((type < Const.T_BOOLEAN) || (type > Const.T_VOID)) {
+ throw new ClassGenException("Invalid type: " + type);
+ }
+ }
+
+
+ // @since 6.0 no longer final
+ public static BasicType getType( final byte type ) {
+ switch (type) {
+ case Const.T_VOID:
+ return VOID;
+ case Const.T_BOOLEAN:
+ return BOOLEAN;
+ case Const.T_BYTE:
+ return BYTE;
+ case Const.T_SHORT:
+ return SHORT;
+ case Const.T_CHAR:
+ return CHAR;
+ case Const.T_INT:
+ return INT;
+ case Const.T_LONG:
+ return LONG;
+ case Const.T_DOUBLE:
+ return DOUBLE;
+ case Const.T_FLOAT:
+ return FLOAT;
+ default:
+ throw new ClassGenException("Invalid type: " + type);
+ }
+ }
+
+
+ /** @return a hash code value for the object.
+ */
+ @Override
+ public int hashCode() {
+ return super.getType();
+ }
+
+
+ /** @return true if both type objects refer to the same type
+ */
+ @Override
+ public boolean equals( final Object _type ) {
+ return (_type instanceof BasicType) ? ((BasicType) _type).getType() == this.getType() : false;
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/BranchHandle.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BranchHandle.java
old mode 100755
new mode 100644
similarity index 54%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/BranchHandle.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BranchHandle.java
index 04e4de55..a6a06890
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/BranchHandle.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BranchHandle.java
@@ -1,121 +1,130 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * BranchHandle is returned by specialized InstructionList.append() whenever a
- * BranchInstruction is appended. This is useful when the target of this
- * instruction is not known at time of creation and must be set later
- * via setTarget().
- *
- * @see InstructionHandle
- * @see Instruction
- * @see InstructionList
- * @version $Id: BranchHandle.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public final class BranchHandle extends InstructionHandle {
-
- private BranchInstruction bi; // An alias in fact, but saves lots of casts
-
-
- private BranchHandle(BranchInstruction i) {
- super(i);
- bi = i;
- }
-
- /** Factory methods.
- */
- private static BranchHandle bh_list = null; // List of reusable handles
-
-
- static final BranchHandle getBranchHandle( BranchInstruction i ) {
- if (bh_list == null) {
- return new BranchHandle(i);
- }
- BranchHandle bh = bh_list;
- bh_list = (BranchHandle) bh.next;
- bh.setInstruction(i);
- return bh;
- }
-
-
- /** Handle adds itself to the list of resuable handles.
- */
- protected void addHandle() {
- next = bh_list;
- bh_list = this;
- }
-
-
- /* Override InstructionHandle methods: delegate to branch instruction.
- * Through this overriding all access to the private i_position field should
- * be prevented.
- */
- public int getPosition() {
- return bi.position;
- }
-
-
- void setPosition( int pos ) {
- i_position = bi.position = pos;
- }
-
-
- protected int updatePosition( int offset, int max_offset ) {
- int x = bi.updatePosition(offset, max_offset);
- i_position = bi.position;
- return x;
- }
-
-
- /**
- * Pass new target to instruction.
- */
- public void setTarget( InstructionHandle ih ) {
- bi.setTarget(ih);
- }
-
-
- /**
- * Update target of instruction.
- */
- public void updateTarget( InstructionHandle old_ih, InstructionHandle new_ih ) {
- bi.updateTarget(old_ih, new_ih);
- }
-
-
- /**
- * @return target of instruction.
- */
- public InstructionHandle getTarget() {
- return bi.getTarget();
- }
-
-
- /**
- * Set new contents. Old instruction is disposed and may not be used anymore.
- */
- public void setInstruction( Instruction i ) {
- super.setInstruction(i);
- if (!(i instanceof BranchInstruction)) {
- throw new ClassGenException("Assigning " + i
- + " to branch handle which is not a branch instruction");
- }
- bi = (BranchInstruction) i;
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * BranchHandle is returned by specialized InstructionList.append() whenever a
+ * BranchInstruction is appended. This is useful when the target of this
+ * instruction is not known at time of creation and must be set later
+ * via setTarget().
+ *
+ * @see InstructionHandle
+ * @see Instruction
+ * @see InstructionList
+ * @version $Id: BranchHandle.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public final class BranchHandle extends InstructionHandle {
+
+ // This is also a cache in case the InstructionHandle#swapInstruction() method is used
+ // See BCEL-273
+ private BranchInstruction bi; // An alias in fact, but saves lots of casts
+
+
+ private BranchHandle(final BranchInstruction i) {
+ super(i);
+ bi = i;
+ }
+
+ /** Factory methods.
+ */
+ private static BranchHandle bh_list = null; // List of reusable handles
+
+
+ static BranchHandle getBranchHandle( final BranchInstruction i ) {
+ if (bh_list == null) {
+ return new BranchHandle(i);
+ }
+ final BranchHandle bh = bh_list;
+ bh_list = (BranchHandle) bh.getNext();
+ bh.setInstruction(i);
+ return bh;
+ }
+
+
+ /** Handle adds itself to the list of resuable handles.
+ */
+ @Override
+ protected void addHandle() {
+ super.setNext(bh_list);
+ bh_list = this;
+ }
+
+
+ /* Override InstructionHandle methods: delegate to branch instruction.
+ * Through this overriding all access to the private i_position field should
+ * be prevented.
+ */
+ @Override
+ public int getPosition() {
+ return bi.getPosition();
+ }
+
+
+ @Override
+ void setPosition( final int pos ) {
+ // Original code: i_position = bi.position = pos;
+ bi.setPosition(pos);
+ super.setPosition(pos);
+ }
+
+
+ @Override
+ protected int updatePosition( final int offset, final int max_offset ) {
+ final int x = bi.updatePosition(offset, max_offset);
+ super.setPosition(bi.getPosition());
+ return x;
+ }
+
+
+ /**
+ * Pass new target to instruction.
+ */
+ public void setTarget( final InstructionHandle ih ) {
+ bi.setTarget(ih);
+ }
+
+
+ /**
+ * Update target of instruction.
+ */
+ public void updateTarget( final InstructionHandle old_ih, final InstructionHandle new_ih ) {
+ bi.updateTarget(old_ih, new_ih);
+ }
+
+
+ /**
+ * @return target of instruction.
+ */
+ public InstructionHandle getTarget() {
+ return bi.getTarget();
+ }
+
+
+ /**
+ * Set new contents. Old instruction is disposed and may not be used anymore.
+ */
+ @Override // This is only done in order to apply the additional type check; could be merged with super impl.
+ public void setInstruction( final Instruction i ) { // TODO could be package-protected?
+ super.setInstruction(i);
+ if (!(i instanceof BranchInstruction)) {
+ throw new ClassGenException("Assigning " + i
+ + " to branch handle which is not a branch instruction");
+ }
+ bi = (BranchInstruction) i;
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/BranchInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BranchInstruction.java
old mode 100755
new mode 100644
similarity index 58%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/BranchInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BranchInstruction.java
index 2da2ac4c..0f64be16
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/BranchInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BranchInstruction.java
@@ -1,231 +1,284 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import org.apache.bcel5_2_0.util.ByteSequence;
-
-/**
- * Abstract super class for branching instructions like GOTO, IFEQ, etc..
- * Branch instructions may have a variable length, namely GOTO, JSR,
- * LOOKUPSWITCH and TABLESWITCH.
- *
- * @see InstructionList
- * @version $Id: BranchInstruction.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public abstract class BranchInstruction extends Instruction implements InstructionTargeter {
-
- protected int index; // Branch target relative to this instruction
- protected InstructionHandle target; // Target object in instruction list
- protected int position; // Byte code offset
-
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- BranchInstruction() {
- }
-
-
- /** Common super constructor
- * @param opcode Instruction opcode
- * @param target instruction to branch to
- */
- protected BranchInstruction(short opcode, InstructionHandle target) {
- super(opcode, (short) 3);
- setTarget(target);
- }
-
-
- /**
- * Dump instruction as byte code to stream out.
- * @param out Output stream
- */
- public void dump( DataOutputStream out ) throws IOException {
- out.writeByte(opcode);
- index = getTargetOffset();
- if (Math.abs(index) >= 32767) {
- throw new ClassGenException("Branch target offset too large for short");
- }
- out.writeShort(index); // May be negative, i.e., point backwards
- }
-
-
- /**
- * @param _target branch target
- * @return the offset to `target' relative to this instruction
- */
- protected int getTargetOffset( InstructionHandle _target ) {
- if (_target == null) {
- throw new ClassGenException("Target of " + super.toString(true)
- + " is invalid null handle");
- }
- int t = _target.getPosition();
- if (t < 0) {
- throw new ClassGenException("Invalid branch target position offset for "
- + super.toString(true) + ":" + t + ":" + _target);
- }
- return t - position;
- }
-
-
- /**
- * @return the offset to this instruction's target
- */
- protected int getTargetOffset() {
- return getTargetOffset(target);
- }
-
-
- /**
- * Called by InstructionList.setPositions when setting the position for every
- * instruction. In the presence of variable length instructions `setPositions'
- * performs multiple passes over the instruction list to calculate the
- * correct (byte) positions and offsets by calling this function.
- *
- * @param offset additional offset caused by preceding (variable length) instructions
- * @param max_offset the maximum offset that may be caused by these instructions
- * @return additional offset caused by possible change of this instruction's length
- */
- protected int updatePosition( int offset, int max_offset ) {
- position += offset;
- return 0;
- }
-
-
- /**
- * Long output format:
- *
- * <position in byte code>
- * <name of opcode> "["<opcode number>"]"
- * "("<length of instruction>")"
- * "<"<target instruction>">" "@"<branch target offset>
- *
- * @param verbose long/short format switch
- * @return mnemonic for instruction
- */
- public String toString( boolean verbose ) {
- String s = super.toString(verbose);
- String t = "null";
- if (verbose) {
- if (target != null) {
- if (target.getInstruction() == this) {
- t = "";
- } else if (target.getInstruction() == null) {
- t = "";
- } else {
- t = target.getInstruction().toString(false); // Avoid circles
- }
- }
- } else {
- if (target != null) {
- index = getTargetOffset();
- t = "" + (index + position);
- }
- }
- return s + " -> " + t;
- }
-
-
- /**
- * Read needed data (e.g. index) from file. Conversion to a InstructionHandle
- * is done in InstructionList(byte[]).
- *
- * @param bytes input stream
- * @param wide wide prefix?
- * @see InstructionList
- */
- protected void initFromFile( ByteSequence bytes, boolean wide ) throws IOException {
- length = 3;
- index = bytes.readShort();
- }
-
-
- /**
- * @return target offset in byte code
- */
- public final int getIndex() {
- return index;
- }
-
-
- /**
- * @return target of branch instruction
- */
- public InstructionHandle getTarget() {
- return target;
- }
-
-
- /**
- * Set branch target
- * @param target branch target
- */
- public void setTarget( InstructionHandle target ) {
- notifyTarget(this.target, target, this);
- this.target = target;
- }
-
-
- /**
- * Used by BranchInstruction, LocalVariableGen, CodeExceptionGen
- */
- static final void notifyTarget( InstructionHandle old_ih, InstructionHandle new_ih,
- InstructionTargeter t ) {
- if (old_ih != null) {
- old_ih.removeTargeter(t);
- }
- if (new_ih != null) {
- new_ih.addTargeter(t);
- }
- }
-
-
- /**
- * @param old_ih old target
- * @param new_ih new target
- */
- public void updateTarget( InstructionHandle old_ih, InstructionHandle new_ih ) {
- if (target == old_ih) {
- setTarget(new_ih);
- } else {
- throw new ClassGenException("Not targeting " + old_ih + ", but " + target);
- }
- }
-
-
- /**
- * @return true, if ih is target of this instruction
- */
- public boolean containsTarget( InstructionHandle ih ) {
- return (target == ih);
- }
-
-
- /**
- * Inform target that it's not targeted anymore.
- */
- void dispose() {
- setTarget(null);
- index = -1;
- position = -1;
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.util.ByteSequence;
+
+/**
+ * Abstract super class for branching instructions like GOTO, IFEQ, etc..
+ * Branch instructions may have a variable length, namely GOTO, JSR,
+ * LOOKUPSWITCH and TABLESWITCH.
+ *
+ * @see InstructionList
+ * @version $Id: BranchInstruction.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public abstract class BranchInstruction extends Instruction implements InstructionTargeter {
+
+ /**
+ * @deprecated (since 6.0) will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
+ protected int index; // Branch target relative to this instruction
+
+ /**
+ * @deprecated (since 6.0) will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
+ protected InstructionHandle target; // Target object in instruction list
+
+ /**
+ * @deprecated (since 6.0) will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
+ protected int position; // Byte code offset
+
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ BranchInstruction() {
+ }
+
+
+ /** Common super constructor
+ * @param opcode Instruction opcode
+ * @param target instruction to branch to
+ */
+ protected BranchInstruction(final short opcode, final InstructionHandle target) {
+ super(opcode, (short) 3);
+ setTarget(target);
+ }
+
+
+ /**
+ * Dump instruction as byte code to stream out.
+ * @param out Output stream
+ */
+ @Override
+ public void dump( final DataOutputStream out ) throws IOException {
+ out.writeByte(super.getOpcode());
+ index = getTargetOffset();
+ if (!isValidShort(index)) {
+ throw new ClassGenException("Branch target offset too large for short: " + index);
+ }
+ out.writeShort(index); // May be negative, i.e., point backwards
+ }
+
+
+ /**
+ * @param _target branch target
+ * @return the offset to `target' relative to this instruction
+ */
+ protected int getTargetOffset( final InstructionHandle _target ) {
+ if (_target == null) {
+ throw new ClassGenException("Target of " + super.toString(true)
+ + " is invalid null handle");
+ }
+ final int t = _target.getPosition();
+ if (t < 0) {
+ throw new ClassGenException("Invalid branch target position offset for "
+ + super.toString(true) + ":" + t + ":" + _target);
+ }
+ return t - position;
+ }
+
+
+ /**
+ * @return the offset to this instruction's target
+ */
+ protected int getTargetOffset() {
+ return getTargetOffset(target);
+ }
+
+
+ /**
+ * Called by InstructionList.setPositions when setting the position for every
+ * instruction. In the presence of variable length instructions `setPositions'
+ * performs multiple passes over the instruction list to calculate the
+ * correct (byte) positions and offsets by calling this function.
+ *
+ * @param offset additional offset caused by preceding (variable length) instructions
+ * @param max_offset the maximum offset that may be caused by these instructions
+ * @return additional offset caused by possible change of this instruction's length
+ */
+ protected int updatePosition( final int offset, final int max_offset ) {
+ position += offset;
+ return 0;
+ }
+
+
+ /**
+ * Long output format:
+ *
+ * <position in byte code>
+ * <name of opcode> "["<opcode number>"]"
+ * "("<length of instruction>")"
+ * "<"<target instruction>">" "@"<branch target offset>
+ *
+ * @param verbose long/short format switch
+ * @return mnemonic for instruction
+ */
+ @Override
+ public String toString( final boolean verbose ) {
+ final String s = super.toString(verbose);
+ String t = "null";
+ if (verbose) {
+ if (target != null) {
+ if (target.getInstruction() == this) {
+ t = "";
+ } else if (target.getInstruction() == null) {
+ t = "";
+ } else {
+ // I'm more interested in the address of the target then
+ // the instruction located there.
+ //t = target.getInstruction().toString(false); // Avoid circles
+ t = "" + target.getPosition();
+ }
+ }
+ } else {
+ if (target != null) {
+ index = target.getPosition();
+ // index = getTargetOffset(); crashes if positions haven't been set
+ // t = "" + (index + position);
+ t = "" + index;
+ }
+ }
+ return s + " -> " + t;
+ }
+
+
+ /**
+ * Read needed data (e.g. index) from file. Conversion to a InstructionHandle
+ * is done in InstructionList(byte[]).
+ *
+ * @param bytes input stream
+ * @param wide wide prefix?
+ * @see InstructionList
+ */
+ @Override
+ protected void initFromFile( final ByteSequence bytes, final boolean wide ) throws IOException {
+ super.setLength(3);
+ index = bytes.readShort();
+ }
+
+
+ /**
+ * @return target offset in byte code
+ */
+ public final int getIndex() {
+ return index;
+ }
+
+
+ /**
+ * @return target of branch instruction
+ */
+ public InstructionHandle getTarget() {
+ return target;
+ }
+
+
+ /**
+ * Set branch target
+ * @param target branch target
+ */
+ public void setTarget( final InstructionHandle target ) {
+ notifyTarget(this.target, target, this);
+ this.target = target;
+ }
+
+
+ /**
+ * Used by BranchInstruction, LocalVariableGen, CodeExceptionGen, LineNumberGen
+ */
+ static void notifyTarget( final InstructionHandle old_ih, final InstructionHandle new_ih,
+ final InstructionTargeter t ) {
+ if (old_ih != null) {
+ old_ih.removeTargeter(t);
+ }
+ if (new_ih != null) {
+ new_ih.addTargeter(t);
+ }
+ }
+
+
+ /**
+ * @param old_ih old target
+ * @param new_ih new target
+ */
+ @Override
+ public void updateTarget( final InstructionHandle old_ih, final InstructionHandle new_ih ) {
+ if (target == old_ih) {
+ setTarget(new_ih);
+ } else {
+ throw new ClassGenException("Not targeting " + old_ih + ", but " + target);
+ }
+ }
+
+
+ /**
+ * @return true, if ih is target of this instruction
+ */
+ @Override
+ public boolean containsTarget( final InstructionHandle ih ) {
+ return target == ih;
+ }
+
+
+ /**
+ * Inform target that it's not targeted anymore.
+ */
+ @Override
+ void dispose() {
+ setTarget(null);
+ index = -1;
+ position = -1;
+ }
+
+
+ /**
+ * @return the position
+ * @since 6.0
+ */
+ protected int getPosition() {
+ return position;
+ }
+
+
+ /**
+ * @param position the position to set
+ * @since 6.0
+ */
+ protected void setPosition(final int position) {
+ this.position = position;
+ }
+
+
+ /**
+ * @param index the index to set
+ * @since 6.0
+ */
+ protected void setIndex(final int index) {
+ this.index = index;
+ }
+
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/CALOAD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CALOAD.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/CALOAD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CALOAD.java
index c9b9cc7b..97ca1931
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/CALOAD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CALOAD.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * CALOAD - Load char from array
- *
Stack: ..., arrayref, index -> ..., value
- *
- * @version $Id: CALOAD.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class CALOAD extends ArrayInstruction implements StackProducer {
-
- /** Load char from array
- */
- public CALOAD() {
- super(org.apache.bcel5_2_0.Constants.CALOAD);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackProducer(this);
- v.visitExceptionThrower(this);
- v.visitTypedInstruction(this);
- v.visitArrayInstruction(this);
- v.visitCALOAD(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * CALOAD - Load char from array
+ *
Stack: ..., arrayref, index -> ..., value
+ *
+ * @version $Id: CALOAD.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class CALOAD extends ArrayInstruction implements StackProducer {
+
+ /** Load char from array
+ */
+ public CALOAD() {
+ super(org.apache.bcel.Const.CALOAD);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackProducer(this);
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitArrayInstruction(this);
+ v.visitCALOAD(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/CASTORE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CASTORE.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/CASTORE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CASTORE.java
index 4713588f..91a4600d
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/CASTORE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CASTORE.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * CASTORE - Store into char array
- *
Stack: ..., arrayref, index, value -> ...
- *
- * @version $Id: CASTORE.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class CASTORE extends ArrayInstruction implements StackConsumer {
-
- /** Store char into array
- */
- public CASTORE() {
- super(org.apache.bcel5_2_0.Constants.CASTORE);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackConsumer(this);
- v.visitExceptionThrower(this);
- v.visitTypedInstruction(this);
- v.visitArrayInstruction(this);
- v.visitCASTORE(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * CASTORE - Store into char array
+ *
Stack: ..., arrayref, index, value -> ...
+ *
+ * @version $Id: CASTORE.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class CASTORE extends ArrayInstruction implements StackConsumer {
+
+ /** Store char into array
+ */
+ public CASTORE() {
+ super(org.apache.bcel.Const.CASTORE);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackConsumer(this);
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitArrayInstruction(this);
+ v.visitCASTORE(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/CHECKCAST.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CHECKCAST.java
old mode 100755
new mode 100644
similarity index 55%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/CHECKCAST.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CHECKCAST.java
index bc2983ee..142adcd5
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/CHECKCAST.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CHECKCAST.java
@@ -1,84 +1,84 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-import org.apache.bcel5_2_0.ExceptionConstants;
-
-/**
- * CHECKCAST - Check whether object is of given type
- *
Stack: ..., objectref -> ..., objectref
- *
- * @version $Id: CHECKCAST.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class CHECKCAST extends CPInstruction implements LoadClass, ExceptionThrower, StackProducer,
- StackConsumer {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- CHECKCAST() {
- }
-
-
- /** Check whether object is of given type
- * @param index index to class in constant pool
- */
- public CHECKCAST(int index) {
- super(org.apache.bcel5_2_0.Constants.CHECKCAST, index);
- }
-
-
- /** @return exceptions this instruction may cause
- */
- public Class[] getExceptions() {
- Class[] cs = new Class[1 + ExceptionConstants.EXCS_CLASS_AND_INTERFACE_RESOLUTION.length];
- System.arraycopy(ExceptionConstants.EXCS_CLASS_AND_INTERFACE_RESOLUTION, 0, cs, 0,
- ExceptionConstants.EXCS_CLASS_AND_INTERFACE_RESOLUTION.length);
- cs[ExceptionConstants.EXCS_CLASS_AND_INTERFACE_RESOLUTION.length] = ExceptionConstants.CLASS_CAST_EXCEPTION;
- return cs;
- }
-
-
- public ObjectType getLoadClassType( ConstantPoolGen cpg ) {
- Type t = getType(cpg);
- if (t instanceof ArrayType) {
- t = ((ArrayType) t).getBasicType();
- }
- return (t instanceof ObjectType) ? (ObjectType) t : null;
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitLoadClass(this);
- v.visitExceptionThrower(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitTypedInstruction(this);
- v.visitCPInstruction(this);
- v.visitCHECKCAST(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import org.apache.bcel.ExceptionConst;
+
+/**
+ * CHECKCAST - Check whether object is of given type
+ *
Stack: ..., objectref -> ..., objectref
+ *
+ * @version $Id: CHECKCAST.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class CHECKCAST extends CPInstruction implements LoadClass, ExceptionThrower, StackProducer,
+ StackConsumer {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ CHECKCAST() {
+ }
+
+
+ /** Check whether object is of given type
+ * @param index index to class in constant pool
+ */
+ public CHECKCAST(final int index) {
+ super(org.apache.bcel.Const.CHECKCAST, index);
+ }
+
+
+ /** @return exceptions this instruction may cause
+ */
+ @Override
+ public Class>[] getExceptions() {
+ return ExceptionConst.createExceptions(ExceptionConst.EXCS.EXCS_CLASS_AND_INTERFACE_RESOLUTION,
+ ExceptionConst.CLASS_CAST_EXCEPTION);
+ }
+
+
+ @Override
+ public ObjectType getLoadClassType( final ConstantPoolGen cpg ) {
+ Type t = getType(cpg);
+ if (t instanceof ArrayType) {
+ t = ((ArrayType) t).getBasicType();
+ }
+ return (t instanceof ObjectType) ? (ObjectType) t : null;
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitLoadClass(this);
+ v.visitExceptionThrower(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitTypedInstruction(this);
+ v.visitCPInstruction(this);
+ v.visitCHECKCAST(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/CPInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CPInstruction.java
old mode 100755
new mode 100644
similarity index 54%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/CPInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CPInstruction.java
index e70a27e9..df789e8f
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/CPInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CPInstruction.java
@@ -1,139 +1,150 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import org.apache.bcel5_2_0.classfile.Constant;
-import org.apache.bcel5_2_0.classfile.ConstantClass;
-import org.apache.bcel5_2_0.classfile.ConstantPool;
-import org.apache.bcel5_2_0.util.ByteSequence;
-
-/**
- * Abstract super class for instructions that use an index into the
- * constant pool such as LDC, INVOKEVIRTUAL, etc.
- *
- * @see ConstantPoolGen
- * @see LDC
- * @see INVOKEVIRTUAL
- *
- * @version $Id: CPInstruction.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public abstract class CPInstruction extends Instruction implements TypedInstruction,
- IndexedInstruction {
-
- protected int index; // index to constant pool
-
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- CPInstruction() {
- }
-
-
- /**
- * @param index to constant pool
- */
- protected CPInstruction(short opcode, int index) {
- super(opcode, (short) 3);
- setIndex(index);
- }
-
-
- /**
- * Dump instruction as byte code to stream out.
- * @param out Output stream
- */
- public void dump( DataOutputStream out ) throws IOException {
- out.writeByte(opcode);
- out.writeShort(index);
- }
-
-
- /**
- * Long output format:
- *
- * <name of opcode> "["<opcode number>"]"
- * "("<length of instruction>")" "<"< constant pool index>">"
- *
- * @param verbose long/short format switch
- * @return mnemonic for instruction
- */
- public String toString( boolean verbose ) {
- return super.toString(verbose) + " " + index;
- }
-
-
- /**
- * @return mnemonic for instruction with symbolic references resolved
- */
- public String toString( ConstantPool cp ) {
- Constant c = cp.getConstant(index);
- String str = cp.constantToString(c);
- if (c instanceof ConstantClass) {
- str = str.replace('.', '/');
- }
- return org.apache.bcel5_2_0.Constants.OPCODE_NAMES[opcode] + " " + str;
- }
-
-
- /**
- * Read needed data (i.e., index) from file.
- * @param bytes input stream
- * @param wide wide prefix?
- */
- protected void initFromFile( ByteSequence bytes, boolean wide ) throws IOException {
- setIndex(bytes.readUnsignedShort());
- length = 3;
- }
-
-
- /**
- * @return index in constant pool referred by this instruction.
- */
- public final int getIndex() {
- return index;
- }
-
-
- /**
- * Set the index to constant pool.
- * @param index in constant pool.
- */
- public void setIndex( int index ) {
- if (index < 0) {
- throw new ClassGenException("Negative index value: " + index);
- }
- this.index = index;
- }
-
-
- /** @return type related with this instruction.
- */
- public Type getType( ConstantPoolGen cpg ) {
- ConstantPool cp = cpg.getConstantPool();
- String name = cp.getConstantString(index, org.apache.bcel5_2_0.Constants.CONSTANT_Class);
- if (!name.startsWith("[")) {
- name = "L" + name + ";";
- }
- return Type.getType(name);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.classfile.Constant;
+import org.apache.bcel.classfile.ConstantClass;
+import org.apache.bcel.classfile.ConstantPool;
+import org.apache.bcel.util.ByteSequence;
+
+/**
+ * Abstract super class for instructions that use an index into the
+ * constant pool such as LDC, INVOKEVIRTUAL, etc.
+ *
+ * @see ConstantPoolGen
+ * @see LDC
+ * @see INVOKEVIRTUAL
+ *
+ * @version $Id: CPInstruction.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public abstract class CPInstruction extends Instruction implements TypedInstruction,
+ IndexedInstruction {
+
+ /**
+ * @deprecated (since 6.0) will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
+ protected int index; // index to constant pool
+
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ CPInstruction() {
+ }
+
+
+ /**
+ * @param index to constant pool
+ */
+ protected CPInstruction(final short opcode, final int index) {
+ super(opcode, (short) 3);
+ setIndex(index);
+ }
+
+
+ /**
+ * Dump instruction as byte code to stream out.
+ * @param out Output stream
+ */
+ @Override
+ public void dump( final DataOutputStream out ) throws IOException {
+ out.writeByte(super.getOpcode());
+ out.writeShort(index);
+ }
+
+
+ /**
+ * Long output format:
+ *
+ * <name of opcode> "["<opcode number>"]"
+ * "("<length of instruction>")" "<"< constant pool index>">"
+ *
+ * @param verbose long/short format switch
+ * @return mnemonic for instruction
+ */
+ @Override
+ public String toString( final boolean verbose ) {
+ return super.toString(verbose) + " " + index;
+ }
+
+
+ /**
+ * @return mnemonic for instruction with symbolic references resolved
+ */
+ @Override
+ public String toString( final ConstantPool cp ) {
+ final Constant c = cp.getConstant(index);
+ String str = cp.constantToString(c);
+ if (c instanceof ConstantClass) {
+ str = str.replace('.', '/');
+ }
+ return org.apache.bcel.Const.getOpcodeName(super.getOpcode()) + " " + str;
+ }
+
+
+ /**
+ * Read needed data (i.e., index) from file.
+ * @param bytes input stream
+ * @param wide wide prefix?
+ */
+ @Override
+ protected void initFromFile( final ByteSequence bytes, final boolean wide ) throws IOException {
+ setIndex(bytes.readUnsignedShort());
+ super.setLength(3);
+ }
+
+
+ /**
+ * @return index in constant pool referred by this instruction.
+ */
+ @Override
+ public final int getIndex() {
+ return index;
+ }
+
+
+ /**
+ * Set the index to constant pool.
+ * @param index in constant pool.
+ */
+ @Override
+ public void setIndex( final int index ) { // TODO could be package-protected?
+ if (index < 0) {
+ throw new ClassGenException("Negative index value: " + index);
+ }
+ this.index = index;
+ }
+
+
+ /** @return type related with this instruction.
+ */
+ @Override
+ public Type getType( final ConstantPoolGen cpg ) {
+ final ConstantPool cp = cpg.getConstantPool();
+ String name = cp.getConstantString(index, org.apache.bcel.Const.CONSTANT_Class);
+ if (!name.startsWith("[")) {
+ name = "L" + name + ";";
+ }
+ return Type.getType(name);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassElementValueGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassElementValueGen.java
new file mode 100644
index 00000000..7317150e
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassElementValueGen.java
@@ -0,0 +1,103 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.classfile.ClassElementValue;
+import org.apache.bcel.classfile.ConstantUtf8;
+import org.apache.bcel.classfile.ElementValue;
+
+/**
+ * @since 6.0
+ */
+public class ClassElementValueGen extends ElementValueGen
+{
+ // For primitive types and string type, this points to the value entry in
+ // the cpool
+ // For 'class' this points to the class entry in the cpool
+ private int idx;
+
+ protected ClassElementValueGen(final int typeIdx, final ConstantPoolGen cpool)
+ {
+ super(ElementValueGen.CLASS, cpool);
+ this.idx = typeIdx;
+ }
+
+ public ClassElementValueGen(final ObjectType t, final ConstantPoolGen cpool)
+ {
+ super(ElementValueGen.CLASS, cpool);
+ // this.idx = cpool.addClass(t);
+ idx = cpool.addUtf8(t.getSignature());
+ }
+
+ /**
+ * Return immutable variant of this ClassElementValueGen
+ */
+ @Override
+ public ElementValue getElementValue()
+ {
+ return new ClassElementValue(super.getElementValueType(),
+ idx,
+ getConstantPool().getConstantPool());
+ }
+
+ public ClassElementValueGen(final ClassElementValue value, final ConstantPoolGen cpool,
+ final boolean copyPoolEntries)
+ {
+ super(CLASS, cpool);
+ if (copyPoolEntries)
+ {
+ // idx = cpool.addClass(value.getClassString());
+ idx = cpool.addUtf8(value.getClassString());
+ }
+ else
+ {
+ idx = value.getIndex();
+ }
+ }
+
+ public int getIndex()
+ {
+ return idx;
+ }
+
+ public String getClassString()
+ {
+ final ConstantUtf8 cu8 = (ConstantUtf8) getConstantPool().getConstant(idx);
+ return cu8.getBytes();
+ // ConstantClass c = (ConstantClass)getConstantPool().getConstant(idx);
+ // ConstantUtf8 utf8 =
+ // (ConstantUtf8)getConstantPool().getConstant(c.getNameIndex());
+ // return utf8.getBytes();
+ }
+
+ @Override
+ public String stringifyValue()
+ {
+ return getClassString();
+ }
+
+ @Override
+ public void dump(final DataOutputStream dos) throws IOException
+ {
+ dos.writeByte(super.getElementValueType()); // u1 kind of value
+ dos.writeShort(idx);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassGen.java
new file mode 100644
index 00000000..8cc378fc
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassGen.java
@@ -0,0 +1,607 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.bcel.Const;
+import org.apache.bcel.classfile.AccessFlags;
+import org.apache.bcel.classfile.AnnotationEntry;
+import org.apache.bcel.classfile.Annotations;
+import org.apache.bcel.classfile.Attribute;
+import org.apache.bcel.classfile.ConstantPool;
+import org.apache.bcel.classfile.Field;
+import org.apache.bcel.classfile.JavaClass;
+import org.apache.bcel.classfile.Method;
+import org.apache.bcel.classfile.RuntimeInvisibleAnnotations;
+import org.apache.bcel.classfile.RuntimeVisibleAnnotations;
+import org.apache.bcel.classfile.SourceFile;
+import org.apache.bcel.util.BCELComparator;
+
+/**
+ * Template class for building up a java class. May be initialized with an
+ * existing java class (file).
+ *
+ * @see JavaClass
+ * @version $Id: ClassGen.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class ClassGen extends AccessFlags implements Cloneable {
+
+ /* Corresponds to the fields found in a JavaClass object.
+ */
+ private String class_name;
+ private String super_class_name;
+ private final String file_name;
+ private int class_name_index = -1;
+ private int superclass_name_index = -1;
+ private int major = Const.MAJOR_1_1;
+ private int minor = Const.MINOR_1_1;
+ private ConstantPoolGen cp; // Template for building up constant pool
+ // ArrayLists instead of arrays to gather fields, methods, etc.
+ private final List field_vec = new ArrayList<>();
+ private final List method_vec = new ArrayList<>();
+ private final List attribute_vec = new ArrayList<>();
+ private final List interface_vec = new ArrayList<>();
+ private final List annotation_vec = new ArrayList<>();
+
+ private static BCELComparator _cmp = new BCELComparator() {
+
+ @Override
+ public boolean equals( final Object o1, final Object o2 ) {
+ final ClassGen THIS = (ClassGen) o1;
+ final ClassGen THAT = (ClassGen) o2;
+ return THIS.getClassName().equals(THAT.getClassName());
+ }
+
+
+ @Override
+ public int hashCode( final Object o ) {
+ final ClassGen THIS = (ClassGen) o;
+ return THIS.getClassName().hashCode();
+ }
+ };
+
+
+ /** Convenience constructor to set up some important values initially.
+ *
+ * @param class_name fully qualified class name
+ * @param super_class_name fully qualified superclass name
+ * @param file_name source file name
+ * @param access_flags access qualifiers
+ * @param interfaces implemented interfaces
+ * @param cp constant pool to use
+ */
+ public ClassGen(final String class_name, final String super_class_name, final String file_name, final int access_flags,
+ final String[] interfaces, final ConstantPoolGen cp) {
+ super(access_flags);
+ this.class_name = class_name;
+ this.super_class_name = super_class_name;
+ this.file_name = file_name;
+ this.cp = cp;
+ // Put everything needed by default into the constant pool and the vectors
+ if (file_name != null) {
+ addAttribute(new SourceFile(cp.addUtf8("SourceFile"), 2, cp.addUtf8(file_name), cp
+ .getConstantPool()));
+ }
+ class_name_index = cp.addClass(class_name);
+ superclass_name_index = cp.addClass(super_class_name);
+ if (interfaces != null) {
+ for (final String interface1 : interfaces) {
+ addInterface(interface1);
+ }
+ }
+ }
+
+
+ /** Convenience constructor to set up some important values initially.
+ *
+ * @param class_name fully qualified class name
+ * @param super_class_name fully qualified superclass name
+ * @param file_name source file name
+ * @param access_flags access qualifiers
+ * @param interfaces implemented interfaces
+ */
+ public ClassGen(final String class_name, final String super_class_name, final String file_name, final int access_flags,
+ final String[] interfaces) {
+ this(class_name, super_class_name, file_name, access_flags, interfaces,
+ new ConstantPoolGen());
+ }
+
+
+ /**
+ * Initialize with existing class.
+ * @param clazz JavaClass object (e.g. read from file)
+ */
+ public ClassGen(final JavaClass clazz) {
+ super(clazz.getAccessFlags());
+ class_name_index = clazz.getClassNameIndex();
+ superclass_name_index = clazz.getSuperclassNameIndex();
+ class_name = clazz.getClassName();
+ super_class_name = clazz.getSuperclassName();
+ file_name = clazz.getSourceFileName();
+ cp = new ConstantPoolGen(clazz.getConstantPool());
+ major = clazz.getMajor();
+ minor = clazz.getMinor();
+ final Attribute[] attributes = clazz.getAttributes();
+ // J5TODO: Could make unpacking lazy, done on first reference
+ final AnnotationEntryGen[] annotations = unpackAnnotations(attributes);
+ final Method[] methods = clazz.getMethods();
+ final Field[] fields = clazz.getFields();
+ final String[] interfaces = clazz.getInterfaceNames();
+ for (final String interface1 : interfaces) {
+ addInterface(interface1);
+ }
+ for (final Attribute attribute : attributes) {
+ if (!(attribute instanceof Annotations)) {
+ addAttribute(attribute);
+ }
+ }
+ for (final AnnotationEntryGen annotation : annotations) {
+ addAnnotationEntry(annotation);
+ }
+ for (final Method method : methods) {
+ addMethod(method);
+ }
+ for (final Field field : fields) {
+ addField(field);
+ }
+ }
+
+ /**
+ * Look for attributes representing annotations and unpack them.
+ */
+ private AnnotationEntryGen[] unpackAnnotations(final Attribute[] attrs)
+ {
+ final List annotationGenObjs = new ArrayList<>();
+ for (final Attribute attr : attrs) {
+ if (attr instanceof RuntimeVisibleAnnotations)
+ {
+ final RuntimeVisibleAnnotations rva = (RuntimeVisibleAnnotations) attr;
+ final AnnotationEntry[] annos = rva.getAnnotationEntries();
+ for (final AnnotationEntry a : annos) {
+ annotationGenObjs.add(new AnnotationEntryGen(a,
+ getConstantPool(), false));
+ }
+ }
+ else
+ if (attr instanceof RuntimeInvisibleAnnotations)
+ {
+ final RuntimeInvisibleAnnotations ria = (RuntimeInvisibleAnnotations) attr;
+ final AnnotationEntry[] annos = ria.getAnnotationEntries();
+ for (final AnnotationEntry a : annos) {
+ annotationGenObjs.add(new AnnotationEntryGen(a,
+ getConstantPool(), false));
+ }
+ }
+ }
+ return annotationGenObjs.toArray(new AnnotationEntryGen[annotationGenObjs.size()]);
+ }
+
+
+ /**
+ * @return the (finally) built up Java class object.
+ */
+ public JavaClass getJavaClass() {
+ final int[] interfaces = getInterfaces();
+ final Field[] fields = getFields();
+ final Method[] methods = getMethods();
+ Attribute[] attributes = null;
+ if (annotation_vec.isEmpty()) {
+ attributes = getAttributes();
+ } else {
+ // TODO: Sometime later, trash any attributes called 'RuntimeVisibleAnnotations' or 'RuntimeInvisibleAnnotations'
+ final Attribute[] annAttributes = AnnotationEntryGen.getAnnotationAttributes(cp, getAnnotationEntries());
+ attributes = new Attribute[attribute_vec.size()+annAttributes.length];
+ attribute_vec.toArray(attributes);
+ System.arraycopy(annAttributes,0,attributes,attribute_vec.size(),annAttributes.length);
+ }
+ // Must be last since the above calls may still add something to it
+ final ConstantPool _cp = this.cp.getFinalConstantPool();
+ return new JavaClass(class_name_index, superclass_name_index, file_name, major, minor,
+ super.getAccessFlags(), _cp, interfaces, fields, methods, attributes);
+ }
+
+
+ /**
+ * Add an interface to this class, i.e., this class has to implement it.
+ * @param name interface to implement (fully qualified class name)
+ */
+ public void addInterface( final String name ) {
+ interface_vec.add(name);
+ }
+
+
+ /**
+ * Remove an interface from this class.
+ * @param name interface to remove (fully qualified name)
+ */
+ public void removeInterface( final String name ) {
+ interface_vec.remove(name);
+ }
+
+
+ /**
+ * @return major version number of class file
+ */
+ public int getMajor() {
+ return major;
+ }
+
+
+ /** Set major version number of class file, default value is 45 (JDK 1.1)
+ * @param major major version number
+ */
+ public void setMajor( final int major ) { // TODO could be package-protected - only called by test code
+ this.major = major;
+ }
+
+
+ /** Set minor version number of class file, default value is 3 (JDK 1.1)
+ * @param minor minor version number
+ */
+ public void setMinor( final int minor ) { // TODO could be package-protected - only called by test code
+ this.minor = minor;
+ }
+
+ /**
+ * @return minor version number of class file
+ */
+ public int getMinor() {
+ return minor;
+ }
+
+
+ /**
+ * Add an attribute to this class.
+ * @param a attribute to add
+ */
+ public void addAttribute( final Attribute a ) {
+ attribute_vec.add(a);
+ }
+
+ public void addAnnotationEntry(final AnnotationEntryGen a) {
+ annotation_vec.add(a);
+ }
+
+
+ /**
+ * Add a method to this class.
+ * @param m method to add
+ */
+ public void addMethod( final Method m ) {
+ method_vec.add(m);
+ }
+
+
+ /**
+ * Convenience method.
+ *
+ * Add an empty constructor to this class that does nothing but calling super().
+ * @param access_flags rights for constructor
+ */
+ public void addEmptyConstructor( final int access_flags ) {
+ final InstructionList il = new InstructionList();
+ il.append(InstructionConst.THIS); // Push `this'
+ il.append(new INVOKESPECIAL(cp.addMethodref(super_class_name, "", "()V")));
+ il.append(InstructionConst.RETURN);
+ final MethodGen mg = new MethodGen(access_flags, Type.VOID, Type.NO_ARGS, null, "",
+ class_name, il, cp);
+ mg.setMaxStack(1);
+ addMethod(mg.getMethod());
+ }
+
+
+ /**
+ * Add a field to this class.
+ * @param f field to add
+ */
+ public void addField( final Field f ) {
+ field_vec.add(f);
+ }
+
+
+ public boolean containsField( final Field f ) {
+ return field_vec.contains(f);
+ }
+
+
+ /** @return field object with given name, or null
+ */
+ public Field containsField( final String name ) {
+ for (final Field f : field_vec) {
+ if (f.getName().equals(name)) {
+ return f;
+ }
+ }
+ return null;
+ }
+
+
+ /** @return method object with given name and signature, or null
+ */
+ public Method containsMethod( final String name, final String signature ) {
+ for (final Method m : method_vec) {
+ if (m.getName().equals(name) && m.getSignature().equals(signature)) {
+ return m;
+ }
+ }
+ return null;
+ }
+
+
+ /**
+ * Remove an attribute from this class.
+ * @param a attribute to remove
+ */
+ public void removeAttribute( final Attribute a ) {
+ attribute_vec.remove(a);
+ }
+
+
+ /**
+ * Remove a method from this class.
+ * @param m method to remove
+ */
+ public void removeMethod( final Method m ) {
+ method_vec.remove(m);
+ }
+
+
+ /** Replace given method with new one. If the old one does not exist
+ * add the new_ method to the class anyway.
+ */
+ public void replaceMethod( final Method old, final Method new_ ) {
+ if (new_ == null) {
+ throw new ClassGenException("Replacement method must not be null");
+ }
+ final int i = method_vec.indexOf(old);
+ if (i < 0) {
+ method_vec.add(new_);
+ } else {
+ method_vec.set(i, new_);
+ }
+ }
+
+
+ /** Replace given field with new one. If the old one does not exist
+ * add the new_ field to the class anyway.
+ */
+ public void replaceField( final Field old, final Field new_ ) {
+ if (new_ == null) {
+ throw new ClassGenException("Replacement method must not be null");
+ }
+ final int i = field_vec.indexOf(old);
+ if (i < 0) {
+ field_vec.add(new_);
+ } else {
+ field_vec.set(i, new_);
+ }
+ }
+
+
+ /**
+ * Remove a field to this class.
+ * @param f field to remove
+ */
+ public void removeField( final Field f ) {
+ field_vec.remove(f);
+ }
+
+
+ public String getClassName() {
+ return class_name;
+ }
+
+
+ public String getSuperclassName() {
+ return super_class_name;
+ }
+
+
+ public String getFileName() {
+ return file_name;
+ }
+
+
+ public void setClassName( final String name ) {
+ class_name = name.replace('/', '.');
+ class_name_index = cp.addClass(name);
+ }
+
+
+ public void setSuperclassName( final String name ) {
+ super_class_name = name.replace('/', '.');
+ superclass_name_index = cp.addClass(name);
+ }
+
+
+ public Method[] getMethods() {
+ return method_vec.toArray(new Method[method_vec.size()]);
+ }
+
+
+ public void setMethods( final Method[] methods ) {
+ method_vec.clear();
+ for (final Method method : methods) {
+ addMethod(method);
+ }
+ }
+
+
+ public void setMethodAt( final Method method, final int pos ) {
+ method_vec.set(pos, method);
+ }
+
+
+ public Method getMethodAt( final int pos ) {
+ return method_vec.get(pos);
+ }
+
+
+ public String[] getInterfaceNames() {
+ final int size = interface_vec.size();
+ final String[] interfaces = new String[size];
+ interface_vec.toArray(interfaces);
+ return interfaces;
+ }
+
+
+ public int[] getInterfaces() {
+ final int size = interface_vec.size();
+ final int[] interfaces = new int[size];
+ for (int i = 0; i < size; i++) {
+ interfaces[i] = cp.addClass(interface_vec.get(i));
+ }
+ return interfaces;
+ }
+
+
+ public Field[] getFields() {
+ return field_vec.toArray(new Field[field_vec.size()]);
+ }
+
+
+ public Attribute[] getAttributes() {
+ return attribute_vec.toArray(new Attribute[attribute_vec.size()]);
+ }
+
+ // J5TODO: Should we make calling unpackAnnotations() lazy and put it in here?
+ public AnnotationEntryGen[] getAnnotationEntries() {
+ return annotation_vec.toArray(new AnnotationEntryGen[annotation_vec.size()]);
+ }
+
+
+ public ConstantPoolGen getConstantPool() {
+ return cp;
+ }
+
+
+ public void setConstantPool( final ConstantPoolGen constant_pool ) {
+ cp = constant_pool;
+ }
+
+
+ public void setClassNameIndex( final int class_name_index ) {
+ this.class_name_index = class_name_index;
+ class_name = cp.getConstantPool().getConstantString(class_name_index,
+ Const.CONSTANT_Class).replace('/', '.');
+ }
+
+
+ public void setSuperclassNameIndex( final int superclass_name_index ) {
+ this.superclass_name_index = superclass_name_index;
+ super_class_name = cp.getConstantPool().getConstantString(superclass_name_index,
+ Const.CONSTANT_Class).replace('/', '.');
+ }
+
+
+ public int getSuperclassNameIndex() {
+ return superclass_name_index;
+ }
+
+
+ public int getClassNameIndex() {
+ return class_name_index;
+ }
+
+ private List observers;
+
+
+ /** Add observer for this object.
+ */
+ public void addObserver( final ClassObserver o ) {
+ if (observers == null) {
+ observers = new ArrayList<>();
+ }
+ observers.add(o);
+ }
+
+
+ /** Remove observer for this object.
+ */
+ public void removeObserver( final ClassObserver o ) {
+ if (observers != null) {
+ observers.remove(o);
+ }
+ }
+
+
+ /** Call notify() method on all observers. This method is not called
+ * automatically whenever the state has changed, but has to be
+ * called by the user after he has finished editing the object.
+ */
+ public void update() {
+ if (observers != null) {
+ for (final ClassObserver observer : observers) {
+ observer.notify(this);
+ }
+ }
+ }
+
+
+ @Override
+ public Object clone() {
+ try {
+ return super.clone();
+ } catch (final CloneNotSupportedException e) {
+ throw new Error("Clone Not Supported"); // never happens
+ }
+ }
+
+
+ /**
+ * @return Comparison strategy object
+ */
+ public static BCELComparator getComparator() {
+ return _cmp;
+ }
+
+
+ /**
+ * @param comparator Comparison strategy object
+ */
+ public static void setComparator( final BCELComparator comparator ) {
+ _cmp = comparator;
+ }
+
+
+ /**
+ * Return value as defined by given BCELComparator strategy.
+ * By default two ClassGen objects are said to be equal when
+ * their class names are equal.
+ *
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals( final Object obj ) {
+ return _cmp.equals(this, obj);
+ }
+
+
+ /**
+ * Return value as defined by given BCELComparator strategy.
+ * By default return the hashcode of the class name.
+ *
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ return _cmp.hashCode(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassGenException.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassGenException.java
new file mode 100644
index 00000000..55fb2147
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassGenException.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * Thrown on internal errors. Extends RuntimeException so it hasn't to be declared
+ * in the throws clause every time.
+ *
+ * @version $Id: ClassGenException.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class ClassGenException extends RuntimeException {
+
+ private static final long serialVersionUID = 7247369755051242791L;
+
+ public ClassGenException() {
+ super();
+ }
+
+
+ public ClassGenException(final String s) {
+ super(s);
+ }
+
+ public ClassGenException(final String s, final Throwable initCause) {
+ super(s, initCause);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassObserver.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassObserver.java
new file mode 100644
index 00000000..cddb9f6b
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassObserver.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * Implement this interface if you're interested in changes to a ClassGen object
+ * and register yourself with addObserver().
+ *
+ * @version $Id: ClassObserver.java 1747278 2016-06-07 17:28:43Z britter $
+ */
+public interface ClassObserver {
+
+ void notify( ClassGen clazz );
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/CodeExceptionGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CodeExceptionGen.java
old mode 100755
new mode 100644
similarity index 70%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/CodeExceptionGen.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CodeExceptionGen.java
index 070be6a1..dc7a9c6c
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/CodeExceptionGen.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CodeExceptionGen.java
@@ -1,184 +1,187 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-import org.apache.bcel5_2_0.classfile.CodeException;
-
-/**
- * This class represents an exception handler, i.e., specifies the region where
- * a handler is active and an instruction where the actual handling is done.
- * pool as parameters. Opposed to the JVM specification the end of the handled
- * region is set to be inclusive, i.e. all instructions between start and end
- * are protected including the start and end instructions (handles) themselves.
- * The end of the region is automatically mapped to be exclusive when calling
- * getCodeException(), i.e., there is no difference semantically.
- *
- * @version $Id: CodeExceptionGen.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- * @see MethodGen
- * @see CodeException
- * @see InstructionHandle
- */
-public final class CodeExceptionGen implements InstructionTargeter, Cloneable, java.io.Serializable {
-
- private InstructionHandle start_pc;
- private InstructionHandle end_pc;
- private InstructionHandle handler_pc;
- private ObjectType catch_type;
-
-
- /**
- * Add an exception handler, i.e., specify region where a handler is active and an
- * instruction where the actual handling is done.
- *
- * @param start_pc Start of handled region (inclusive)
- * @param end_pc End of handled region (inclusive)
- * @param handler_pc Where handling is done
- * @param catch_type which exception is handled, null for ANY
- */
- public CodeExceptionGen(InstructionHandle start_pc, InstructionHandle end_pc,
- InstructionHandle handler_pc, ObjectType catch_type) {
- setStartPC(start_pc);
- setEndPC(end_pc);
- setHandlerPC(handler_pc);
- this.catch_type = catch_type;
- }
-
-
- /**
- * Get CodeException object.
- *
- * This relies on that the instruction list has already been dumped
- * to byte code or or that the `setPositions' methods has been
- * called for the instruction list.
- *
- * @param cp constant pool
- */
- public CodeException getCodeException( ConstantPoolGen cp ) {
- return new CodeException(start_pc.getPosition(), end_pc.getPosition()
- + end_pc.getInstruction().getLength(), handler_pc.getPosition(),
- (catch_type == null) ? 0 : cp.addClass(catch_type));
- }
-
-
- /* Set start of handler
- * @param start_pc Start of handled region (inclusive)
- */
- public void setStartPC( InstructionHandle start_pc ) {
- BranchInstruction.notifyTarget(this.start_pc, start_pc, this);
- this.start_pc = start_pc;
- }
-
-
- /* Set end of handler
- * @param end_pc End of handled region (inclusive)
- */
- public void setEndPC( InstructionHandle end_pc ) {
- BranchInstruction.notifyTarget(this.end_pc, end_pc, this);
- this.end_pc = end_pc;
- }
-
-
- /* Set handler code
- * @param handler_pc Start of handler
- */
- public void setHandlerPC( InstructionHandle handler_pc ) {
- BranchInstruction.notifyTarget(this.handler_pc, handler_pc, this);
- this.handler_pc = handler_pc;
- }
-
-
- /**
- * @param old_ih old target, either start or end
- * @param new_ih new target
- */
- public void updateTarget( InstructionHandle old_ih, InstructionHandle new_ih ) {
- boolean targeted = false;
- if (start_pc == old_ih) {
- targeted = true;
- setStartPC(new_ih);
- }
- if (end_pc == old_ih) {
- targeted = true;
- setEndPC(new_ih);
- }
- if (handler_pc == old_ih) {
- targeted = true;
- setHandlerPC(new_ih);
- }
- if (!targeted) {
- throw new ClassGenException("Not targeting " + old_ih + ", but {" + start_pc + ", "
- + end_pc + ", " + handler_pc + "}");
- }
- }
-
-
- /**
- * @return true, if ih is target of this handler
- */
- public boolean containsTarget( InstructionHandle ih ) {
- return (start_pc == ih) || (end_pc == ih) || (handler_pc == ih);
- }
-
-
- /** Sets the type of the Exception to catch. Set 'null' for ANY. */
- public void setCatchType( ObjectType catch_type ) {
- this.catch_type = catch_type;
- }
-
-
- /** Gets the type of the Exception to catch, 'null' for ANY. */
- public ObjectType getCatchType() {
- return catch_type;
- }
-
-
- /** @return start of handled region (inclusive)
- */
- public InstructionHandle getStartPC() {
- return start_pc;
- }
-
-
- /** @return end of handled region (inclusive)
- */
- public InstructionHandle getEndPC() {
- return end_pc;
- }
-
-
- /** @return start of handler
- */
- public InstructionHandle getHandlerPC() {
- return handler_pc;
- }
-
-
- public String toString() {
- return "CodeExceptionGen(" + start_pc + ", " + end_pc + ", " + handler_pc + ")";
- }
-
-
- public Object clone() {
- try {
- return super.clone();
- } catch (CloneNotSupportedException e) {
- System.err.println(e);
- return null;
- }
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import org.apache.bcel.classfile.CodeException;
+
+/**
+ * This class represents an exception handler, i.e., specifies the region where
+ * a handler is active and an instruction where the actual handling is done.
+ * pool as parameters. Opposed to the JVM specification the end of the handled
+ * region is set to be inclusive, i.e. all instructions between start and end
+ * are protected including the start and end instructions (handles) themselves.
+ * The end of the region is automatically mapped to be exclusive when calling
+ * getCodeException(), i.e., there is no difference semantically.
+ *
+ * @version $Id: CodeExceptionGen.java 1806200 2017-08-25 16:33:06Z ggregory $
+ * @see MethodGen
+ * @see CodeException
+ * @see InstructionHandle
+ */
+public final class CodeExceptionGen implements InstructionTargeter, Cloneable {
+
+ private InstructionHandle start_pc;
+ private InstructionHandle end_pc;
+ private InstructionHandle handler_pc;
+ private ObjectType catch_type;
+
+
+ /**
+ * Add an exception handler, i.e., specify region where a handler is active and an
+ * instruction where the actual handling is done.
+ *
+ * @param start_pc Start of handled region (inclusive)
+ * @param end_pc End of handled region (inclusive)
+ * @param handler_pc Where handling is done
+ * @param catch_type which exception is handled, null for ANY
+ */
+ public CodeExceptionGen(final InstructionHandle start_pc, final InstructionHandle end_pc,
+ final InstructionHandle handler_pc, final ObjectType catch_type) {
+ setStartPC(start_pc);
+ setEndPC(end_pc);
+ setHandlerPC(handler_pc);
+ this.catch_type = catch_type;
+ }
+
+
+ /**
+ * Get CodeException object.
+ *
+ * This relies on that the instruction list has already been dumped
+ * to byte code or or that the `setPositions' methods has been
+ * called for the instruction list.
+ *
+ * @param cp constant pool
+ */
+ public CodeException getCodeException( final ConstantPoolGen cp ) {
+ return new CodeException(start_pc.getPosition(), end_pc.getPosition()
+ + end_pc.getInstruction().getLength(), handler_pc.getPosition(),
+ (catch_type == null) ? 0 : cp.addClass(catch_type));
+ }
+
+
+ /* Set start of handler
+ * @param start_pc Start of handled region (inclusive)
+ */
+ public void setStartPC( final InstructionHandle start_pc ) { // TODO could be package-protected?
+ BranchInstruction.notifyTarget(this.start_pc, start_pc, this);
+ this.start_pc = start_pc;
+ }
+
+
+ /* Set end of handler
+ * @param end_pc End of handled region (inclusive)
+ */
+ public void setEndPC( final InstructionHandle end_pc ) { // TODO could be package-protected?
+ BranchInstruction.notifyTarget(this.end_pc, end_pc, this);
+ this.end_pc = end_pc;
+ }
+
+
+ /* Set handler code
+ * @param handler_pc Start of handler
+ */
+ public void setHandlerPC( final InstructionHandle handler_pc ) { // TODO could be package-protected?
+ BranchInstruction.notifyTarget(this.handler_pc, handler_pc, this);
+ this.handler_pc = handler_pc;
+ }
+
+
+ /**
+ * @param old_ih old target, either start or end
+ * @param new_ih new target
+ */
+ @Override
+ public void updateTarget( final InstructionHandle old_ih, final InstructionHandle new_ih ) {
+ boolean targeted = false;
+ if (start_pc == old_ih) {
+ targeted = true;
+ setStartPC(new_ih);
+ }
+ if (end_pc == old_ih) {
+ targeted = true;
+ setEndPC(new_ih);
+ }
+ if (handler_pc == old_ih) {
+ targeted = true;
+ setHandlerPC(new_ih);
+ }
+ if (!targeted) {
+ throw new ClassGenException("Not targeting " + old_ih + ", but {" + start_pc + ", "
+ + end_pc + ", " + handler_pc + "}");
+ }
+ }
+
+
+ /**
+ * @return true, if ih is target of this handler
+ */
+ @Override
+ public boolean containsTarget( final InstructionHandle ih ) {
+ return (start_pc == ih) || (end_pc == ih) || (handler_pc == ih);
+ }
+
+
+ /** Sets the type of the Exception to catch. Set 'null' for ANY. */
+ public void setCatchType( final ObjectType catch_type ) {
+ this.catch_type = catch_type;
+ }
+
+
+ /** Gets the type of the Exception to catch, 'null' for ANY. */
+ public ObjectType getCatchType() {
+ return catch_type;
+ }
+
+
+ /** @return start of handled region (inclusive)
+ */
+ public InstructionHandle getStartPC() {
+ return start_pc;
+ }
+
+
+ /** @return end of handled region (inclusive)
+ */
+ public InstructionHandle getEndPC() {
+ return end_pc;
+ }
+
+
+ /** @return start of handler
+ */
+ public InstructionHandle getHandlerPC() {
+ return handler_pc;
+ }
+
+
+ @Override
+ public String toString() {
+ return "CodeExceptionGen(" + start_pc + ", " + end_pc + ", " + handler_pc + ")";
+ }
+
+
+ @Override
+ public Object clone() {
+ try {
+ return super.clone();
+ } catch (final CloneNotSupportedException e) {
+ throw new Error("Clone Not Supported"); // never happens
+ }
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/CompoundInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CompoundInstruction.java
old mode 100755
new mode 100644
similarity index 59%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/CompoundInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CompoundInstruction.java
index 4116cc0a..4e3a55e5
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/CompoundInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CompoundInstruction.java
@@ -1,38 +1,38 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * Wrapper class for `compound' operations, virtual instructions that
- * don't exist as byte code, but give a useful meaning. For example,
- * the (virtual) PUSH instruction takes an arbitray argument and produces the
- * appropiate code at dump time (ICONST, LDC, BIPUSH, ...). Also you can use the
- * SWITCH instruction as a useful template for either LOOKUPSWITCH or
- * TABLESWITCH.
- *
- * The interface provides the possibilty for the user to write
- * `templates' or `macros' for such reuseable code patterns.
- *
- * @version $Id: CompoundInstruction.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- * @see PUSH
- * @see SWITCH
- */
-public interface CompoundInstruction {
-
- public InstructionList getInstructionList();
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * Wrapper class for `compound' operations, virtual instructions that
+ * don't exist as byte code, but give a useful meaning. For example,
+ * the (virtual) PUSH instruction takes an arbitray argument and produces the
+ * appropiate code at dump time (ICONST, LDC, BIPUSH, ...). Also you can use the
+ * SWITCH instruction as a useful template for either LOOKUPSWITCH or
+ * TABLESWITCH.
+ *
+ * The interface provides the possibilty for the user to write
+ * `templates' or `macros' for such reuseable code patterns.
+ *
+ * @version $Id: CompoundInstruction.java 1747278 2016-06-07 17:28:43Z britter $
+ * @see PUSH
+ * @see SWITCH
+ */
+public interface CompoundInstruction {
+
+ InstructionList getInstructionList();
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ConstantPoolGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ConstantPoolGen.java
old mode 100755
new mode 100644
similarity index 57%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ConstantPoolGen.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ConstantPoolGen.java
index 5ae20528..afc106c5
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ConstantPoolGen.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ConstantPoolGen.java
@@ -1,765 +1,836 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.bcel5_2_0.Constants;
-import org.apache.bcel5_2_0.classfile.Constant;
-import org.apache.bcel5_2_0.classfile.ConstantCP;
-import org.apache.bcel5_2_0.classfile.ConstantClass;
-import org.apache.bcel5_2_0.classfile.ConstantDouble;
-import org.apache.bcel5_2_0.classfile.ConstantFieldref;
-import org.apache.bcel5_2_0.classfile.ConstantFloat;
-import org.apache.bcel5_2_0.classfile.ConstantInteger;
-import org.apache.bcel5_2_0.classfile.ConstantInterfaceMethodref;
-import org.apache.bcel5_2_0.classfile.ConstantLong;
-import org.apache.bcel5_2_0.classfile.ConstantMethodref;
-import org.apache.bcel5_2_0.classfile.ConstantNameAndType;
-import org.apache.bcel5_2_0.classfile.ConstantPool;
-import org.apache.bcel5_2_0.classfile.ConstantString;
-import org.apache.bcel5_2_0.classfile.ConstantUtf8;
-
-/**
- * This class is used to build up a constant pool. The user adds
- * constants via `addXXX' methods, `addString', `addClass',
- * etc.. These methods return an index into the constant
- * pool. Finally, `getFinalConstantPool()' returns the constant pool
- * built up. Intermediate versions of the constant pool can be
- * obtained with `getConstantPool()'. A constant pool has capacity for
- * Constants.MAX_SHORT entries. Note that the first (0) is used by the
- * JVM and that Double and Long constants need two slots.
- *
- * @version $Id: ConstantPoolGen.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- * @see Constant
- */
-public class ConstantPoolGen implements java.io.Serializable {
-
- protected int size = 1024; // Inital size, sufficient in most cases
- protected Constant[] constants = new Constant[size];
- protected int index = 1; // First entry (0) used by JVM
- private static final String METHODREF_DELIM = ":";
- private static final String IMETHODREF_DELIM = "#";
- private static final String FIELDREF_DELIM = "&";
- private static final String NAT_DELIM = "%";
-
- private static class Index implements java.io.Serializable {
-
- int index;
-
-
- Index(int i) {
- index = i;
- }
- }
-
-
- /**
- * Initialize with given array of constants.
- *
- * @param cs array of given constants, new ones will be appended
- */
- public ConstantPoolGen(Constant[] cs) {
- if (cs.length > size) {
- size = cs.length;
- constants = new Constant[size];
- }
- System.arraycopy(cs, 0, constants, 0, cs.length);
- if (cs.length > 0) {
- index = cs.length;
- }
- for (int i = 1; i < index; i++) {
- Constant c = constants[i];
- if (c instanceof ConstantString) {
- ConstantString s = (ConstantString) c;
- ConstantUtf8 u8 = (ConstantUtf8) constants[s.getStringIndex()];
- String key = u8.getBytes();
- if (!string_table.containsKey(key)) {
- string_table.put(key, new Index(i));
- }
- } else if (c instanceof ConstantClass) {
- ConstantClass s = (ConstantClass) c;
- ConstantUtf8 u8 = (ConstantUtf8) constants[s.getNameIndex()];
- String key = u8.getBytes();
- if (!class_table.containsKey(key)) {
- class_table.put(key, new Index(i));
- }
- } else if (c instanceof ConstantNameAndType) {
- ConstantNameAndType n = (ConstantNameAndType) c;
- ConstantUtf8 u8 = (ConstantUtf8) constants[n.getNameIndex()];
- ConstantUtf8 u8_2 = (ConstantUtf8) constants[n.getSignatureIndex()];
- String key = u8.getBytes() + NAT_DELIM + u8_2.getBytes();
- if (!n_a_t_table.containsKey(key)) {
- n_a_t_table.put(key, new Index(i));
- }
- } else if (c instanceof ConstantUtf8) {
- ConstantUtf8 u = (ConstantUtf8) c;
- String key = u.getBytes();
- if (!utf8_table.containsKey(key)) {
- utf8_table.put(key, new Index(i));
- }
- } else if (c instanceof ConstantCP) {
- ConstantCP m = (ConstantCP) c;
- ConstantClass clazz = (ConstantClass) constants[m.getClassIndex()];
- ConstantNameAndType n = (ConstantNameAndType) constants[m.getNameAndTypeIndex()];
- ConstantUtf8 u8 = (ConstantUtf8) constants[clazz.getNameIndex()];
- String class_name = u8.getBytes().replace('/', '.');
- u8 = (ConstantUtf8) constants[n.getNameIndex()];
- String method_name = u8.getBytes();
- u8 = (ConstantUtf8) constants[n.getSignatureIndex()];
- String signature = u8.getBytes();
- String delim = METHODREF_DELIM;
- if (c instanceof ConstantInterfaceMethodref) {
- delim = IMETHODREF_DELIM;
- } else if (c instanceof ConstantFieldref) {
- delim = FIELDREF_DELIM;
- }
- String key = class_name + delim + method_name + delim + signature;
- if (!cp_table.containsKey(key)) {
- cp_table.put(key, new Index(i));
- }
- }
- }
- }
-
-
- /**
- * Initialize with given constant pool.
- */
- public ConstantPoolGen(ConstantPool cp) {
- this(cp.getConstantPool());
- }
-
-
- /**
- * Create empty constant pool.
- */
- public ConstantPoolGen() {
- }
-
-
- /** Resize internal array of constants.
- */
- protected void adjustSize() {
- if (index + 3 >= size) {
- Constant[] cs = constants;
- size *= 2;
- constants = new Constant[size];
- System.arraycopy(cs, 0, constants, 0, index);
- }
- }
-
- private Map string_table = new HashMap();
-
-
- /**
- * Look for ConstantString in ConstantPool containing String `str'.
- *
- * @param str String to search for
- * @return index on success, -1 otherwise
- */
- public int lookupString( String str ) {
- Index index = (Index) string_table.get(str);
- return (index != null) ? index.index : -1;
- }
-
-
- /**
- * Add a new String constant to the ConstantPool, if it is not already in there.
- *
- * @param str String to add
- * @return index of entry
- */
- public int addString( String str ) {
- int ret;
- if ((ret = lookupString(str)) != -1) {
- return ret; // Already in CP
- }
- int utf8 = addUtf8(str);
- adjustSize();
- ConstantString s = new ConstantString(utf8);
- ret = index;
- constants[index++] = s;
- if (!string_table.containsKey(str)) {
- string_table.put(str, new Index(ret));
- }
- return ret;
- }
-
- private Map class_table = new HashMap();
-
-
- /**
- * Look for ConstantClass in ConstantPool named `str'.
- *
- * @param str String to search for
- * @return index on success, -1 otherwise
- */
- public int lookupClass( String str ) {
- Index index = (Index) class_table.get(str.replace('.', '/'));
- return (index != null) ? index.index : -1;
- }
-
-
- private int addClass_( String clazz ) {
- int ret;
- if ((ret = lookupClass(clazz)) != -1) {
- return ret; // Already in CP
- }
- adjustSize();
- ConstantClass c = new ConstantClass(addUtf8(clazz));
- ret = index;
- constants[index++] = c;
- if (!class_table.containsKey(clazz)) {
- class_table.put(clazz, new Index(ret));
- }
- return ret;
- }
-
-
- /**
- * Add a new Class reference to the ConstantPool, if it is not already in there.
- *
- * @param str Class to add
- * @return index of entry
- */
- public int addClass( String str ) {
- return addClass_(str.replace('.', '/'));
- }
-
-
- /**
- * Add a new Class reference to the ConstantPool for a given type.
- *
- * @param type Class to add
- * @return index of entry
- */
- public int addClass( ObjectType type ) {
- return addClass(type.getClassName());
- }
-
-
- /**
- * Add a reference to an array class (e.g. String[][]) as needed by MULTIANEWARRAY
- * instruction, e.g. to the ConstantPool.
- *
- * @param type type of array class
- * @return index of entry
- */
- public int addArrayClass( ArrayType type ) {
- return addClass_(type.getSignature());
- }
-
-
- /**
- * Look for ConstantInteger in ConstantPool.
- *
- * @param n integer number to look for
- * @return index on success, -1 otherwise
- */
- public int lookupInteger( int n ) {
- for (int i = 1; i < index; i++) {
- if (constants[i] instanceof ConstantInteger) {
- ConstantInteger c = (ConstantInteger) constants[i];
- if (c.getBytes() == n) {
- return i;
- }
- }
- }
- return -1;
- }
-
-
- /**
- * Add a new Integer constant to the ConstantPool, if it is not already in there.
- *
- * @param n integer number to add
- * @return index of entry
- */
- public int addInteger( int n ) {
- int ret;
- if ((ret = lookupInteger(n)) != -1) {
- return ret; // Already in CP
- }
- adjustSize();
- ret = index;
- constants[index++] = new ConstantInteger(n);
- return ret;
- }
-
-
- /**
- * Look for ConstantFloat in ConstantPool.
- *
- * @param n Float number to look for
- * @return index on success, -1 otherwise
- */
- public int lookupFloat( float n ) {
- int bits = Float.floatToIntBits(n);
- for (int i = 1; i < index; i++) {
- if (constants[i] instanceof ConstantFloat) {
- ConstantFloat c = (ConstantFloat) constants[i];
- if (Float.floatToIntBits(c.getBytes()) == bits) {
- return i;
- }
- }
- }
- return -1;
- }
-
-
- /**
- * Add a new Float constant to the ConstantPool, if it is not already in there.
- *
- * @param n Float number to add
- * @return index of entry
- */
- public int addFloat( float n ) {
- int ret;
- if ((ret = lookupFloat(n)) != -1) {
- return ret; // Already in CP
- }
- adjustSize();
- ret = index;
- constants[index++] = new ConstantFloat(n);
- return ret;
- }
-
- private Map utf8_table = new HashMap();
-
-
- /**
- * Look for ConstantUtf8 in ConstantPool.
- *
- * @param n Utf8 string to look for
- * @return index on success, -1 otherwise
- */
- public int lookupUtf8( String n ) {
- Index index = (Index) utf8_table.get(n);
- return (index != null) ? index.index : -1;
- }
-
-
- /**
- * Add a new Utf8 constant to the ConstantPool, if it is not already in there.
- *
- * @param n Utf8 string to add
- * @return index of entry
- */
- public int addUtf8( String n ) {
- int ret;
- if ((ret = lookupUtf8(n)) != -1) {
- return ret; // Already in CP
- }
- adjustSize();
- ret = index;
- constants[index++] = new ConstantUtf8(n);
- if (!utf8_table.containsKey(n)) {
- utf8_table.put(n, new Index(ret));
- }
- return ret;
- }
-
-
- /**
- * Look for ConstantLong in ConstantPool.
- *
- * @param n Long number to look for
- * @return index on success, -1 otherwise
- */
- public int lookupLong( long n ) {
- for (int i = 1; i < index; i++) {
- if (constants[i] instanceof ConstantLong) {
- ConstantLong c = (ConstantLong) constants[i];
- if (c.getBytes() == n) {
- return i;
- }
- }
- }
- return -1;
- }
-
-
- /**
- * Add a new long constant to the ConstantPool, if it is not already in there.
- *
- * @param n Long number to add
- * @return index of entry
- */
- public int addLong( long n ) {
- int ret;
- if ((ret = lookupLong(n)) != -1) {
- return ret; // Already in CP
- }
- adjustSize();
- ret = index;
- constants[index] = new ConstantLong(n);
- index += 2; // Wastes one entry according to spec
- return ret;
- }
-
-
- /**
- * Look for ConstantDouble in ConstantPool.
- *
- * @param n Double number to look for
- * @return index on success, -1 otherwise
- */
- public int lookupDouble( double n ) {
- long bits = Double.doubleToLongBits(n);
- for (int i = 1; i < index; i++) {
- if (constants[i] instanceof ConstantDouble) {
- ConstantDouble c = (ConstantDouble) constants[i];
- if (Double.doubleToLongBits(c.getBytes()) == bits) {
- return i;
- }
- }
- }
- return -1;
- }
-
-
- /**
- * Add a new double constant to the ConstantPool, if it is not already in there.
- *
- * @param n Double number to add
- * @return index of entry
- */
- public int addDouble( double n ) {
- int ret;
- if ((ret = lookupDouble(n)) != -1) {
- return ret; // Already in CP
- }
- adjustSize();
- ret = index;
- constants[index] = new ConstantDouble(n);
- index += 2; // Wastes one entry according to spec
- return ret;
- }
-
- private Map n_a_t_table = new HashMap();
-
-
- /**
- * Look for ConstantNameAndType in ConstantPool.
- *
- * @param name of variable/method
- * @param signature of variable/method
- * @return index on success, -1 otherwise
- */
- public int lookupNameAndType( String name, String signature ) {
- Index _index = (Index) n_a_t_table.get(name + NAT_DELIM + signature);
- return (_index != null) ? _index.index : -1;
- }
-
-
- /**
- * Add a new NameAndType constant to the ConstantPool if it is not already
- * in there.
- *
- * @param name Name string to add
- * @param signature signature string to add
- * @return index of entry
- */
- public int addNameAndType( String name, String signature ) {
- int ret;
- int name_index, signature_index;
- if ((ret = lookupNameAndType(name, signature)) != -1) {
- return ret; // Already in CP
- }
- adjustSize();
- name_index = addUtf8(name);
- signature_index = addUtf8(signature);
- ret = index;
- constants[index++] = new ConstantNameAndType(name_index, signature_index);
- String key = name + NAT_DELIM + signature;
- if (!n_a_t_table.containsKey(key)) {
- n_a_t_table.put(key, new Index(ret));
- }
- return ret;
- }
-
- private Map cp_table = new HashMap();
-
-
- /**
- * Look for ConstantMethodref in ConstantPool.
- *
- * @param class_name Where to find method
- * @param method_name Guess what
- * @param signature return and argument types
- * @return index on success, -1 otherwise
- */
- public int lookupMethodref( String class_name, String method_name, String signature ) {
- Index index = (Index) cp_table.get(class_name + METHODREF_DELIM + method_name
- + METHODREF_DELIM + signature);
- return (index != null) ? index.index : -1;
- }
-
-
- public int lookupMethodref( MethodGen method ) {
- return lookupMethodref(method.getClassName(), method.getName(), method.getSignature());
- }
-
-
- /**
- * Add a new Methodref constant to the ConstantPool, if it is not already
- * in there.
- *
- * @param class_name class name string to add
- * @param method_name method name string to add
- * @param signature method signature string to add
- * @return index of entry
- */
- public int addMethodref( String class_name, String method_name, String signature ) {
- int ret, class_index, name_and_type_index;
- if ((ret = lookupMethodref(class_name, method_name, signature)) != -1) {
- return ret; // Already in CP
- }
- adjustSize();
- name_and_type_index = addNameAndType(method_name, signature);
- class_index = addClass(class_name);
- ret = index;
- constants[index++] = new ConstantMethodref(class_index, name_and_type_index);
- String key = class_name + METHODREF_DELIM + method_name + METHODREF_DELIM + signature;
- if (!cp_table.containsKey(key)) {
- cp_table.put(key, new Index(ret));
- }
- return ret;
- }
-
-
- public int addMethodref( MethodGen method ) {
- return addMethodref(method.getClassName(), method.getName(), method.getSignature());
- }
-
-
- /**
- * Look for ConstantInterfaceMethodref in ConstantPool.
- *
- * @param class_name Where to find method
- * @param method_name Guess what
- * @param signature return and argument types
- * @return index on success, -1 otherwise
- */
- public int lookupInterfaceMethodref( String class_name, String method_name, String signature ) {
- Index index = (Index) cp_table.get(class_name + IMETHODREF_DELIM + method_name
- + IMETHODREF_DELIM + signature);
- return (index != null) ? index.index : -1;
- }
-
-
- public int lookupInterfaceMethodref( MethodGen method ) {
- return lookupInterfaceMethodref(method.getClassName(), method.getName(), method
- .getSignature());
- }
-
-
- /**
- * Add a new InterfaceMethodref constant to the ConstantPool, if it is not already
- * in there.
- *
- * @param class_name class name string to add
- * @param method_name method name string to add
- * @param signature signature string to add
- * @return index of entry
- */
- public int addInterfaceMethodref( String class_name, String method_name, String signature ) {
- int ret, class_index, name_and_type_index;
- if ((ret = lookupInterfaceMethodref(class_name, method_name, signature)) != -1) {
- return ret; // Already in CP
- }
- adjustSize();
- class_index = addClass(class_name);
- name_and_type_index = addNameAndType(method_name, signature);
- ret = index;
- constants[index++] = new ConstantInterfaceMethodref(class_index, name_and_type_index);
- String key = class_name + IMETHODREF_DELIM + method_name + IMETHODREF_DELIM + signature;
- if (!cp_table.containsKey(key)) {
- cp_table.put(key, new Index(ret));
- }
- return ret;
- }
-
-
- public int addInterfaceMethodref( MethodGen method ) {
- return addInterfaceMethodref(method.getClassName(), method.getName(), method.getSignature());
- }
-
-
- /**
- * Look for ConstantFieldref in ConstantPool.
- *
- * @param class_name Where to find method
- * @param field_name Guess what
- * @param signature return and argument types
- * @return index on success, -1 otherwise
- */
- public int lookupFieldref( String class_name, String field_name, String signature ) {
- Index index = (Index) cp_table.get(class_name + FIELDREF_DELIM + field_name
- + FIELDREF_DELIM + signature);
- return (index != null) ? index.index : -1;
- }
-
-
- /**
- * Add a new Fieldref constant to the ConstantPool, if it is not already
- * in there.
- *
- * @param class_name class name string to add
- * @param field_name field name string to add
- * @param signature signature string to add
- * @return index of entry
- */
- public int addFieldref( String class_name, String field_name, String signature ) {
- int ret;
- int class_index, name_and_type_index;
- if ((ret = lookupFieldref(class_name, field_name, signature)) != -1) {
- return ret; // Already in CP
- }
- adjustSize();
- class_index = addClass(class_name);
- name_and_type_index = addNameAndType(field_name, signature);
- ret = index;
- constants[index++] = new ConstantFieldref(class_index, name_and_type_index);
- String key = class_name + FIELDREF_DELIM + field_name + FIELDREF_DELIM + signature;
- if (!cp_table.containsKey(key)) {
- cp_table.put(key, new Index(ret));
- }
- return ret;
- }
-
-
- /**
- * @param i index in constant pool
- * @return constant pool entry at index i
- */
- public Constant getConstant( int i ) {
- return constants[i];
- }
-
-
- /**
- * Use with care!
- *
- * @param i index in constant pool
- * @param c new constant pool entry at index i
- */
- public void setConstant( int i, Constant c ) {
- constants[i] = c;
- }
-
-
- /**
- * @return intermediate constant pool
- */
- public ConstantPool getConstantPool() {
- return new ConstantPool(constants);
- }
-
-
- /**
- * @return current size of constant pool
- */
- public int getSize() {
- return index;
- }
-
-
- /**
- * @return constant pool with proper length
- */
- public ConstantPool getFinalConstantPool() {
- Constant[] cs = new Constant[index];
- System.arraycopy(constants, 0, cs, 0, index);
- return new ConstantPool(cs);
- }
-
-
- /**
- * @return String representation.
- */
- public String toString() {
- StringBuilder buf = new StringBuilder();
- for (int i = 1; i < index; i++) {
- buf.append(i).append(")").append(constants[i]).append("\n");
- }
- return buf.toString();
- }
-
-
- /** Import constant from another ConstantPool and return new index.
- */
- public int addConstant( Constant c, ConstantPoolGen cp ) {
- Constant[] constants = cp.getConstantPool().getConstantPool();
- switch (c.getTag()) {
- case Constants.CONSTANT_String: {
- ConstantString s = (ConstantString) c;
- ConstantUtf8 u8 = (ConstantUtf8) constants[s.getStringIndex()];
- return addString(u8.getBytes());
- }
- case Constants.CONSTANT_Class: {
- ConstantClass s = (ConstantClass) c;
- ConstantUtf8 u8 = (ConstantUtf8) constants[s.getNameIndex()];
- return addClass(u8.getBytes());
- }
- case Constants.CONSTANT_NameAndType: {
- ConstantNameAndType n = (ConstantNameAndType) c;
- ConstantUtf8 u8 = (ConstantUtf8) constants[n.getNameIndex()];
- ConstantUtf8 u8_2 = (ConstantUtf8) constants[n.getSignatureIndex()];
- return addNameAndType(u8.getBytes(), u8_2.getBytes());
- }
- case Constants.CONSTANT_Utf8:
- return addUtf8(((ConstantUtf8) c).getBytes());
- case Constants.CONSTANT_Double:
- return addDouble(((ConstantDouble) c).getBytes());
- case Constants.CONSTANT_Float:
- return addFloat(((ConstantFloat) c).getBytes());
- case Constants.CONSTANT_Long:
- return addLong(((ConstantLong) c).getBytes());
- case Constants.CONSTANT_Integer:
- return addInteger(((ConstantInteger) c).getBytes());
- case Constants.CONSTANT_InterfaceMethodref:
- case Constants.CONSTANT_Methodref:
- case Constants.CONSTANT_Fieldref: {
- ConstantCP m = (ConstantCP) c;
- ConstantClass clazz = (ConstantClass) constants[m.getClassIndex()];
- ConstantNameAndType n = (ConstantNameAndType) constants[m.getNameAndTypeIndex()];
- ConstantUtf8 u8 = (ConstantUtf8) constants[clazz.getNameIndex()];
- String class_name = u8.getBytes().replace('/', '.');
- u8 = (ConstantUtf8) constants[n.getNameIndex()];
- String name = u8.getBytes();
- u8 = (ConstantUtf8) constants[n.getSignatureIndex()];
- String signature = u8.getBytes();
- switch (c.getTag()) {
- case Constants.CONSTANT_InterfaceMethodref:
- return addInterfaceMethodref(class_name, name, signature);
- case Constants.CONSTANT_Methodref:
- return addMethodref(class_name, name, signature);
- case Constants.CONSTANT_Fieldref:
- return addFieldref(class_name, name, signature);
- default: // Never reached
- throw new RuntimeException("Unknown constant type " + c);
- }
- }
- default: // Never reached
- throw new RuntimeException("Unknown constant type " + c);
- }
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.bcel.Const;
+import org.apache.bcel.classfile.Constant;
+import org.apache.bcel.classfile.ConstantCP;
+import org.apache.bcel.classfile.ConstantClass;
+import org.apache.bcel.classfile.ConstantDouble;
+import org.apache.bcel.classfile.ConstantFieldref;
+import org.apache.bcel.classfile.ConstantFloat;
+import org.apache.bcel.classfile.ConstantInteger;
+import org.apache.bcel.classfile.ConstantInterfaceMethodref;
+import org.apache.bcel.classfile.ConstantInvokeDynamic;
+import org.apache.bcel.classfile.ConstantLong;
+import org.apache.bcel.classfile.ConstantMethodref;
+import org.apache.bcel.classfile.ConstantNameAndType;
+import org.apache.bcel.classfile.ConstantPool;
+import org.apache.bcel.classfile.ConstantString;
+import org.apache.bcel.classfile.ConstantUtf8;
+
+/**
+ * This class is used to build up a constant pool. The user adds
+ * constants via `addXXX' methods, `addString', `addClass',
+ * etc.. These methods return an index into the constant
+ * pool. Finally, `getFinalConstantPool()' returns the constant pool
+ * built up. Intermediate versions of the constant pool can be
+ * obtained with `getConstantPool()'. A constant pool has capacity for
+ * Constants.MAX_SHORT entries. Note that the first (0) is used by the
+ * JVM and that Double and Long constants need two slots.
+ *
+ * @version $Id: ConstantPoolGen.java 1806200 2017-08-25 16:33:06Z ggregory $
+ * @see Constant
+ */
+public class ConstantPoolGen {
+
+ private static final int DEFAULT_BUFFER_SIZE = 256;
+
+ /**
+ * @deprecated (since 6.0) will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
+ protected int size;
+
+ /**
+ * @deprecated (since 6.0) will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
+ protected Constant[] constants;
+
+ /**
+ * @deprecated (since 6.0) will be made private; do not access directly, use getSize()
+ */
+ @Deprecated
+ protected int index = 1; // First entry (0) used by JVM
+
+ private static final String METHODREF_DELIM = ":";
+ private static final String IMETHODREF_DELIM = "#";
+ private static final String FIELDREF_DELIM = "&";
+ private static final String NAT_DELIM = "%"; // Name and Type
+
+ private static class Index {
+
+ final int index;
+
+
+ Index(final int i) {
+ index = i;
+ }
+ }
+
+
+ /**
+ * Initialize with given array of constants.
+ *
+ * @param cs array of given constants, new ones will be appended
+ */
+ public ConstantPoolGen(final Constant[] cs) {
+ final StringBuilder sb = new StringBuilder(DEFAULT_BUFFER_SIZE);
+
+ size = Math.max(DEFAULT_BUFFER_SIZE, cs.length + 64);
+ constants = new Constant[size];
+
+ System.arraycopy(cs, 0, constants, 0, cs.length);
+ if (cs.length > 0) {
+ index = cs.length;
+ }
+
+
+ for (int i = 1; i < index; i++) {
+ final Constant c = constants[i];
+ if (c instanceof ConstantString) {
+ final ConstantString s = (ConstantString) c;
+ final ConstantUtf8 u8 = (ConstantUtf8) constants[s.getStringIndex()];
+ final String key = u8.getBytes();
+ if (!string_table.containsKey(key)) {
+ string_table.put(key, new Index(i));
+ }
+ } else if (c instanceof ConstantClass) {
+ final ConstantClass s = (ConstantClass) c;
+ final ConstantUtf8 u8 = (ConstantUtf8) constants[s.getNameIndex()];
+ final String key = u8.getBytes();
+ if (!class_table.containsKey(key)) {
+ class_table.put(key, new Index(i));
+ }
+ } else if (c instanceof ConstantNameAndType) {
+ final ConstantNameAndType n = (ConstantNameAndType) c;
+ final ConstantUtf8 u8 = (ConstantUtf8) constants[n.getNameIndex()];
+ final ConstantUtf8 u8_2 = (ConstantUtf8) constants[n.getSignatureIndex()];
+
+ sb.append(u8.getBytes());
+ sb.append(NAT_DELIM);
+ sb.append(u8_2.getBytes());
+ final String key = sb.toString();
+ sb.delete(0, sb.length());
+
+ if (!n_a_t_table.containsKey(key)) {
+ n_a_t_table.put(key, new Index(i));
+ }
+ } else if (c instanceof ConstantUtf8) {
+ final ConstantUtf8 u = (ConstantUtf8) c;
+ final String key = u.getBytes();
+ if (!utf8_table.containsKey(key)) {
+ utf8_table.put(key, new Index(i));
+ }
+ } else if (c instanceof ConstantCP) {
+ final ConstantCP m = (ConstantCP) c;
+ String class_name;
+ ConstantUtf8 u8;
+
+ if (c instanceof ConstantInvokeDynamic) {
+ class_name = Integer.toString(((ConstantInvokeDynamic) m).getBootstrapMethodAttrIndex());
+ // since name can't begin with digit, can use
+ // METHODREF_DELIM with out fear of duplicates.
+ } else {
+ final ConstantClass clazz = (ConstantClass) constants[m.getClassIndex()];
+ u8 = (ConstantUtf8) constants[clazz.getNameIndex()];
+ class_name = u8.getBytes().replace('/', '.');
+ }
+
+ final ConstantNameAndType n = (ConstantNameAndType) constants[m.getNameAndTypeIndex()];
+ u8 = (ConstantUtf8) constants[n.getNameIndex()];
+ final String method_name = u8.getBytes();
+ u8 = (ConstantUtf8) constants[n.getSignatureIndex()];
+ final String signature = u8.getBytes();
+
+ String delim = METHODREF_DELIM;
+ if (c instanceof ConstantInterfaceMethodref) {
+ delim = IMETHODREF_DELIM;
+ } else if (c instanceof ConstantFieldref) {
+ delim = FIELDREF_DELIM;
+ }
+
+ sb.append(class_name);
+ sb.append(delim);
+ sb.append(method_name);
+ sb.append(delim);
+ sb.append(signature);
+ final String key = sb.toString();
+ sb.delete(0, sb.length());
+
+ if (!cp_table.containsKey(key)) {
+ cp_table.put(key, new Index(i));
+ }
+ } else if (c == null) { // entries may be null
+ // nothing to do
+ } else if (c instanceof ConstantInteger) {
+ // nothing to do
+ } else if (c instanceof ConstantLong) {
+ // nothing to do
+ } else if (c instanceof ConstantFloat) {
+ // nothing to do
+ } else if (c instanceof ConstantDouble) {
+ // nothing to do
+ } else if (c instanceof org.apache.bcel.classfile.ConstantMethodType) {
+ // TODO should this be handled somehow?
+ } else if (c instanceof org.apache.bcel.classfile.ConstantMethodHandle) {
+ // TODO should this be handled somehow?
+ } else {
+ assert false : "Unexpected constant type: " + c.getClass().getName();
+ }
+ }
+ }
+
+
+ /**
+ * Initialize with given constant pool.
+ */
+ public ConstantPoolGen(final ConstantPool cp) {
+ this(cp.getConstantPool());
+ }
+
+
+ /**
+ * Create empty constant pool.
+ */
+ public ConstantPoolGen() {
+ size = DEFAULT_BUFFER_SIZE;
+ constants = new Constant[size];
+ }
+
+
+ /** Resize internal array of constants.
+ */
+ protected void adjustSize() {
+ if (index + 3 >= size) {
+ final Constant[] cs = constants;
+ size *= 2;
+ constants = new Constant[size];
+ System.arraycopy(cs, 0, constants, 0, index);
+ }
+ }
+
+ private final Map string_table = new HashMap<>();
+
+
+ /**
+ * Look for ConstantString in ConstantPool containing String `str'.
+ *
+ * @param str String to search for
+ * @return index on success, -1 otherwise
+ */
+ public int lookupString( final String str ) {
+ final Index index = string_table.get(str);
+ return (index != null) ? index.index : -1;
+ }
+
+
+ /**
+ * Add a new String constant to the ConstantPool, if it is not already in there.
+ *
+ * @param str String to add
+ * @return index of entry
+ */
+ public int addString( final String str ) {
+ int ret;
+ if ((ret = lookupString(str)) != -1) {
+ return ret; // Already in CP
+ }
+ final int utf8 = addUtf8(str);
+ adjustSize();
+ final ConstantString s = new ConstantString(utf8);
+ ret = index;
+ constants[index++] = s;
+ if (!string_table.containsKey(str)) {
+ string_table.put(str, new Index(ret));
+ }
+ return ret;
+ }
+
+ private final Map class_table = new HashMap<>();
+
+
+ /**
+ * Look for ConstantClass in ConstantPool named `str'.
+ *
+ * @param str String to search for
+ * @return index on success, -1 otherwise
+ */
+ public int lookupClass( final String str ) {
+ final Index index = class_table.get(str.replace('.', '/'));
+ return (index != null) ? index.index : -1;
+ }
+
+
+ private int addClass_( final String clazz ) {
+ int ret;
+ if ((ret = lookupClass(clazz)) != -1) {
+ return ret; // Already in CP
+ }
+ adjustSize();
+ final ConstantClass c = new ConstantClass(addUtf8(clazz));
+ ret = index;
+ constants[index++] = c;
+ if (!class_table.containsKey(clazz)) {
+ class_table.put(clazz, new Index(ret));
+ }
+ return ret;
+ }
+
+
+ /**
+ * Add a new Class reference to the ConstantPool, if it is not already in there.
+ *
+ * @param str Class to add
+ * @return index of entry
+ */
+ public int addClass( final String str ) {
+ return addClass_(str.replace('.', '/'));
+ }
+
+
+ /**
+ * Add a new Class reference to the ConstantPool for a given type.
+ *
+ * @param type Class to add
+ * @return index of entry
+ */
+ public int addClass( final ObjectType type ) {
+ return addClass(type.getClassName());
+ }
+
+
+ /**
+ * Add a reference to an array class (e.g. String[][]) as needed by MULTIANEWARRAY
+ * instruction, e.g. to the ConstantPool.
+ *
+ * @param type type of array class
+ * @return index of entry
+ */
+ public int addArrayClass( final ArrayType type ) {
+ return addClass_(type.getSignature());
+ }
+
+
+ /**
+ * Look for ConstantInteger in ConstantPool.
+ *
+ * @param n integer number to look for
+ * @return index on success, -1 otherwise
+ */
+ public int lookupInteger( final int n ) {
+ for (int i = 1; i < index; i++) {
+ if (constants[i] instanceof ConstantInteger) {
+ final ConstantInteger c = (ConstantInteger) constants[i];
+ if (c.getBytes() == n) {
+ return i;
+ }
+ }
+ }
+ return -1;
+ }
+
+
+ /**
+ * Add a new Integer constant to the ConstantPool, if it is not already in there.
+ *
+ * @param n integer number to add
+ * @return index of entry
+ */
+ public int addInteger( final int n ) {
+ int ret;
+ if ((ret = lookupInteger(n)) != -1) {
+ return ret; // Already in CP
+ }
+ adjustSize();
+ ret = index;
+ constants[index++] = new ConstantInteger(n);
+ return ret;
+ }
+
+
+ /**
+ * Look for ConstantFloat in ConstantPool.
+ *
+ * @param n Float number to look for
+ * @return index on success, -1 otherwise
+ */
+ public int lookupFloat( final float n ) {
+ final int bits = Float.floatToIntBits(n);
+ for (int i = 1; i < index; i++) {
+ if (constants[i] instanceof ConstantFloat) {
+ final ConstantFloat c = (ConstantFloat) constants[i];
+ if (Float.floatToIntBits(c.getBytes()) == bits) {
+ return i;
+ }
+ }
+ }
+ return -1;
+ }
+
+
+ /**
+ * Add a new Float constant to the ConstantPool, if it is not already in there.
+ *
+ * @param n Float number to add
+ * @return index of entry
+ */
+ public int addFloat( final float n ) {
+ int ret;
+ if ((ret = lookupFloat(n)) != -1) {
+ return ret; // Already in CP
+ }
+ adjustSize();
+ ret = index;
+ constants[index++] = new ConstantFloat(n);
+ return ret;
+ }
+
+ private final Map utf8_table = new HashMap<>();
+
+
+ /**
+ * Look for ConstantUtf8 in ConstantPool.
+ *
+ * @param n Utf8 string to look for
+ * @return index on success, -1 otherwise
+ */
+ public int lookupUtf8( final String n ) {
+ final Index index = utf8_table.get(n);
+ return (index != null) ? index.index : -1;
+ }
+
+
+ /**
+ * Add a new Utf8 constant to the ConstantPool, if it is not already in there.
+ *
+ * @param n Utf8 string to add
+ * @return index of entry
+ */
+ public int addUtf8( final String n ) {
+ int ret;
+ if ((ret = lookupUtf8(n)) != -1) {
+ return ret; // Already in CP
+ }
+ adjustSize();
+ ret = index;
+ constants[index++] = new ConstantUtf8(n);
+ if (!utf8_table.containsKey(n)) {
+ utf8_table.put(n, new Index(ret));
+ }
+ return ret;
+ }
+
+
+ /**
+ * Look for ConstantLong in ConstantPool.
+ *
+ * @param n Long number to look for
+ * @return index on success, -1 otherwise
+ */
+ public int lookupLong( final long n ) {
+ for (int i = 1; i < index; i++) {
+ if (constants[i] instanceof ConstantLong) {
+ final ConstantLong c = (ConstantLong) constants[i];
+ if (c.getBytes() == n) {
+ return i;
+ }
+ }
+ }
+ return -1;
+ }
+
+
+ /**
+ * Add a new long constant to the ConstantPool, if it is not already in there.
+ *
+ * @param n Long number to add
+ * @return index of entry
+ */
+ public int addLong( final long n ) {
+ int ret;
+ if ((ret = lookupLong(n)) != -1) {
+ return ret; // Already in CP
+ }
+ adjustSize();
+ ret = index;
+ constants[index] = new ConstantLong(n);
+ index += 2; // Wastes one entry according to spec
+ return ret;
+ }
+
+
+ /**
+ * Look for ConstantDouble in ConstantPool.
+ *
+ * @param n Double number to look for
+ * @return index on success, -1 otherwise
+ */
+ public int lookupDouble( final double n ) {
+ final long bits = Double.doubleToLongBits(n);
+ for (int i = 1; i < index; i++) {
+ if (constants[i] instanceof ConstantDouble) {
+ final ConstantDouble c = (ConstantDouble) constants[i];
+ if (Double.doubleToLongBits(c.getBytes()) == bits) {
+ return i;
+ }
+ }
+ }
+ return -1;
+ }
+
+
+ /**
+ * Add a new double constant to the ConstantPool, if it is not already in there.
+ *
+ * @param n Double number to add
+ * @return index of entry
+ */
+ public int addDouble( final double n ) {
+ int ret;
+ if ((ret = lookupDouble(n)) != -1) {
+ return ret; // Already in CP
+ }
+ adjustSize();
+ ret = index;
+ constants[index] = new ConstantDouble(n);
+ index += 2; // Wastes one entry according to spec
+ return ret;
+ }
+
+ private final Map n_a_t_table = new HashMap<>();
+
+
+ /**
+ * Look for ConstantNameAndType in ConstantPool.
+ *
+ * @param name of variable/method
+ * @param signature of variable/method
+ * @return index on success, -1 otherwise
+ */
+ public int lookupNameAndType( final String name, final String signature ) {
+ final Index _index = n_a_t_table.get(name + NAT_DELIM + signature);
+ return (_index != null) ? _index.index : -1;
+ }
+
+
+ /**
+ * Add a new NameAndType constant to the ConstantPool if it is not already
+ * in there.
+ *
+ * @param name Name string to add
+ * @param signature signature string to add
+ * @return index of entry
+ */
+ public int addNameAndType( final String name, final String signature ) {
+ int ret;
+ int name_index;
+ int signature_index;
+ if ((ret = lookupNameAndType(name, signature)) != -1) {
+ return ret; // Already in CP
+ }
+ adjustSize();
+ name_index = addUtf8(name);
+ signature_index = addUtf8(signature);
+ ret = index;
+ constants[index++] = new ConstantNameAndType(name_index, signature_index);
+ final String key = name + NAT_DELIM + signature;
+ if (!n_a_t_table.containsKey(key)) {
+ n_a_t_table.put(key, new Index(ret));
+ }
+ return ret;
+ }
+
+ private final Map cp_table = new HashMap<>();
+
+
+ /**
+ * Look for ConstantMethodref in ConstantPool.
+ *
+ * @param class_name Where to find method
+ * @param method_name Guess what
+ * @param signature return and argument types
+ * @return index on success, -1 otherwise
+ */
+ public int lookupMethodref( final String class_name, final String method_name, final String signature ) {
+ final Index index = cp_table.get(class_name + METHODREF_DELIM + method_name
+ + METHODREF_DELIM + signature);
+ return (index != null) ? index.index : -1;
+ }
+
+
+ public int lookupMethodref( final MethodGen method ) {
+ return lookupMethodref(method.getClassName(), method.getName(), method.getSignature());
+ }
+
+
+ /**
+ * Add a new Methodref constant to the ConstantPool, if it is not already
+ * in there.
+ *
+ * @param class_name class name string to add
+ * @param method_name method name string to add
+ * @param signature method signature string to add
+ * @return index of entry
+ */
+ public int addMethodref( final String class_name, final String method_name, final String signature ) {
+ int ret;
+ int class_index;
+ int name_and_type_index;
+ if ((ret = lookupMethodref(class_name, method_name, signature)) != -1) {
+ return ret; // Already in CP
+ }
+ adjustSize();
+ name_and_type_index = addNameAndType(method_name, signature);
+ class_index = addClass(class_name);
+ ret = index;
+ constants[index++] = new ConstantMethodref(class_index, name_and_type_index);
+ final String key = class_name + METHODREF_DELIM + method_name + METHODREF_DELIM + signature;
+ if (!cp_table.containsKey(key)) {
+ cp_table.put(key, new Index(ret));
+ }
+ return ret;
+ }
+
+
+ public int addMethodref( final MethodGen method ) {
+ return addMethodref(method.getClassName(), method.getName(), method.getSignature());
+ }
+
+
+ /**
+ * Look for ConstantInterfaceMethodref in ConstantPool.
+ *
+ * @param class_name Where to find method
+ * @param method_name Guess what
+ * @param signature return and argument types
+ * @return index on success, -1 otherwise
+ */
+ public int lookupInterfaceMethodref( final String class_name, final String method_name, final String signature ) {
+ final Index index = cp_table.get(class_name + IMETHODREF_DELIM + method_name
+ + IMETHODREF_DELIM + signature);
+ return (index != null) ? index.index : -1;
+ }
+
+
+ public int lookupInterfaceMethodref( final MethodGen method ) {
+ return lookupInterfaceMethodref(method.getClassName(), method.getName(), method
+ .getSignature());
+ }
+
+
+ /**
+ * Add a new InterfaceMethodref constant to the ConstantPool, if it is not already
+ * in there.
+ *
+ * @param class_name class name string to add
+ * @param method_name method name string to add
+ * @param signature signature string to add
+ * @return index of entry
+ */
+ public int addInterfaceMethodref( final String class_name, final String method_name, final String signature ) {
+ int ret;
+ int class_index;
+ int name_and_type_index;
+ if ((ret = lookupInterfaceMethodref(class_name, method_name, signature)) != -1) {
+ return ret; // Already in CP
+ }
+ adjustSize();
+ class_index = addClass(class_name);
+ name_and_type_index = addNameAndType(method_name, signature);
+ ret = index;
+ constants[index++] = new ConstantInterfaceMethodref(class_index, name_and_type_index);
+ final String key = class_name + IMETHODREF_DELIM + method_name + IMETHODREF_DELIM + signature;
+ if (!cp_table.containsKey(key)) {
+ cp_table.put(key, new Index(ret));
+ }
+ return ret;
+ }
+
+
+ public int addInterfaceMethodref( final MethodGen method ) {
+ return addInterfaceMethodref(method.getClassName(), method.getName(), method.getSignature());
+ }
+
+
+ /**
+ * Look for ConstantFieldref in ConstantPool.
+ *
+ * @param class_name Where to find method
+ * @param field_name Guess what
+ * @param signature return and argument types
+ * @return index on success, -1 otherwise
+ */
+ public int lookupFieldref( final String class_name, final String field_name, final String signature ) {
+ final Index index = cp_table.get(class_name + FIELDREF_DELIM + field_name
+ + FIELDREF_DELIM + signature);
+ return (index != null) ? index.index : -1;
+ }
+
+
+ /**
+ * Add a new Fieldref constant to the ConstantPool, if it is not already
+ * in there.
+ *
+ * @param class_name class name string to add
+ * @param field_name field name string to add
+ * @param signature signature string to add
+ * @return index of entry
+ */
+ public int addFieldref( final String class_name, final String field_name, final String signature ) {
+ int ret;
+ int class_index;
+ int name_and_type_index;
+ if ((ret = lookupFieldref(class_name, field_name, signature)) != -1) {
+ return ret; // Already in CP
+ }
+ adjustSize();
+ class_index = addClass(class_name);
+ name_and_type_index = addNameAndType(field_name, signature);
+ ret = index;
+ constants[index++] = new ConstantFieldref(class_index, name_and_type_index);
+ final String key = class_name + FIELDREF_DELIM + field_name + FIELDREF_DELIM + signature;
+ if (!cp_table.containsKey(key)) {
+ cp_table.put(key, new Index(ret));
+ }
+ return ret;
+ }
+
+
+ /**
+ * @param i index in constant pool
+ * @return constant pool entry at index i
+ */
+ public Constant getConstant( final int i ) {
+ return constants[i];
+ }
+
+
+ /**
+ * Use with care!
+ *
+ * @param i index in constant pool
+ * @param c new constant pool entry at index i
+ */
+ public void setConstant( final int i, final Constant c ) {
+ constants[i] = c;
+ }
+
+
+ /**
+ * @return intermediate constant pool
+ */
+ public ConstantPool getConstantPool() {
+ return new ConstantPool(constants);
+ }
+
+
+ /**
+ * @return current size of constant pool
+ */
+ public int getSize() {
+ return index;
+ }
+
+
+ /**
+ * @return constant pool with proper length
+ */
+ public ConstantPool getFinalConstantPool() {
+ final Constant[] cs = new Constant[index];
+ System.arraycopy(constants, 0, cs, 0, index);
+ return new ConstantPool(cs);
+ }
+
+
+ /**
+ * @return String representation.
+ */
+ @Override
+ public String toString() {
+ final StringBuilder buf = new StringBuilder();
+ for (int i = 1; i < index; i++) {
+ buf.append(i).append(")").append(constants[i]).append("\n");
+ }
+ return buf.toString();
+ }
+
+
+ /** Import constant from another ConstantPool and return new index.
+ */
+ public int addConstant( final Constant c, final ConstantPoolGen cp ) {
+ final Constant[] constants = cp.getConstantPool().getConstantPool();
+ switch (c.getTag()) {
+ case Const.CONSTANT_String: {
+ final ConstantString s = (ConstantString) c;
+ final ConstantUtf8 u8 = (ConstantUtf8) constants[s.getStringIndex()];
+ return addString(u8.getBytes());
+ }
+ case Const.CONSTANT_Class: {
+ final ConstantClass s = (ConstantClass) c;
+ final ConstantUtf8 u8 = (ConstantUtf8) constants[s.getNameIndex()];
+ return addClass(u8.getBytes());
+ }
+ case Const.CONSTANT_NameAndType: {
+ final ConstantNameAndType n = (ConstantNameAndType) c;
+ final ConstantUtf8 u8 = (ConstantUtf8) constants[n.getNameIndex()];
+ final ConstantUtf8 u8_2 = (ConstantUtf8) constants[n.getSignatureIndex()];
+ return addNameAndType(u8.getBytes(), u8_2.getBytes());
+ }
+ case Const.CONSTANT_Utf8:
+ return addUtf8(((ConstantUtf8) c).getBytes());
+ case Const.CONSTANT_Double:
+ return addDouble(((ConstantDouble) c).getBytes());
+ case Const.CONSTANT_Float:
+ return addFloat(((ConstantFloat) c).getBytes());
+ case Const.CONSTANT_Long:
+ return addLong(((ConstantLong) c).getBytes());
+ case Const.CONSTANT_Integer:
+ return addInteger(((ConstantInteger) c).getBytes());
+ case Const.CONSTANT_InterfaceMethodref:
+ case Const.CONSTANT_Methodref:
+ case Const.CONSTANT_Fieldref: {
+ final ConstantCP m = (ConstantCP) c;
+ final ConstantClass clazz = (ConstantClass) constants[m.getClassIndex()];
+ final ConstantNameAndType n = (ConstantNameAndType) constants[m.getNameAndTypeIndex()];
+ ConstantUtf8 u8 = (ConstantUtf8) constants[clazz.getNameIndex()];
+ final String class_name = u8.getBytes().replace('/', '.');
+ u8 = (ConstantUtf8) constants[n.getNameIndex()];
+ final String name = u8.getBytes();
+ u8 = (ConstantUtf8) constants[n.getSignatureIndex()];
+ final String signature = u8.getBytes();
+ switch (c.getTag()) {
+ case Const.CONSTANT_InterfaceMethodref:
+ return addInterfaceMethodref(class_name, name, signature);
+ case Const.CONSTANT_Methodref:
+ return addMethodref(class_name, name, signature);
+ case Const.CONSTANT_Fieldref:
+ return addFieldref(class_name, name, signature);
+ default: // Never reached
+ throw new RuntimeException("Unknown constant type " + c);
+ }
+ }
+ default: // Never reached
+ throw new RuntimeException("Unknown constant type " + c);
+ }
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ConstantPushInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ConstantPushInstruction.java
new file mode 100644
index 00000000..bcfd8402
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ConstantPushInstruction.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * Denotes a push instruction that produces a literal on the stack
+ * such as SIPUSH, BIPUSH, ICONST, etc.
+ *
+ * @version $Id: ConstantPushInstruction.java 1747278 2016-06-07 17:28:43Z britter $
+
+ * @see ICONST
+ * @see SIPUSH
+ */
+public interface ConstantPushInstruction extends PushInstruction, TypedInstruction {
+
+ Number getValue();
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ConversionInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ConversionInstruction.java
new file mode 100644
index 00000000..febbc906
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ConversionInstruction.java
@@ -0,0 +1,78 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import org.apache.bcel.Const;
+
+/**
+ * Super class for the x2y family of instructions.
+ *
+ * @version $Id: ConversionInstruction.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public abstract class ConversionInstruction extends Instruction implements TypedInstruction,
+ StackProducer, StackConsumer {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ ConversionInstruction() {
+ }
+
+
+ /**
+ * @param opcode opcode of instruction
+ */
+ protected ConversionInstruction(final short opcode) {
+ super(opcode, (short) 1);
+ }
+
+
+ /** @return type associated with the instruction
+ */
+ @Override
+ public Type getType( final ConstantPoolGen cp ) {
+ final short _opcode = super.getOpcode();
+ switch (_opcode) {
+ case Const.D2I:
+ case Const.F2I:
+ case Const.L2I:
+ return Type.INT;
+ case Const.D2F:
+ case Const.I2F:
+ case Const.L2F:
+ return Type.FLOAT;
+ case Const.D2L:
+ case Const.F2L:
+ case Const.I2L:
+ return Type.LONG;
+ case Const.F2D:
+ case Const.I2D:
+ case Const.L2D:
+ return Type.DOUBLE;
+ case Const.I2B:
+ return Type.BYTE;
+ case Const.I2C:
+ return Type.CHAR;
+ case Const.I2S:
+ return Type.SHORT;
+ default: // Never reached
+ throw new ClassGenException("Unknown type " + _opcode);
+ }
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/D2F.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/D2F.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/D2F.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/D2F.java
index 363ebd10..6726669a
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/D2F.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/D2F.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * D2F - Convert double to float
- *
Stack: ..., value.word1, value.word2 -> ..., result
- *
- * @version $Id: D2F.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class D2F extends ConversionInstruction {
-
- /** Convert double to float
- */
- public D2F() {
- super(org.apache.bcel5_2_0.Constants.D2F);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitConversionInstruction(this);
- v.visitD2F(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * D2F - Convert double to float
+ *
Stack: ..., value.word1, value.word2 -> ..., result
+ *
+ * @version $Id: D2F.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class D2F extends ConversionInstruction {
+
+ /** Convert double to float
+ */
+ public D2F() {
+ super(org.apache.bcel.Const.D2F);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitConversionInstruction(this);
+ v.visitD2F(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/D2I.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/D2I.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/D2I.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/D2I.java
index 12f4ef2a..1f96d874
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/D2I.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/D2I.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * D2I - Convert double to int
- *
Stack: ..., value.word1, value.word2 -> ..., result
- *
- * @version $Id: D2I.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class D2I extends ConversionInstruction {
-
- /** Convert double to int
- */
- public D2I() {
- super(org.apache.bcel5_2_0.Constants.D2I);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitConversionInstruction(this);
- v.visitD2I(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * D2I - Convert double to int
+ *
Stack: ..., value.word1, value.word2 -> ..., result
+ *
+ * @version $Id: D2I.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class D2I extends ConversionInstruction {
+
+ /** Convert double to int
+ */
+ public D2I() {
+ super(org.apache.bcel.Const.D2I);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitConversionInstruction(this);
+ v.visitD2I(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/D2L.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/D2L.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/D2L.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/D2L.java
index cee5473d..213949b0
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/D2L.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/D2L.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * D2L - Convert double to long
- *
- *
- * @version $Id: D2L.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class D2L extends ConversionInstruction {
-
- /** Convert double to long
- */
- public D2L() {
- super(org.apache.bcel5_2_0.Constants.D2L);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitConversionInstruction(this);
- v.visitD2L(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * D2L - Convert double to long
+ *
+ *
+ * @version $Id: D2L.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class D2L extends ConversionInstruction {
+
+ /** Convert double to long
+ */
+ public D2L() {
+ super(org.apache.bcel.Const.D2L);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitConversionInstruction(this);
+ v.visitD2L(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DADD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DADD.java
old mode 100755
new mode 100644
similarity index 61%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DADD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DADD.java
index 518d16ef..fcbab2d7
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DADD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DADD.java
@@ -1,51 +1,52 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * DADD - Add doubles
- *
- * ..., result.word1, result1.word2
- *
- * @version $Id: DADD.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class DADD extends ArithmeticInstruction {
-
- /** Add doubles
- */
- public DADD() {
- super(org.apache.bcel5_2_0.Constants.DADD);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitDADD(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * DADD - Add doubles
+ *
+ * ..., result.word1, result1.word2
+ *
+ * @version $Id: DADD.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class DADD extends ArithmeticInstruction {
+
+ /** Add doubles
+ */
+ public DADD() {
+ super(org.apache.bcel.Const.DADD);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitDADD(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DALOAD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DALOAD.java
old mode 100755
new mode 100644
similarity index 61%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DALOAD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DALOAD.java
index b789be53..1668d9cd
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DALOAD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DALOAD.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * DALOAD - Load double from array
- *
Stack: ..., arrayref, index -> ..., result.word1, result.word2
- *
- * @version $Id: DALOAD.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class DALOAD extends ArrayInstruction implements StackProducer {
-
- /** Load double from array
- */
- public DALOAD() {
- super(org.apache.bcel5_2_0.Constants.DALOAD);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackProducer(this);
- v.visitExceptionThrower(this);
- v.visitTypedInstruction(this);
- v.visitArrayInstruction(this);
- v.visitDALOAD(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * DALOAD - Load double from array
+ *
Stack: ..., arrayref, index -> ..., result.word1, result.word2
+ *
+ * @version $Id: DALOAD.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class DALOAD extends ArrayInstruction implements StackProducer {
+
+ /** Load double from array
+ */
+ public DALOAD() {
+ super(org.apache.bcel.Const.DALOAD);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackProducer(this);
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitArrayInstruction(this);
+ v.visitDALOAD(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DASTORE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DASTORE.java
old mode 100755
new mode 100644
similarity index 61%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DASTORE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DASTORE.java
index 7464b6ed..d87db262
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DASTORE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DASTORE.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * DASTORE - Store into double array
- *
- *
- * @version $Id: DASTORE.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class DASTORE extends ArrayInstruction implements StackConsumer {
-
- /** Store double into array
- */
- public DASTORE() {
- super(org.apache.bcel5_2_0.Constants.DASTORE);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackConsumer(this);
- v.visitExceptionThrower(this);
- v.visitTypedInstruction(this);
- v.visitArrayInstruction(this);
- v.visitDASTORE(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * DASTORE - Store into double array
+ *
+ *
+ * @version $Id: DASTORE.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class DASTORE extends ArrayInstruction implements StackConsumer {
+
+ /** Store double into array
+ */
+ public DASTORE() {
+ super(org.apache.bcel.Const.DASTORE);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackConsumer(this);
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitArrayInstruction(this);
+ v.visitDASTORE(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DCMPG.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DCMPG.java
old mode 100755
new mode 100644
similarity index 55%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DCMPG.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DCMPG.java
index 90132254..53baea63
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DCMPG.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DCMPG.java
@@ -1,55 +1,54 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * DCMPG - Compare doubles: value1 > value2
- *
- * ..., result
- *
- * @version $Id: DCMPG.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class DCMPG extends Instruction implements TypedInstruction, StackProducer, StackConsumer {
-
- public DCMPG() {
- super(org.apache.bcel5_2_0.Constants.DCMPG, (short) 1);
- }
-
-
- /** @return Type.DOUBLE
- */
- public Type getType( ConstantPoolGen cp ) {
- return Type.DOUBLE;
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitDCMPG(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * DCMPG - Compare doubles: value1 > value2
+ *
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 -> ..., result
+ *
+ * @version $Id: DCMPG.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class DCMPG extends Instruction implements TypedInstruction, StackProducer, StackConsumer {
+
+ public DCMPG() {
+ super(org.apache.bcel.Const.DCMPG, (short) 1);
+ }
+
+ /** @return Type.DOUBLE
+ */
+ @Override
+ public Type getType( final ConstantPoolGen cp ) {
+ return Type.DOUBLE;
+ }
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitDCMPG(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DCMPL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DCMPL.java
old mode 100755
new mode 100644
similarity index 55%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DCMPL.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DCMPL.java
index c3cbb6a7..26c32804
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DCMPL.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DCMPL.java
@@ -1,55 +1,54 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * DCMPL - Compare doubles: value1 < value2
- *
- * ..., result
- *
- * @version $Id: DCMPL.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class DCMPL extends Instruction implements TypedInstruction, StackProducer, StackConsumer {
-
- public DCMPL() {
- super(org.apache.bcel5_2_0.Constants.DCMPL, (short) 1);
- }
-
-
- /** @return Type.DOUBLE
- */
- public Type getType( ConstantPoolGen cp ) {
- return Type.DOUBLE;
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitDCMPL(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * DCMPL - Compare doubles: value1 < value2
+ *
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 -> ..., result
+ *
+ * @version $Id: DCMPL.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class DCMPL extends Instruction implements TypedInstruction, StackProducer, StackConsumer {
+
+ public DCMPL() {
+ super(org.apache.bcel.Const.DCMPL, (short) 1);
+ }
+
+ /** @return Type.DOUBLE
+ */
+ @Override
+ public Type getType( final ConstantPoolGen cp ) {
+ return Type.DOUBLE;
+ }
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitDCMPL(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DCONST.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DCONST.java
old mode 100755
new mode 100644
similarity index 56%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DCONST.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DCONST.java
index 71fba77f..6a8dda30
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DCONST.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DCONST.java
@@ -1,80 +1,83 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * DCONST - Push 0.0 or 1.0, other values cause an exception
- *
- *
Stack: ... -> ...,
- *
- * @version $Id: DCONST.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class DCONST extends Instruction implements ConstantPushInstruction, TypedInstruction {
-
- private double value;
-
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- DCONST() {
- }
-
-
- public DCONST(double f) {
- super(org.apache.bcel5_2_0.Constants.DCONST_0, (short) 1);
- if (f == 0.0) {
- opcode = org.apache.bcel5_2_0.Constants.DCONST_0;
- } else if (f == 1.0) {
- opcode = org.apache.bcel5_2_0.Constants.DCONST_1;
- } else {
- throw new ClassGenException("DCONST can be used only for 0.0 and 1.0: " + f);
- }
- value = f;
- }
-
-
- public Number getValue() {
- return new Double(value);
- }
-
-
- /** @return Type.DOUBLE
- */
- public Type getType( ConstantPoolGen cp ) {
- return Type.DOUBLE;
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitPushInstruction(this);
- v.visitStackProducer(this);
- v.visitTypedInstruction(this);
- v.visitConstantPushInstruction(this);
- v.visitDCONST(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * DCONST - Push 0.0 or 1.0, other values cause an exception
+ *
+ *
Stack: ... -> ...,
+ *
+ * @version $Id: DCONST.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class DCONST extends Instruction implements ConstantPushInstruction {
+
+ private double value;
+
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ DCONST() {
+ }
+
+
+ public DCONST(final double f) {
+ super(org.apache.bcel.Const.DCONST_0, (short) 1);
+ if (f == 0.0) {
+ super.setOpcode(org.apache.bcel.Const.DCONST_0);
+ } else if (f == 1.0) {
+ super.setOpcode(org.apache.bcel.Const.DCONST_1);
+ } else {
+ throw new ClassGenException("DCONST can be used only for 0.0 and 1.0: " + f);
+ }
+ value = f;
+ }
+
+
+ @Override
+ public Number getValue() {
+ return new Double(value);
+ }
+
+
+ /** @return Type.DOUBLE
+ */
+ @Override
+ public Type getType( final ConstantPoolGen cp ) {
+ return Type.DOUBLE;
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitPushInstruction(this);
+ v.visitStackProducer(this);
+ v.visitTypedInstruction(this);
+ v.visitConstantPushInstruction(this);
+ v.visitDCONST(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DDIV.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DDIV.java
old mode 100755
new mode 100644
similarity index 61%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DDIV.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DDIV.java
index 402408d5..68c3cca2
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DDIV.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DDIV.java
@@ -1,51 +1,52 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * DDIV - Divide doubles
- *
- * ..., result.word1, result.word2
- *
- * @version $Id: DDIV.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class DDIV extends ArithmeticInstruction {
-
- /** Divide doubles
- */
- public DDIV() {
- super(org.apache.bcel5_2_0.Constants.DDIV);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitDDIV(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * DDIV - Divide doubles
+ *
+ * ..., result.word1, result.word2
+ *
+ * @version $Id: DDIV.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class DDIV extends ArithmeticInstruction {
+
+ /** Divide doubles
+ */
+ public DDIV() {
+ super(org.apache.bcel.Const.DDIV);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitDDIV(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DLOAD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DLOAD.java
old mode 100755
new mode 100644
similarity index 51%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DLOAD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DLOAD.java
index 47609f74..dc9aad54
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DLOAD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DLOAD.java
@@ -1,57 +1,58 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * DLOAD - Load double from local variable
- *
Stack ... -> ..., result.word1, result.word2
- *
- * @version $Id: DLOAD.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class DLOAD extends LoadInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- DLOAD() {
- super(org.apache.bcel5_2_0.Constants.DLOAD, org.apache.bcel5_2_0.Constants.DLOAD_0);
- }
-
-
- /** Load double from local variable
- * @param n index of local variable
- */
- public DLOAD(int n) {
- super(org.apache.bcel5_2_0.Constants.DLOAD, org.apache.bcel5_2_0.Constants.DLOAD_0, n);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- super.accept(v);
- v.visitDLOAD(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * DLOAD - Load double from local variable
+ *
Stack ... -> ..., result.word1, result.word2
+ *
+ * @version $Id: DLOAD.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class DLOAD extends LoadInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ DLOAD() {
+ super(org.apache.bcel.Const.DLOAD, org.apache.bcel.Const.DLOAD_0);
+ }
+
+
+ /** Load double from local variable
+ * @param n index of local variable
+ */
+ public DLOAD(final int n) {
+ super(org.apache.bcel.Const.DLOAD, org.apache.bcel.Const.DLOAD_0, n);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ super.accept(v);
+ v.visitDLOAD(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DMUL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DMUL.java
old mode 100755
new mode 100644
similarity index 61%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DMUL.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DMUL.java
index 6aba328f..8b4edd65
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DMUL.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DMUL.java
@@ -1,51 +1,52 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * DMUL - Multiply doubles
- *
- * ..., result.word1, result.word2
- *
- * @version $Id: DMUL.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class DMUL extends ArithmeticInstruction {
-
- /** Multiply doubles
- */
- public DMUL() {
- super(org.apache.bcel5_2_0.Constants.DMUL);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitDMUL(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * DMUL - Multiply doubles
+ *
+ * ..., result.word1, result.word2
+ *
+ * @version $Id: DMUL.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class DMUL extends ArithmeticInstruction {
+
+ /** Multiply doubles
+ */
+ public DMUL() {
+ super(org.apache.bcel.Const.DMUL);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitDMUL(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DNEG.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DNEG.java
old mode 100755
new mode 100644
similarity index 59%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DNEG.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DNEG.java
index 639ac38d..566b6aba
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DNEG.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DNEG.java
@@ -1,48 +1,49 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * DNEG - Negate double
- *
- *
- * @version $Id: DNEG.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class DNEG extends ArithmeticInstruction {
-
- public DNEG() {
- super(org.apache.bcel5_2_0.Constants.DNEG);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitDNEG(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * DNEG - Negate double
+ *
+ *
+ * @version $Id: DNEG.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class DNEG extends ArithmeticInstruction {
+
+ public DNEG() {
+ super(org.apache.bcel.Const.DNEG);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitDNEG(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DREM.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DREM.java
old mode 100755
new mode 100644
similarity index 61%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DREM.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DREM.java
index 909f06eb..37fcfdd1
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DREM.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DREM.java
@@ -1,51 +1,52 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * DREM - Remainder of doubles
- *
- * ..., result.word1, result.word2
- *
- * @version $Id: DREM.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class DREM extends ArithmeticInstruction {
-
- /** Remainder of doubles
- */
- public DREM() {
- super(org.apache.bcel5_2_0.Constants.DREM);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitDREM(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * DREM - Remainder of doubles
+ *
+ * ..., result.word1, result.word2
+ *
+ * @version $Id: DREM.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class DREM extends ArithmeticInstruction {
+
+ /** Remainder of doubles
+ */
+ public DREM() {
+ super(org.apache.bcel.Const.DREM);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitDREM(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DRETURN.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DRETURN.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DRETURN.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DRETURN.java
index 3f76bff1..ff87dd27
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DRETURN.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DRETURN.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * DRETURN - Return double from method
- *
Stack: ..., value.word1, value.word2 -> <empty>
- *
- * @version $Id: DRETURN.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class DRETURN extends ReturnInstruction {
-
- /** Return double from method
- */
- public DRETURN() {
- super(org.apache.bcel5_2_0.Constants.DRETURN);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitExceptionThrower(this);
- v.visitTypedInstruction(this);
- v.visitStackConsumer(this);
- v.visitReturnInstruction(this);
- v.visitDRETURN(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * DRETURN - Return double from method
+ *
Stack: ..., value.word1, value.word2 -> <empty>
+ *
+ * @version $Id: DRETURN.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class DRETURN extends ReturnInstruction {
+
+ /** Return double from method
+ */
+ public DRETURN() {
+ super(org.apache.bcel.Const.DRETURN);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitStackConsumer(this);
+ v.visitReturnInstruction(this);
+ v.visitDRETURN(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DSTORE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DSTORE.java
old mode 100755
new mode 100644
similarity index 51%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DSTORE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DSTORE.java
index fe25a259..77d0f879
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DSTORE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DSTORE.java
@@ -1,57 +1,58 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * DSTORE - Store double into local variable
- *
Stack: ..., value.word1, value.word2 -> ...
- *
- * @version $Id: DSTORE.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class DSTORE extends StoreInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- DSTORE() {
- super(org.apache.bcel5_2_0.Constants.DSTORE, org.apache.bcel5_2_0.Constants.DSTORE_0);
- }
-
-
- /** Store double into local variable
- * @param n index of local variable
- */
- public DSTORE(int n) {
- super(org.apache.bcel5_2_0.Constants.DSTORE, org.apache.bcel5_2_0.Constants.DSTORE_0, n);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- super.accept(v);
- v.visitDSTORE(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * DSTORE - Store double into local variable
+ *
Stack: ..., value.word1, value.word2 -> ...
+ *
+ * @version $Id: DSTORE.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class DSTORE extends StoreInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ DSTORE() {
+ super(org.apache.bcel.Const.DSTORE, org.apache.bcel.Const.DSTORE_0);
+ }
+
+
+ /** Store double into local variable
+ * @param n index of local variable
+ */
+ public DSTORE(final int n) {
+ super(org.apache.bcel.Const.DSTORE, org.apache.bcel.Const.DSTORE_0, n);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ super.accept(v);
+ v.visitDSTORE(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DSUB.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DSUB.java
old mode 100755
new mode 100644
similarity index 61%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DSUB.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DSUB.java
index 4d56b1ba..04445c9d
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DSUB.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DSUB.java
@@ -1,51 +1,52 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * DSUB - Substract doubles
- *
- * ..., result.word1, result.word2
- *
- * @version $Id: DSUB.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class DSUB extends ArithmeticInstruction {
-
- /** Substract doubles
- */
- public DSUB() {
- super(org.apache.bcel5_2_0.Constants.DSUB);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitDSUB(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * DSUB - Substract doubles
+ *
+ * ..., result.word1, result.word2
+ *
+ * @version $Id: DSUB.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class DSUB extends ArithmeticInstruction {
+
+ /** Substract doubles
+ */
+ public DSUB() {
+ super(org.apache.bcel.Const.DSUB);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitDSUB(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DUP.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP.java
old mode 100755
new mode 100644
similarity index 59%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DUP.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP.java
index d9ef76b1..8061764e
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DUP.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP.java
@@ -1,47 +1,48 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * DUP - Duplicate top operand stack word
- *
Stack: ..., word -> ..., word, word
- *
- * @version $Id: DUP.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class DUP extends StackInstruction implements PushInstruction {
-
- public DUP() {
- super(org.apache.bcel5_2_0.Constants.DUP);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackProducer(this);
- v.visitPushInstruction(this);
- v.visitStackInstruction(this);
- v.visitDUP(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * DUP - Duplicate top operand stack word
+ *
Stack: ..., word -> ..., word, word
+ *
+ * @version $Id: DUP.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class DUP extends StackInstruction implements PushInstruction {
+
+ public DUP() {
+ super(org.apache.bcel.Const.DUP);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackProducer(this);
+ v.visitPushInstruction(this);
+ v.visitStackInstruction(this);
+ v.visitDUP(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DUP2.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP2.java
old mode 100755
new mode 100644
similarity index 59%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DUP2.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP2.java
index 6f1076be..4fb58329
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DUP2.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP2.java
@@ -1,47 +1,48 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * DUP2 - Duplicate two top operand stack words
- *
- *
- * @version $Id: DUP2.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class DUP2 extends StackInstruction implements PushInstruction {
-
- public DUP2() {
- super(org.apache.bcel5_2_0.Constants.DUP2);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackProducer(this);
- v.visitPushInstruction(this);
- v.visitStackInstruction(this);
- v.visitDUP2(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * DUP2 - Duplicate two top operand stack words
+ *
+ *
+ * @version $Id: DUP2.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class DUP2 extends StackInstruction implements PushInstruction {
+
+ public DUP2() {
+ super(org.apache.bcel.Const.DUP2);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackProducer(this);
+ v.visitPushInstruction(this);
+ v.visitStackInstruction(this);
+ v.visitDUP2(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DUP2_X1.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP2_X1.java
old mode 100755
new mode 100644
similarity index 58%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DUP2_X1.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP2_X1.java
index c8a2e1d3..75488539
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DUP2_X1.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP2_X1.java
@@ -1,45 +1,46 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * DUP2_X1 - Duplicate two top operand stack words and put three down
- *
- *
- * @version $Id: DUP2_X1.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class DUP2_X1 extends StackInstruction {
-
- public DUP2_X1() {
- super(org.apache.bcel5_2_0.Constants.DUP2_X1);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackInstruction(this);
- v.visitDUP2_X1(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * DUP2_X1 - Duplicate two top operand stack words and put three down
+ *
+ *
+ * @version $Id: DUP2_X1.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class DUP2_X1 extends StackInstruction {
+
+ public DUP2_X1() {
+ super(org.apache.bcel.Const.DUP2_X1);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackInstruction(this);
+ v.visitDUP2_X1(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DUP2_X2.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP2_X2.java
old mode 100755
new mode 100644
similarity index 58%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DUP2_X2.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP2_X2.java
index 4dfc8026..0ebb2075
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DUP2_X2.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP2_X2.java
@@ -1,45 +1,46 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * DUP2_X2 - Duplicate two top operand stack words and put four down
- *
- *
- * @version $Id: DUP2_X2.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class DUP2_X2 extends StackInstruction {
-
- public DUP2_X2() {
- super(org.apache.bcel5_2_0.Constants.DUP2_X2);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackInstruction(this);
- v.visitDUP2_X2(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * DUP2_X2 - Duplicate two top operand stack words and put four down
+ *
+ *
+ * @version $Id: DUP2_X2.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class DUP2_X2 extends StackInstruction {
+
+ public DUP2_X2() {
+ super(org.apache.bcel.Const.DUP2_X2);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackInstruction(this);
+ v.visitDUP2_X2(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DUP_X1.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP_X1.java
old mode 100755
new mode 100644
similarity index 57%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DUP_X1.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP_X1.java
index 9afc3e87..b3bab424
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DUP_X1.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP_X1.java
@@ -1,45 +1,46 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * DUP_X1 - Duplicate top operand stack word and put two down
- *
- *
- * @version $Id: DUP_X1.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class DUP_X1 extends StackInstruction {
-
- public DUP_X1() {
- super(org.apache.bcel5_2_0.Constants.DUP_X1);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackInstruction(this);
- v.visitDUP_X1(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * DUP_X1 - Duplicate top operand stack word and put two down
+ *
+ *
+ * @version $Id: DUP_X1.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class DUP_X1 extends StackInstruction {
+
+ public DUP_X1() {
+ super(org.apache.bcel.Const.DUP_X1);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackInstruction(this);
+ v.visitDUP_X1(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DUP_X2.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP_X2.java
old mode 100755
new mode 100644
similarity index 58%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DUP_X2.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP_X2.java
index 9b66559f..e33d95d5
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/DUP_X2.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP_X2.java
@@ -1,45 +1,46 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * DUP_X2 - Duplicate top operand stack word and put three down
- *
- *
- * @version $Id: DUP_X2.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class DUP_X2 extends StackInstruction {
-
- public DUP_X2() {
- super(org.apache.bcel5_2_0.Constants.DUP_X2);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackInstruction(this);
- v.visitDUP_X2(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * DUP_X2 - Duplicate top operand stack word and put three down
+ *
+ *
+ * @version $Id: DUP_X2.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class DUP_X2 extends StackInstruction {
+
+ public DUP_X2() {
+ super(org.apache.bcel.Const.DUP_X2);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackInstruction(this);
+ v.visitDUP_X2(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ElementValueGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ElementValueGen.java
new file mode 100644
index 00000000..e357b3eb
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ElementValueGen.java
@@ -0,0 +1,194 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.classfile.AnnotationElementValue;
+import org.apache.bcel.classfile.AnnotationEntry;
+import org.apache.bcel.classfile.ArrayElementValue;
+import org.apache.bcel.classfile.ClassElementValue;
+import org.apache.bcel.classfile.ElementValue;
+import org.apache.bcel.classfile.EnumElementValue;
+import org.apache.bcel.classfile.SimpleElementValue;
+
+/**
+ * @since 6.0
+ */
+public abstract class ElementValueGen
+{
+ /**
+ * @deprecated (since 6.0) will be made private and final; do not access directly, use getter
+ */
+ @Deprecated
+ protected int type;
+
+ /**
+ * @deprecated (since 6.0) will be made private and final; do not access directly, use getter
+ */
+ @Deprecated
+ protected ConstantPoolGen cpGen;
+
+ protected ElementValueGen(final int type, final ConstantPoolGen cpGen)
+ {
+ this.type = type;
+ this.cpGen = cpGen;
+ }
+
+ /**
+ * Subtypes return an immutable variant of the ElementValueGen
+ */
+ public abstract ElementValue getElementValue();
+
+ public int getElementValueType()
+ {
+ return type;
+ }
+
+ public abstract String stringifyValue();
+
+ public abstract void dump(DataOutputStream dos) throws IOException;
+
+ public static final int STRING = 's';
+
+ public static final int ENUM_CONSTANT = 'e';
+
+ public static final int CLASS = 'c';
+
+ public static final int ANNOTATION = '@';
+
+ public static final int ARRAY = '[';
+
+ public static final int PRIMITIVE_INT = 'I';
+
+ public static final int PRIMITIVE_BYTE = 'B';
+
+ public static final int PRIMITIVE_CHAR = 'C';
+
+ public static final int PRIMITIVE_DOUBLE = 'D';
+
+ public static final int PRIMITIVE_FLOAT = 'F';
+
+ public static final int PRIMITIVE_LONG = 'J';
+
+ public static final int PRIMITIVE_SHORT = 'S';
+
+ public static final int PRIMITIVE_BOOLEAN = 'Z';
+
+ public static ElementValueGen readElementValue(final DataInput dis,
+ final ConstantPoolGen cpGen) throws IOException
+ {
+ final int type = dis.readUnsignedByte();
+ switch (type)
+ {
+ case 'B': // byte
+ return new SimpleElementValueGen(PRIMITIVE_BYTE, dis
+ .readUnsignedShort(), cpGen);
+ case 'C': // char
+ return new SimpleElementValueGen(PRIMITIVE_CHAR, dis
+ .readUnsignedShort(), cpGen);
+ case 'D': // double
+ return new SimpleElementValueGen(PRIMITIVE_DOUBLE, dis
+ .readUnsignedShort(), cpGen);
+ case 'F': // float
+ return new SimpleElementValueGen(PRIMITIVE_FLOAT, dis
+ .readUnsignedShort(), cpGen);
+ case 'I': // int
+ return new SimpleElementValueGen(PRIMITIVE_INT, dis
+ .readUnsignedShort(), cpGen);
+ case 'J': // long
+ return new SimpleElementValueGen(PRIMITIVE_LONG, dis
+ .readUnsignedShort(), cpGen);
+ case 'S': // short
+ return new SimpleElementValueGen(PRIMITIVE_SHORT, dis
+ .readUnsignedShort(), cpGen);
+ case 'Z': // boolean
+ return new SimpleElementValueGen(PRIMITIVE_BOOLEAN, dis
+ .readUnsignedShort(), cpGen);
+ case 's': // String
+ return new SimpleElementValueGen(STRING, dis.readUnsignedShort(),
+ cpGen);
+ case 'e': // Enum constant
+ return new EnumElementValueGen(dis.readUnsignedShort(), dis
+ .readUnsignedShort(), cpGen);
+ case 'c': // Class
+ return new ClassElementValueGen(dis.readUnsignedShort(), cpGen);
+ case '@': // Annotation
+ // TODO: isRuntimeVisible ??????????
+ // FIXME
+ return new AnnotationElementValueGen(ANNOTATION,
+ new AnnotationEntryGen(AnnotationEntry.read(dis, cpGen
+ .getConstantPool(), true), cpGen, false), cpGen);
+ case '[': // Array
+ final int numArrayVals = dis.readUnsignedShort();
+ final ElementValue[] evalues = new ElementValue[numArrayVals];
+ for (int j = 0; j < numArrayVals; j++)
+ {
+ evalues[j] = ElementValue.readElementValue(dis, cpGen
+ .getConstantPool());
+ }
+ return new ArrayElementValueGen(ARRAY, evalues, cpGen);
+ default:
+ throw new RuntimeException("Unexpected element value kind in annotation: " + type);
+ }
+ }
+
+ protected ConstantPoolGen getConstantPool()
+ {
+ return cpGen;
+ }
+
+ /**
+ * Creates an (modifiable) ElementValueGen copy of an (immutable)
+ * ElementValue - constant pool is assumed correct.
+ */
+ public static ElementValueGen copy(final ElementValue value,
+ final ConstantPoolGen cpool, final boolean copyPoolEntries)
+ {
+ switch (value.getElementValueType())
+ {
+ case 'B': // byte
+ case 'C': // char
+ case 'D': // double
+ case 'F': // float
+ case 'I': // int
+ case 'J': // long
+ case 'S': // short
+ case 'Z': // boolean
+ case 's': // String
+ return new SimpleElementValueGen((SimpleElementValue) value, cpool,
+ copyPoolEntries);
+ case 'e': // Enum constant
+ return new EnumElementValueGen((EnumElementValue) value, cpool,
+ copyPoolEntries);
+ case '@': // Annotation
+ return new AnnotationElementValueGen(
+ (AnnotationElementValue) value, cpool, copyPoolEntries);
+ case '[': // Array
+ return new ArrayElementValueGen((ArrayElementValue) value, cpool,
+ copyPoolEntries);
+ case 'c': // Class
+ return new ClassElementValueGen((ClassElementValue) value, cpool,
+ copyPoolEntries);
+ default:
+ throw new RuntimeException("Not implemented yet! (" + value.getElementValueType() + ")");
+ }
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ElementValuePairGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ElementValuePairGen.java
new file mode 100644
index 00000000..7fcb0c8e
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ElementValuePairGen.java
@@ -0,0 +1,115 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.classfile.ConstantUtf8;
+import org.apache.bcel.classfile.ElementValue;
+import org.apache.bcel.classfile.ElementValuePair;
+
+/**
+ * @since 6.0
+ */
+public class ElementValuePairGen
+{
+ private int nameIdx;
+
+ private final ElementValueGen value;
+
+ private final ConstantPoolGen cpool;
+
+ public ElementValuePairGen(final ElementValuePair nvp, final ConstantPoolGen cpool,
+ final boolean copyPoolEntries)
+ {
+ this.cpool = cpool;
+ // J5ASSERT:
+ // Could assert nvp.getNameString() points to the same thing as
+ // cpool.getConstant(nvp.getNameIndex())
+ // if
+ // (!nvp.getNameString().equals(((ConstantUtf8)cpool.getConstant(nvp.getNameIndex())).getBytes()))
+ // {
+ // throw new RuntimeException("envp buggered");
+ // }
+ if (copyPoolEntries)
+ {
+ nameIdx = cpool.addUtf8(nvp.getNameString());
+ }
+ else
+ {
+ nameIdx = nvp.getNameIndex();
+ }
+ value = ElementValueGen.copy(nvp.getValue(), cpool, copyPoolEntries);
+ }
+
+ /**
+ * Retrieve an immutable version of this ElementNameValuePairGen
+ */
+ public ElementValuePair getElementNameValuePair()
+ {
+ final ElementValue immutableValue = value.getElementValue();
+ return new ElementValuePair(nameIdx, immutableValue, cpool
+ .getConstantPool());
+ }
+
+ protected ElementValuePairGen(final int idx, final ElementValueGen value,
+ final ConstantPoolGen cpool)
+ {
+ this.nameIdx = idx;
+ this.value = value;
+ this.cpool = cpool;
+ }
+
+ public ElementValuePairGen(final String name, final ElementValueGen value,
+ final ConstantPoolGen cpool)
+ {
+ this.nameIdx = cpool.addUtf8(name);
+ this.value = value;
+ this.cpool = cpool;
+ }
+
+ protected void dump(final DataOutputStream dos) throws IOException
+ {
+ dos.writeShort(nameIdx); // u2 name of the element
+ value.dump(dos);
+ }
+
+ public int getNameIndex()
+ {
+ return nameIdx;
+ }
+
+ public final String getNameString()
+ {
+ // ConstantString cu8 = (ConstantString)cpool.getConstant(nameIdx);
+ return ((ConstantUtf8) cpool.getConstant(nameIdx)).getBytes();
+ }
+
+ public final ElementValueGen getValue()
+ {
+ return value;
+ }
+
+ @Override
+ public String toString()
+ {
+ return "ElementValuePair:[" + getNameString() + "="
+ + value.stringifyValue() + "]";
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/EmptyVisitor.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/EmptyVisitor.java
new file mode 100644
index 00000000..49ebebdb
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/EmptyVisitor.java
@@ -0,0 +1,932 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * Supplies empty method bodies to be overridden by subclasses.
+ *
+ * @version $Id: EmptyVisitor.java 1747278 2016-06-07 17:28:43Z britter $
+ */
+public abstract class EmptyVisitor implements Visitor {
+
+ @Override
+ public void visitStackInstruction( final StackInstruction obj ) {
+ }
+
+
+ @Override
+ public void visitLocalVariableInstruction( final LocalVariableInstruction obj ) {
+ }
+
+
+ @Override
+ public void visitBranchInstruction( final BranchInstruction obj ) {
+ }
+
+
+ @Override
+ public void visitLoadClass( final LoadClass obj ) {
+ }
+
+
+ @Override
+ public void visitFieldInstruction( final FieldInstruction obj ) {
+ }
+
+
+ @Override
+ public void visitIfInstruction( final IfInstruction obj ) {
+ }
+
+
+ @Override
+ public void visitConversionInstruction( final ConversionInstruction obj ) {
+ }
+
+
+ @Override
+ public void visitPopInstruction( final PopInstruction obj ) {
+ }
+
+
+ @Override
+ public void visitJsrInstruction( final JsrInstruction obj ) {
+ }
+
+
+ @Override
+ public void visitGotoInstruction( final GotoInstruction obj ) {
+ }
+
+
+ @Override
+ public void visitStoreInstruction( final StoreInstruction obj ) {
+ }
+
+
+ @Override
+ public void visitTypedInstruction( final TypedInstruction obj ) {
+ }
+
+
+ @Override
+ public void visitSelect( final Select obj ) {
+ }
+
+
+ @Override
+ public void visitUnconditionalBranch( final UnconditionalBranch obj ) {
+ }
+
+
+ @Override
+ public void visitPushInstruction( final PushInstruction obj ) {
+ }
+
+
+ @Override
+ public void visitArithmeticInstruction( final ArithmeticInstruction obj ) {
+ }
+
+
+ @Override
+ public void visitCPInstruction( final CPInstruction obj ) {
+ }
+
+
+ @Override
+ public void visitInvokeInstruction( final InvokeInstruction obj ) {
+ }
+
+
+ @Override
+ public void visitArrayInstruction( final ArrayInstruction obj ) {
+ }
+
+
+ @Override
+ public void visitAllocationInstruction( final AllocationInstruction obj ) {
+ }
+
+
+ @Override
+ public void visitReturnInstruction( final ReturnInstruction obj ) {
+ }
+
+
+ @Override
+ public void visitFieldOrMethod( final FieldOrMethod obj ) {
+ }
+
+
+ @Override
+ public void visitConstantPushInstruction( final ConstantPushInstruction obj ) {
+ }
+
+
+ @Override
+ public void visitExceptionThrower( final ExceptionThrower obj ) {
+ }
+
+
+ @Override
+ public void visitLoadInstruction( final LoadInstruction obj ) {
+ }
+
+
+ @Override
+ public void visitVariableLengthInstruction( final VariableLengthInstruction obj ) {
+ }
+
+
+ @Override
+ public void visitStackProducer( final StackProducer obj ) {
+ }
+
+
+ @Override
+ public void visitStackConsumer( final StackConsumer obj ) {
+ }
+
+
+ @Override
+ public void visitACONST_NULL( final ACONST_NULL obj ) {
+ }
+
+
+ @Override
+ public void visitGETSTATIC( final GETSTATIC obj ) {
+ }
+
+
+ @Override
+ public void visitIF_ICMPLT( final IF_ICMPLT obj ) {
+ }
+
+
+ @Override
+ public void visitMONITOREXIT( final MONITOREXIT obj ) {
+ }
+
+
+ @Override
+ public void visitIFLT( final IFLT obj ) {
+ }
+
+
+ @Override
+ public void visitLSTORE( final LSTORE obj ) {
+ }
+
+
+ @Override
+ public void visitPOP2( final POP2 obj ) {
+ }
+
+
+ @Override
+ public void visitBASTORE( final BASTORE obj ) {
+ }
+
+
+ @Override
+ public void visitISTORE( final ISTORE obj ) {
+ }
+
+
+ @Override
+ public void visitCHECKCAST( final CHECKCAST obj ) {
+ }
+
+
+ @Override
+ public void visitFCMPG( final FCMPG obj ) {
+ }
+
+
+ @Override
+ public void visitI2F( final I2F obj ) {
+ }
+
+
+ @Override
+ public void visitATHROW( final ATHROW obj ) {
+ }
+
+
+ @Override
+ public void visitDCMPL( final DCMPL obj ) {
+ }
+
+
+ @Override
+ public void visitARRAYLENGTH( final ARRAYLENGTH obj ) {
+ }
+
+
+ @Override
+ public void visitDUP( final DUP obj ) {
+ }
+
+
+ @Override
+ public void visitINVOKESTATIC( final INVOKESTATIC obj ) {
+ }
+
+
+ @Override
+ public void visitLCONST( final LCONST obj ) {
+ }
+
+
+ @Override
+ public void visitDREM( final DREM obj ) {
+ }
+
+
+ @Override
+ public void visitIFGE( final IFGE obj ) {
+ }
+
+
+ @Override
+ public void visitCALOAD( final CALOAD obj ) {
+ }
+
+
+ @Override
+ public void visitLASTORE( final LASTORE obj ) {
+ }
+
+
+ @Override
+ public void visitI2D( final I2D obj ) {
+ }
+
+
+ @Override
+ public void visitDADD( final DADD obj ) {
+ }
+
+
+ @Override
+ public void visitINVOKESPECIAL( final INVOKESPECIAL obj ) {
+ }
+
+
+ @Override
+ public void visitIAND( final IAND obj ) {
+ }
+
+
+ @Override
+ public void visitPUTFIELD( final PUTFIELD obj ) {
+ }
+
+
+ @Override
+ public void visitILOAD( final ILOAD obj ) {
+ }
+
+
+ @Override
+ public void visitDLOAD( final DLOAD obj ) {
+ }
+
+
+ @Override
+ public void visitDCONST( final DCONST obj ) {
+ }
+
+
+ @Override
+ public void visitNEW( final NEW obj ) {
+ }
+
+
+ @Override
+ public void visitIFNULL( final IFNULL obj ) {
+ }
+
+
+ @Override
+ public void visitLSUB( final LSUB obj ) {
+ }
+
+
+ @Override
+ public void visitL2I( final L2I obj ) {
+ }
+
+
+ @Override
+ public void visitISHR( final ISHR obj ) {
+ }
+
+
+ @Override
+ public void visitTABLESWITCH( final TABLESWITCH obj ) {
+ }
+
+
+ @Override
+ public void visitIINC( final IINC obj ) {
+ }
+
+
+ @Override
+ public void visitDRETURN( final DRETURN obj ) {
+ }
+
+
+ @Override
+ public void visitFSTORE( final FSTORE obj ) {
+ }
+
+
+ @Override
+ public void visitDASTORE( final DASTORE obj ) {
+ }
+
+
+ @Override
+ public void visitIALOAD( final IALOAD obj ) {
+ }
+
+
+ @Override
+ public void visitDDIV( final DDIV obj ) {
+ }
+
+
+ @Override
+ public void visitIF_ICMPGE( final IF_ICMPGE obj ) {
+ }
+
+
+ @Override
+ public void visitLAND( final LAND obj ) {
+ }
+
+
+ @Override
+ public void visitIDIV( final IDIV obj ) {
+ }
+
+
+ @Override
+ public void visitLOR( final LOR obj ) {
+ }
+
+
+ @Override
+ public void visitCASTORE( final CASTORE obj ) {
+ }
+
+
+ @Override
+ public void visitFREM( final FREM obj ) {
+ }
+
+
+ @Override
+ public void visitLDC( final LDC obj ) {
+ }
+
+
+ @Override
+ public void visitBIPUSH( final BIPUSH obj ) {
+ }
+
+
+ @Override
+ public void visitDSTORE( final DSTORE obj ) {
+ }
+
+
+ @Override
+ public void visitF2L( final F2L obj ) {
+ }
+
+
+ @Override
+ public void visitFMUL( final FMUL obj ) {
+ }
+
+
+ @Override
+ public void visitLLOAD( final LLOAD obj ) {
+ }
+
+
+ @Override
+ public void visitJSR( final JSR obj ) {
+ }
+
+
+ @Override
+ public void visitFSUB( final FSUB obj ) {
+ }
+
+
+ @Override
+ public void visitSASTORE( final SASTORE obj ) {
+ }
+
+
+ @Override
+ public void visitALOAD( final ALOAD obj ) {
+ }
+
+
+ @Override
+ public void visitDUP2_X2( final DUP2_X2 obj ) {
+ }
+
+
+ @Override
+ public void visitRETURN( final RETURN obj ) {
+ }
+
+
+ @Override
+ public void visitDALOAD( final DALOAD obj ) {
+ }
+
+
+ @Override
+ public void visitSIPUSH( final SIPUSH obj ) {
+ }
+
+
+ @Override
+ public void visitDSUB( final DSUB obj ) {
+ }
+
+
+ @Override
+ public void visitL2F( final L2F obj ) {
+ }
+
+
+ @Override
+ public void visitIF_ICMPGT( final IF_ICMPGT obj ) {
+ }
+
+
+ @Override
+ public void visitF2D( final F2D obj ) {
+ }
+
+
+ @Override
+ public void visitI2L( final I2L obj ) {
+ }
+
+
+ @Override
+ public void visitIF_ACMPNE( final IF_ACMPNE obj ) {
+ }
+
+
+ @Override
+ public void visitPOP( final POP obj ) {
+ }
+
+
+ @Override
+ public void visitI2S( final I2S obj ) {
+ }
+
+
+ @Override
+ public void visitIFEQ( final IFEQ obj ) {
+ }
+
+
+ @Override
+ public void visitSWAP( final SWAP obj ) {
+ }
+
+
+ @Override
+ public void visitIOR( final IOR obj ) {
+ }
+
+
+ @Override
+ public void visitIREM( final IREM obj ) {
+ }
+
+
+ @Override
+ public void visitIASTORE( final IASTORE obj ) {
+ }
+
+
+ @Override
+ public void visitNEWARRAY( final NEWARRAY obj ) {
+ }
+
+
+ @Override
+ public void visitINVOKEINTERFACE( final INVOKEINTERFACE obj ) {
+ }
+
+
+ @Override
+ public void visitINEG( final INEG obj ) {
+ }
+
+
+ @Override
+ public void visitLCMP( final LCMP obj ) {
+ }
+
+
+ @Override
+ public void visitJSR_W( final JSR_W obj ) {
+ }
+
+
+ @Override
+ public void visitMULTIANEWARRAY( final MULTIANEWARRAY obj ) {
+ }
+
+
+ @Override
+ public void visitDUP_X2( final DUP_X2 obj ) {
+ }
+
+
+ @Override
+ public void visitSALOAD( final SALOAD obj ) {
+ }
+
+
+ @Override
+ public void visitIFNONNULL( final IFNONNULL obj ) {
+ }
+
+
+ @Override
+ public void visitDMUL( final DMUL obj ) {
+ }
+
+
+ @Override
+ public void visitIFNE( final IFNE obj ) {
+ }
+
+
+ @Override
+ public void visitIF_ICMPLE( final IF_ICMPLE obj ) {
+ }
+
+
+ @Override
+ public void visitLDC2_W( final LDC2_W obj ) {
+ }
+
+
+ @Override
+ public void visitGETFIELD( final GETFIELD obj ) {
+ }
+
+
+ @Override
+ public void visitLADD( final LADD obj ) {
+ }
+
+
+ @Override
+ public void visitNOP( final NOP obj ) {
+ }
+
+
+ @Override
+ public void visitFALOAD( final FALOAD obj ) {
+ }
+
+
+ @Override
+ public void visitINSTANCEOF( final INSTANCEOF obj ) {
+ }
+
+
+ @Override
+ public void visitIFLE( final IFLE obj ) {
+ }
+
+
+ @Override
+ public void visitLXOR( final LXOR obj ) {
+ }
+
+
+ @Override
+ public void visitLRETURN( final LRETURN obj ) {
+ }
+
+
+ @Override
+ public void visitFCONST( final FCONST obj ) {
+ }
+
+
+ @Override
+ public void visitIUSHR( final IUSHR obj ) {
+ }
+
+
+ @Override
+ public void visitBALOAD( final BALOAD obj ) {
+ }
+
+
+ @Override
+ public void visitDUP2( final DUP2 obj ) {
+ }
+
+
+ @Override
+ public void visitIF_ACMPEQ( final IF_ACMPEQ obj ) {
+ }
+
+
+ @Override
+ public void visitIMPDEP1( final IMPDEP1 obj ) {
+ }
+
+
+ @Override
+ public void visitMONITORENTER( final MONITORENTER obj ) {
+ }
+
+
+ @Override
+ public void visitLSHL( final LSHL obj ) {
+ }
+
+
+ @Override
+ public void visitDCMPG( final DCMPG obj ) {
+ }
+
+
+ @Override
+ public void visitD2L( final D2L obj ) {
+ }
+
+
+ @Override
+ public void visitIMPDEP2( final IMPDEP2 obj ) {
+ }
+
+
+ @Override
+ public void visitL2D( final L2D obj ) {
+ }
+
+
+ @Override
+ public void visitRET( final RET obj ) {
+ }
+
+
+ @Override
+ public void visitIFGT( final IFGT obj ) {
+ }
+
+
+ @Override
+ public void visitIXOR( final IXOR obj ) {
+ }
+
+
+ @Override
+ public void visitINVOKEVIRTUAL( final INVOKEVIRTUAL obj ) {
+ }
+
+
+ @Override
+ public void visitFASTORE( final FASTORE obj ) {
+ }
+
+
+ @Override
+ public void visitIRETURN( final IRETURN obj ) {
+ }
+
+
+ @Override
+ public void visitIF_ICMPNE( final IF_ICMPNE obj ) {
+ }
+
+
+ @Override
+ public void visitFLOAD( final FLOAD obj ) {
+ }
+
+
+ @Override
+ public void visitLDIV( final LDIV obj ) {
+ }
+
+
+ @Override
+ public void visitPUTSTATIC( final PUTSTATIC obj ) {
+ }
+
+
+ @Override
+ public void visitAALOAD( final AALOAD obj ) {
+ }
+
+
+ @Override
+ public void visitD2I( final D2I obj ) {
+ }
+
+
+ @Override
+ public void visitIF_ICMPEQ( final IF_ICMPEQ obj ) {
+ }
+
+
+ @Override
+ public void visitAASTORE( final AASTORE obj ) {
+ }
+
+
+ @Override
+ public void visitARETURN( final ARETURN obj ) {
+ }
+
+
+ @Override
+ public void visitDUP2_X1( final DUP2_X1 obj ) {
+ }
+
+
+ @Override
+ public void visitFNEG( final FNEG obj ) {
+ }
+
+
+ @Override
+ public void visitGOTO_W( final GOTO_W obj ) {
+ }
+
+
+ @Override
+ public void visitD2F( final D2F obj ) {
+ }
+
+
+ @Override
+ public void visitGOTO( final GOTO obj ) {
+ }
+
+
+ @Override
+ public void visitISUB( final ISUB obj ) {
+ }
+
+
+ @Override
+ public void visitF2I( final F2I obj ) {
+ }
+
+
+ @Override
+ public void visitDNEG( final DNEG obj ) {
+ }
+
+
+ @Override
+ public void visitICONST( final ICONST obj ) {
+ }
+
+
+ @Override
+ public void visitFDIV( final FDIV obj ) {
+ }
+
+
+ @Override
+ public void visitI2B( final I2B obj ) {
+ }
+
+
+ @Override
+ public void visitLNEG( final LNEG obj ) {
+ }
+
+
+ @Override
+ public void visitLREM( final LREM obj ) {
+ }
+
+
+ @Override
+ public void visitIMUL( final IMUL obj ) {
+ }
+
+
+ @Override
+ public void visitIADD( final IADD obj ) {
+ }
+
+
+ @Override
+ public void visitLSHR( final LSHR obj ) {
+ }
+
+
+ @Override
+ public void visitLOOKUPSWITCH( final LOOKUPSWITCH obj ) {
+ }
+
+
+ @Override
+ public void visitDUP_X1( final DUP_X1 obj ) {
+ }
+
+
+ @Override
+ public void visitFCMPL( final FCMPL obj ) {
+ }
+
+
+ @Override
+ public void visitI2C( final I2C obj ) {
+ }
+
+
+ @Override
+ public void visitLMUL( final LMUL obj ) {
+ }
+
+
+ @Override
+ public void visitLUSHR( final LUSHR obj ) {
+ }
+
+
+ @Override
+ public void visitISHL( final ISHL obj ) {
+ }
+
+
+ @Override
+ public void visitLALOAD( final LALOAD obj ) {
+ }
+
+
+ @Override
+ public void visitASTORE( final ASTORE obj ) {
+ }
+
+
+ @Override
+ public void visitANEWARRAY( final ANEWARRAY obj ) {
+ }
+
+
+ @Override
+ public void visitFRETURN( final FRETURN obj ) {
+ }
+
+
+ @Override
+ public void visitFADD( final FADD obj ) {
+ }
+
+
+ @Override
+ public void visitBREAKPOINT( final BREAKPOINT obj ) {
+ }
+
+ /**
+ * @since 6.0
+ */
+ @Override
+ public void visitINVOKEDYNAMIC(final INVOKEDYNAMIC obj) {
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/EnumElementValueGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/EnumElementValueGen.java
new file mode 100644
index 00000000..2d390bfa
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/EnumElementValueGen.java
@@ -0,0 +1,142 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.classfile.ConstantUtf8;
+import org.apache.bcel.classfile.ElementValue;
+import org.apache.bcel.classfile.EnumElementValue;
+
+/**
+ * @since 6.0
+ */
+public class EnumElementValueGen extends ElementValueGen
+{
+ // For enum types, these two indices point to the type and value
+ private int typeIdx;
+
+ private int valueIdx;
+
+ /**
+ * This ctor assumes the constant pool already contains the right type and
+ * value - as indicated by typeIdx and valueIdx. This ctor is used for
+ * deserialization
+ */
+ protected EnumElementValueGen(final int typeIdx, final int valueIdx,
+ final ConstantPoolGen cpool)
+ {
+ super(ElementValueGen.ENUM_CONSTANT, cpool);
+ if (super.getElementValueType() != ENUM_CONSTANT) {
+ throw new RuntimeException(
+ "Only element values of type enum can be built with this ctor - type specified: " + super.getElementValueType());
+ }
+ this.typeIdx = typeIdx;
+ this.valueIdx = valueIdx;
+ }
+
+ /**
+ * Return immutable variant of this EnumElementValue
+ */
+ @Override
+ public ElementValue getElementValue()
+ {
+ System.err.println("Duplicating value: " + getEnumTypeString() + ":"
+ + getEnumValueString());
+ return new EnumElementValue(super.getElementValueType(), typeIdx, valueIdx,
+ getConstantPool().getConstantPool());
+ }
+
+ public EnumElementValueGen(final ObjectType t, final String value, final ConstantPoolGen cpool)
+ {
+ super(ElementValueGen.ENUM_CONSTANT, cpool);
+ typeIdx = cpool.addUtf8(t.getSignature());// was addClass(t);
+ valueIdx = cpool.addUtf8(value);// was addString(value);
+ }
+
+ public EnumElementValueGen(final EnumElementValue value, final ConstantPoolGen cpool,
+ final boolean copyPoolEntries)
+ {
+ super(ENUM_CONSTANT, cpool);
+ if (copyPoolEntries)
+ {
+ typeIdx = cpool.addUtf8(value.getEnumTypeString());// was
+ // addClass(value.getEnumTypeString());
+ valueIdx = cpool.addUtf8(value.getEnumValueString()); // was
+ // addString(value.getEnumValueString());
+ }
+ else
+ {
+ typeIdx = value.getTypeIndex();
+ valueIdx = value.getValueIndex();
+ }
+ }
+
+ @Override
+ public void dump(final DataOutputStream dos) throws IOException
+ {
+ dos.writeByte(super.getElementValueType()); // u1 type of value (ENUM_CONSTANT == 'e')
+ dos.writeShort(typeIdx); // u2
+ dos.writeShort(valueIdx); // u2
+ }
+
+ @Override
+ public String stringifyValue()
+ {
+ final ConstantUtf8 cu8 = (ConstantUtf8) getConstantPool().getConstant(valueIdx);
+ return cu8.getBytes();
+ // ConstantString cu8 =
+ // (ConstantString)getConstantPool().getConstant(valueIdx);
+ // return
+ // ((ConstantUtf8)getConstantPool().getConstant(cu8.getStringIndex())).getBytes();
+ }
+
+ // BCELBUG: Should we need to call utility.signatureToString() on the output
+ // here?
+ public String getEnumTypeString()
+ {
+ // Constant cc = getConstantPool().getConstant(typeIdx);
+ // ConstantClass cu8 =
+ // (ConstantClass)getConstantPool().getConstant(typeIdx);
+ // return
+ // ((ConstantUtf8)getConstantPool().getConstant(cu8.getNameIndex())).getBytes();
+ return ((ConstantUtf8) getConstantPool().getConstant(typeIdx))
+ .getBytes();
+ // return Utility.signatureToString(cu8.getBytes());
+ }
+
+ public String getEnumValueString()
+ {
+ return ((ConstantUtf8) getConstantPool().getConstant(valueIdx)).getBytes();
+ // ConstantString cu8 =
+ // (ConstantString)getConstantPool().getConstant(valueIdx);
+ // return
+ // ((ConstantUtf8)getConstantPool().getConstant(cu8.getStringIndex())).getBytes();
+ }
+
+ public int getValueIndex()
+ {
+ return valueIdx;
+ }
+
+ public int getTypeIndex()
+ {
+ return typeIdx;
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ExceptionThrower.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ExceptionThrower.java
old mode 100755
new mode 100644
similarity index 64%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ExceptionThrower.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ExceptionThrower.java
index 6a3f92c3..8dfcb5d3
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ExceptionThrower.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ExceptionThrower.java
@@ -1,42 +1,42 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * Denote an instruction that may throw a run-time or a linking
- * exception (or both) during execution. This is not quite the truth
- * as such; because all instructions may throw an
- * java.lang.VirtualMachineError. These exceptions are omitted.
- *
- * The Lava Language Specification specifies exactly which
- * RUN-TIME and which LINKING exceptions each
- * instruction may throw which is reflected by the implementers. Due
- * to the structure of the JVM specification, it may be possible that
- * an Instruction implementing this interface returns a Class[] of
- * size 0.
- *
- * Please note that we speak of an "exception" here when we mean any
- * "Throwable" object; so this term is equally used for "Exception"
- * and "Error" objects.
- *
- * @version $Id: ExceptionThrower.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author Enver Haase
- */
-public interface ExceptionThrower {
-
- public java.lang.Class[] getExceptions();
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * Denote an instruction that may throw a run-time or a linking
+ * exception (or both) during execution. This is not quite the truth
+ * as such; because all instructions may throw an
+ * java.lang.VirtualMachineError. These exceptions are omitted.
+ *
+ * The Lava Language Specification specifies exactly which
+ * RUN-TIME and which LINKING exceptions each
+ * instruction may throw which is reflected by the implementers. Due
+ * to the structure of the JVM specification, it may be possible that
+ * an Instruction implementing this interface returns a Class[] of
+ * size 0.
+ *
+ * Please note that we speak of an "exception" here when we mean any
+ * "Throwable" object; so this term is equally used for "Exception"
+ * and "Error" objects.
+ *
+ * @version $Id: ExceptionThrower.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public interface ExceptionThrower {
+
+ java.lang.Class>[] getExceptions();
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/F2D.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/F2D.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/F2D.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/F2D.java
index 8bd545ee..430e30d9
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/F2D.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/F2D.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * F2D - Convert float to double
- *
Stack: ..., value -> ..., result.word1, result.word2
- *
- * @version $Id: F2D.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class F2D extends ConversionInstruction {
-
- /** Convert float to double
- */
- public F2D() {
- super(org.apache.bcel5_2_0.Constants.F2D);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitConversionInstruction(this);
- v.visitF2D(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * F2D - Convert float to double
+ *
Stack: ..., value -> ..., result.word1, result.word2
+ *
+ * @version $Id: F2D.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class F2D extends ConversionInstruction {
+
+ /** Convert float to double
+ */
+ public F2D() {
+ super(org.apache.bcel.Const.F2D);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitConversionInstruction(this);
+ v.visitF2D(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/F2I.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/F2I.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/F2I.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/F2I.java
index 863b2750..8b0dbe50
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/F2I.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/F2I.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * F2I - Convert float to int
- *
Stack: ..., value -> ..., result
- *
- * @version $Id: F2I.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class F2I extends ConversionInstruction {
-
- /** Convert float to int
- */
- public F2I() {
- super(org.apache.bcel5_2_0.Constants.F2I);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitConversionInstruction(this);
- v.visitF2I(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * F2I - Convert float to int
+ *
Stack: ..., value -> ..., result
+ *
+ * @version $Id: F2I.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class F2I extends ConversionInstruction {
+
+ /** Convert float to int
+ */
+ public F2I() {
+ super(org.apache.bcel.Const.F2I);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitConversionInstruction(this);
+ v.visitF2I(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/F2L.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/F2L.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/F2L.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/F2L.java
index baa1ed67..fb749419
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/F2L.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/F2L.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * F2L - Convert float to long
- *
Stack: ..., value -> ..., result.word1, result.word2
- *
- * @version $Id: F2L.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class F2L extends ConversionInstruction {
-
- /** Convert float to long
- */
- public F2L() {
- super(org.apache.bcel5_2_0.Constants.F2L);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitConversionInstruction(this);
- v.visitF2L(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * F2L - Convert float to long
+ *
Stack: ..., value -> ..., result.word1, result.word2
+ *
+ * @version $Id: F2L.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class F2L extends ConversionInstruction {
+
+ /** Convert float to long
+ */
+ public F2L() {
+ super(org.apache.bcel.Const.F2L);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitConversionInstruction(this);
+ v.visitF2L(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FADD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FADD.java
old mode 100755
new mode 100644
similarity index 59%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FADD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FADD.java
index 394dc524..44a10c8b
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FADD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FADD.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * FADD - Add floats
- *
Stack: ..., value1, value2 -> result
- *
- * @version $Id: FADD.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class FADD extends ArithmeticInstruction {
-
- /** Add floats
- */
- public FADD() {
- super(org.apache.bcel5_2_0.Constants.FADD);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitFADD(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * FADD - Add floats
+ *
Stack: ..., value1, value2 -> result
+ *
+ * @version $Id: FADD.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class FADD extends ArithmeticInstruction {
+
+ /** Add floats
+ */
+ public FADD() {
+ super(org.apache.bcel.Const.FADD);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitFADD(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FALOAD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FALOAD.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FALOAD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FALOAD.java
index 42e77efa..4f8d0add
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FALOAD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FALOAD.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * FALOAD - Load float from array
- *
Stack: ..., arrayref, index -> ..., value
- *
- * @version $Id: FALOAD.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class FALOAD extends ArrayInstruction implements StackProducer {
-
- /** Load float from array
- */
- public FALOAD() {
- super(org.apache.bcel5_2_0.Constants.FALOAD);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackProducer(this);
- v.visitExceptionThrower(this);
- v.visitTypedInstruction(this);
- v.visitArrayInstruction(this);
- v.visitFALOAD(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * FALOAD - Load float from array
+ *
Stack: ..., arrayref, index -> ..., value
+ *
+ * @version $Id: FALOAD.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class FALOAD extends ArrayInstruction implements StackProducer {
+
+ /** Load float from array
+ */
+ public FALOAD() {
+ super(org.apache.bcel.Const.FALOAD);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackProducer(this);
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitArrayInstruction(this);
+ v.visitFALOAD(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FASTORE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FASTORE.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FASTORE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FASTORE.java
index f0c3b544..1d19b20f
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FASTORE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FASTORE.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * FASTORE - Store into float array
- *
Stack: ..., arrayref, index, value -> ...
- *
- * @version $Id: FASTORE.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class FASTORE extends ArrayInstruction implements StackConsumer {
-
- /** Store float into array
- */
- public FASTORE() {
- super(org.apache.bcel5_2_0.Constants.FASTORE);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackConsumer(this);
- v.visitExceptionThrower(this);
- v.visitTypedInstruction(this);
- v.visitArrayInstruction(this);
- v.visitFASTORE(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * FASTORE - Store into float array
+ *
Stack: ..., arrayref, index, value -> ...
+ *
+ * @version $Id: FASTORE.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class FASTORE extends ArrayInstruction implements StackConsumer {
+
+ /** Store float into array
+ */
+ public FASTORE() {
+ super(org.apache.bcel.Const.FASTORE);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackConsumer(this);
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitArrayInstruction(this);
+ v.visitFASTORE(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FCMPG.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FCMPG.java
old mode 100755
new mode 100644
similarity index 56%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FCMPG.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FCMPG.java
index ee4c4d03..c660f867
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FCMPG.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FCMPG.java
@@ -1,54 +1,56 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * FCMPG - Compare floats: value1 > value2
- *
Stack: ..., value1, value2 -> ..., result
- *
- * @version $Id: FCMPG.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class FCMPG extends Instruction implements TypedInstruction, StackProducer, StackConsumer {
-
- public FCMPG() {
- super(org.apache.bcel5_2_0.Constants.FCMPG, (short) 1);
- }
-
-
- /** @return Type.FLOAT
- */
- public Type getType( ConstantPoolGen cp ) {
- return Type.FLOAT;
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitFCMPG(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * FCMPG - Compare floats: value1 > value2
+ *
Stack: ..., value1, value2 -> ..., result
+ *
+ * @version $Id: FCMPG.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class FCMPG extends Instruction implements TypedInstruction, StackProducer, StackConsumer {
+
+ public FCMPG() {
+ super(org.apache.bcel.Const.FCMPG, (short) 1);
+ }
+
+
+ /** @return Type.FLOAT
+ */
+ @Override
+ public Type getType( final ConstantPoolGen cp ) {
+ return Type.FLOAT;
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitFCMPG(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FCMPL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FCMPL.java
old mode 100755
new mode 100644
similarity index 56%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FCMPL.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FCMPL.java
index 35d93891..19212643
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FCMPL.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FCMPL.java
@@ -1,54 +1,56 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * FCMPL - Compare floats: value1 < value2
- *
Stack: ..., value1, value2 -> ..., result
- *
- * @version $Id: FCMPL.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class FCMPL extends Instruction implements TypedInstruction, StackProducer, StackConsumer {
-
- public FCMPL() {
- super(org.apache.bcel5_2_0.Constants.FCMPL, (short) 1);
- }
-
-
- /** @return Type.FLOAT
- */
- public Type getType( ConstantPoolGen cp ) {
- return Type.FLOAT;
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitFCMPL(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * FCMPL - Compare floats: value1 < value2
+ *
Stack: ..., value1, value2 -> ..., result
+ *
+ * @version $Id: FCMPL.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class FCMPL extends Instruction implements TypedInstruction, StackProducer, StackConsumer {
+
+ public FCMPL() {
+ super(org.apache.bcel.Const.FCMPL, (short) 1);
+ }
+
+
+ /** @return Type.FLOAT
+ */
+ @Override
+ public Type getType( final ConstantPoolGen cp ) {
+ return Type.FLOAT;
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitFCMPL(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FCONST.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FCONST.java
old mode 100755
new mode 100644
similarity index 55%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FCONST.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FCONST.java
index e339dcec..d4537dfe
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FCONST.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FCONST.java
@@ -1,82 +1,85 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * FCONST - Push 0.0, 1.0 or 2.0, other values cause an exception
- *
- *
Stack: ... -> ...,
- *
- * @version $Id: FCONST.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class FCONST extends Instruction implements ConstantPushInstruction, TypedInstruction {
-
- private float value;
-
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- FCONST() {
- }
-
-
- public FCONST(float f) {
- super(org.apache.bcel5_2_0.Constants.FCONST_0, (short) 1);
- if (f == 0.0) {
- opcode = org.apache.bcel5_2_0.Constants.FCONST_0;
- } else if (f == 1.0) {
- opcode = org.apache.bcel5_2_0.Constants.FCONST_1;
- } else if (f == 2.0) {
- opcode = org.apache.bcel5_2_0.Constants.FCONST_2;
- } else {
- throw new ClassGenException("FCONST can be used only for 0.0, 1.0 and 2.0: " + f);
- }
- value = f;
- }
-
-
- public Number getValue() {
- return new Float(value);
- }
-
-
- /** @return Type.FLOAT
- */
- public Type getType( ConstantPoolGen cp ) {
- return Type.FLOAT;
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitPushInstruction(this);
- v.visitStackProducer(this);
- v.visitTypedInstruction(this);
- v.visitConstantPushInstruction(this);
- v.visitFCONST(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * FCONST - Push 0.0, 1.0 or 2.0, other values cause an exception
+ *
+ *
Stack: ... -> ...,
+ *
+ * @version $Id: FCONST.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class FCONST extends Instruction implements ConstantPushInstruction {
+
+ private float value;
+
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ FCONST() {
+ }
+
+
+ public FCONST(final float f) {
+ super(org.apache.bcel.Const.FCONST_0, (short) 1);
+ if (f == 0.0) {
+ super.setOpcode(org.apache.bcel.Const.FCONST_0);
+ } else if (f == 1.0) {
+ super.setOpcode(org.apache.bcel.Const.FCONST_1);
+ } else if (f == 2.0) {
+ super.setOpcode(org.apache.bcel.Const.FCONST_2);
+ } else {
+ throw new ClassGenException("FCONST can be used only for 0.0, 1.0 and 2.0: " + f);
+ }
+ value = f;
+ }
+
+
+ @Override
+ public Number getValue() {
+ return new Float(value);
+ }
+
+
+ /** @return Type.FLOAT
+ */
+ @Override
+ public Type getType( final ConstantPoolGen cp ) {
+ return Type.FLOAT;
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitPushInstruction(this);
+ v.visitStackProducer(this);
+ v.visitTypedInstruction(this);
+ v.visitConstantPushInstruction(this);
+ v.visitFCONST(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FDIV.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FDIV.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FDIV.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FDIV.java
index d28ef766..db716f92
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FDIV.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FDIV.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * FDIV - Divide floats
- *
Stack: ..., value1, value2 -> result
- *
- * @version $Id: FDIV.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class FDIV extends ArithmeticInstruction {
-
- /** Divide floats
- */
- public FDIV() {
- super(org.apache.bcel5_2_0.Constants.FDIV);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitFDIV(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * FDIV - Divide floats
+ *
Stack: ..., value1, value2 -> result
+ *
+ * @version $Id: FDIV.java 1747278 2016-06-07 17:28:43Z britter $
+ */
+public class FDIV extends ArithmeticInstruction {
+
+ /** Divide floats
+ */
+ public FDIV() {
+ super(org.apache.bcel.Const.FDIV);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitFDIV(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FLOAD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FLOAD.java
old mode 100755
new mode 100644
similarity index 51%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FLOAD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FLOAD.java
index 75099cc0..2f249afb
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FLOAD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FLOAD.java
@@ -1,57 +1,58 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * FLOAD - Load float from local variable
- *
Stack ... -> ..., result
- *
- * @version $Id: FLOAD.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class FLOAD extends LoadInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- FLOAD() {
- super(org.apache.bcel5_2_0.Constants.FLOAD, org.apache.bcel5_2_0.Constants.FLOAD_0);
- }
-
-
- /** Load float from local variable
- * @param n index of local variable
- */
- public FLOAD(int n) {
- super(org.apache.bcel5_2_0.Constants.FLOAD, org.apache.bcel5_2_0.Constants.FLOAD_0, n);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- super.accept(v);
- v.visitFLOAD(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * FLOAD - Load float from local variable
+ *
Stack ... -> ..., result
+ *
+ * @version $Id: FLOAD.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class FLOAD extends LoadInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ FLOAD() {
+ super(org.apache.bcel.Const.FLOAD, org.apache.bcel.Const.FLOAD_0);
+ }
+
+
+ /** Load float from local variable
+ * @param n index of local variable
+ */
+ public FLOAD(final int n) {
+ super(org.apache.bcel.Const.FLOAD, org.apache.bcel.Const.FLOAD_0, n);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ super.accept(v);
+ v.visitFLOAD(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FMUL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FMUL.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FMUL.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FMUL.java
index 5c8d382c..526f3091
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FMUL.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FMUL.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * FMUL - Multiply floats
- *
Stack: ..., value1, value2 -> result
- *
- * @version $Id: FMUL.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class FMUL extends ArithmeticInstruction {
-
- /** Multiply floats
- */
- public FMUL() {
- super(org.apache.bcel5_2_0.Constants.FMUL);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitFMUL(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * FMUL - Multiply floats
+ *
Stack: ..., value1, value2 -> result
+ *
+ * @version $Id: FMUL.java 1747278 2016-06-07 17:28:43Z britter $
+ */
+public class FMUL extends ArithmeticInstruction {
+
+ /** Multiply floats
+ */
+ public FMUL() {
+ super(org.apache.bcel.Const.FMUL);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitFMUL(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FNEG.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FNEG.java
old mode 100755
new mode 100644
similarity index 59%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FNEG.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FNEG.java
index d7f8e012..db1dc36a
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FNEG.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FNEG.java
@@ -1,48 +1,49 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * FNEG - Negate float
- *
Stack: ..., value -> ..., result
- *
- * @version $Id: FNEG.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class FNEG extends ArithmeticInstruction {
-
- public FNEG() {
- super(org.apache.bcel5_2_0.Constants.FNEG);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitFNEG(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * FNEG - Negate float
+ *
Stack: ..., value -> ..., result
+ *
+ * @version $Id: FNEG.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class FNEG extends ArithmeticInstruction {
+
+ public FNEG() {
+ super(org.apache.bcel.Const.FNEG);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitFNEG(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FREM.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FREM.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FREM.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FREM.java
index 35f57da3..38e0609e
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FREM.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FREM.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * FREM - Remainder of floats
- *
Stack: ..., value1, value2 -> result
- *
- * @version $Id: FREM.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class FREM extends ArithmeticInstruction {
-
- /** Remainder of floats
- */
- public FREM() {
- super(org.apache.bcel5_2_0.Constants.FREM);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitFREM(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * FREM - Remainder of floats
+ *
Stack: ..., value1, value2 -> result
+ *
+ * @version $Id: FREM.java 1747278 2016-06-07 17:28:43Z britter $
+ */
+public class FREM extends ArithmeticInstruction {
+
+ /** Remainder of floats
+ */
+ public FREM() {
+ super(org.apache.bcel.Const.FREM);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitFREM(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FRETURN.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FRETURN.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FRETURN.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FRETURN.java
index e487c498..5fde2263
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FRETURN.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FRETURN.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * FRETURN - Return float from method
- *
Stack: ..., value -> <empty>
- *
- * @version $Id: FRETURN.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class FRETURN extends ReturnInstruction {
-
- /** Return float from method
- */
- public FRETURN() {
- super(org.apache.bcel5_2_0.Constants.FRETURN);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitExceptionThrower(this);
- v.visitTypedInstruction(this);
- v.visitStackConsumer(this);
- v.visitReturnInstruction(this);
- v.visitFRETURN(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * FRETURN - Return float from method
+ *
Stack: ..., value -> <empty>
+ *
+ * @version $Id: FRETURN.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class FRETURN extends ReturnInstruction {
+
+ /** Return float from method
+ */
+ public FRETURN() {
+ super(org.apache.bcel.Const.FRETURN);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitStackConsumer(this);
+ v.visitReturnInstruction(this);
+ v.visitFRETURN(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FSTORE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FSTORE.java
old mode 100755
new mode 100644
similarity index 51%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FSTORE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FSTORE.java
index e34af929..d5878c6d
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FSTORE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FSTORE.java
@@ -1,57 +1,58 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * FSTORE - Store float into local variable
- *
Stack: ..., value -> ...
- *
- * @version $Id: FSTORE.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class FSTORE extends StoreInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- FSTORE() {
- super(org.apache.bcel5_2_0.Constants.FSTORE, org.apache.bcel5_2_0.Constants.FSTORE_0);
- }
-
-
- /** Store float into local variable
- * @param n index of local variable
- */
- public FSTORE(int n) {
- super(org.apache.bcel5_2_0.Constants.FSTORE, org.apache.bcel5_2_0.Constants.FSTORE_0, n);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- super.accept(v);
- v.visitFSTORE(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * FSTORE - Store float into local variable
+ *
Stack: ..., value -> ...
+ *
+ * @version $Id: FSTORE.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class FSTORE extends StoreInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ FSTORE() {
+ super(org.apache.bcel.Const.FSTORE, org.apache.bcel.Const.FSTORE_0);
+ }
+
+
+ /** Store float into local variable
+ * @param n index of local variable
+ */
+ public FSTORE(final int n) {
+ super(org.apache.bcel.Const.FSTORE, org.apache.bcel.Const.FSTORE_0, n);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ super.accept(v);
+ v.visitFSTORE(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FSUB.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FSUB.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FSUB.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FSUB.java
index 431f9064..a0de0109
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/FSUB.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FSUB.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * FSUB - Substract floats
- *
Stack: ..., value1, value2 -> result
- *
- * @version $Id: FSUB.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class FSUB extends ArithmeticInstruction {
-
- /** Substract floats
- */
- public FSUB() {
- super(org.apache.bcel5_2_0.Constants.FSUB);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitFSUB(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * FSUB - Substract floats
+ *
Stack: ..., value1, value2 -> result
+ *
+ * @version $Id: FSUB.java 1747278 2016-06-07 17:28:43Z britter $
+ */
+public class FSUB extends ArithmeticInstruction {
+
+ /** Substract floats
+ */
+ public FSUB() {
+ super(org.apache.bcel.Const.FSUB);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitFSUB(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldGen.java
new file mode 100644
index 00000000..263abdad
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldGen.java
@@ -0,0 +1,381 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.bcel.Const;
+import org.apache.bcel.classfile.AnnotationEntry;
+import org.apache.bcel.classfile.Annotations;
+import org.apache.bcel.classfile.Attribute;
+import org.apache.bcel.classfile.Constant;
+import org.apache.bcel.classfile.ConstantObject;
+import org.apache.bcel.classfile.ConstantPool;
+import org.apache.bcel.classfile.ConstantValue;
+import org.apache.bcel.classfile.Field;
+import org.apache.bcel.classfile.Utility;
+import org.apache.bcel.util.BCELComparator;
+
+/**
+ * Template class for building up a field. The only extraordinary thing
+ * one can do is to add a constant value attribute to a field (which must of
+ * course be compatible with to the declared type).
+ *
+ * @version $Id: FieldGen.java 1806200 2017-08-25 16:33:06Z ggregory $
+ * @see Field
+ */
+public class FieldGen extends FieldGenOrMethodGen {
+
+ private Object value = null;
+ private static BCELComparator bcelComparator = new BCELComparator() {
+
+ @Override
+ public boolean equals( final Object o1, final Object o2 ) {
+ final FieldGen THIS = (FieldGen) o1;
+ final FieldGen THAT = (FieldGen) o2;
+ return THIS.getName().equals(THAT.getName())
+ && THIS.getSignature().equals(THAT.getSignature());
+ }
+
+
+ @Override
+ public int hashCode( final Object o ) {
+ final FieldGen THIS = (FieldGen) o;
+ return THIS.getSignature().hashCode() ^ THIS.getName().hashCode();
+ }
+ };
+
+
+ /**
+ * Declare a field. If it is static (isStatic() == true) and has a
+ * basic type like int or String it may have an initial value
+ * associated with it as defined by setInitValue().
+ *
+ * @param access_flags access qualifiers
+ * @param type field type
+ * @param name field name
+ * @param cp constant pool
+ */
+ public FieldGen(final int access_flags, final Type type, final String name, final ConstantPoolGen cp) {
+ super(access_flags);
+ setType(type);
+ setName(name);
+ setConstantPool(cp);
+ }
+
+
+ /**
+ * Instantiate from existing field.
+ *
+ * @param field Field object
+ * @param cp constant pool (must contain the same entries as the field's constant pool)
+ */
+ public FieldGen(final Field field, final ConstantPoolGen cp) {
+ this(field.getAccessFlags(), Type.getType(field.getSignature()), field.getName(), cp);
+ final Attribute[] attrs = field.getAttributes();
+ for (final Attribute attr : attrs) {
+ if (attr instanceof ConstantValue) {
+ setValue(((ConstantValue) attr).getConstantValueIndex());
+ } else if (attr instanceof Annotations) {
+ final Annotations runtimeAnnotations = (Annotations)attr;
+ final AnnotationEntry[] annotationEntries = runtimeAnnotations.getAnnotationEntries();
+ for (final AnnotationEntry element : annotationEntries) {
+ addAnnotationEntry(new AnnotationEntryGen(element,cp,false));
+ }
+ } else {
+ addAttribute(attr);
+ }
+ }
+ }
+
+
+ private void setValue( final int index ) {
+ final ConstantPool cp = super.getConstantPool().getConstantPool();
+ final Constant c = cp.getConstant(index);
+ value = ((ConstantObject) c).getConstantValue(cp);
+ }
+
+
+ /**
+ * Set (optional) initial value of field, otherwise it will be set to null/0/false
+ * by the JVM automatically.
+ */
+ public void setInitValue( final String str ) {
+ checkType( ObjectType.getInstance("java.lang.String"));
+ if (str != null) {
+ value = str;
+ }
+ }
+
+
+ public void setInitValue( final long l ) {
+ checkType(Type.LONG);
+ if (l != 0L) {
+ value = Long.valueOf(l);
+ }
+ }
+
+
+ public void setInitValue( final int i ) {
+ checkType(Type.INT);
+ if (i != 0) {
+ value = Integer.valueOf(i);
+ }
+ }
+
+
+ public void setInitValue( final short s ) {
+ checkType(Type.SHORT);
+ if (s != 0) {
+ value = Integer.valueOf(s);
+ }
+ }
+
+
+ public void setInitValue( final char c ) {
+ checkType(Type.CHAR);
+ if (c != 0) {
+ value = Integer.valueOf(c);
+ }
+ }
+
+
+ public void setInitValue( final byte b ) {
+ checkType(Type.BYTE);
+ if (b != 0) {
+ value = Integer.valueOf(b);
+ }
+ }
+
+
+ public void setInitValue( final boolean b ) {
+ checkType(Type.BOOLEAN);
+ if (b) {
+ value = Integer.valueOf(1);
+ }
+ }
+
+
+ public void setInitValue( final float f ) {
+ checkType(Type.FLOAT);
+ if (f != 0.0) {
+ value = new Float(f);
+ }
+ }
+
+
+ public void setInitValue( final double d ) {
+ checkType(Type.DOUBLE);
+ if (d != 0.0) {
+ value = new Double(d);
+ }
+ }
+
+
+ /** Remove any initial value.
+ */
+ public void cancelInitValue() {
+ value = null;
+ }
+
+
+ private void checkType( final Type atype ) {
+ final Type superType = super.getType();
+ if (superType == null) {
+ throw new ClassGenException("You haven't defined the type of the field yet");
+ }
+ if (!isFinal()) {
+ throw new ClassGenException("Only final fields may have an initial value!");
+ }
+ if (!superType.equals(atype)) {
+ throw new ClassGenException("Types are not compatible: " + superType + " vs. " + atype);
+ }
+ }
+
+
+ /**
+ * Get field object after having set up all necessary values.
+ */
+ public Field getField() {
+ final String signature = getSignature();
+ final int name_index = super.getConstantPool().addUtf8(super.getName());
+ final int signature_index = super.getConstantPool().addUtf8(signature);
+ if (value != null) {
+ checkType(super.getType());
+ final int index = addConstant();
+ addAttribute(new ConstantValue(super.getConstantPool().addUtf8("ConstantValue"), 2, index,
+ super.getConstantPool().getConstantPool())); // sic
+ }
+ addAnnotationsAsAttribute(super.getConstantPool());
+ return new Field(super.getAccessFlags(), name_index, signature_index, getAttributes(),
+ super.getConstantPool().getConstantPool()); // sic
+ }
+
+ private void addAnnotationsAsAttribute(final ConstantPoolGen cp) {
+ final Attribute[] attrs = AnnotationEntryGen.getAnnotationAttributes(cp, super.getAnnotationEntries());
+ for (final Attribute attr : attrs) {
+ addAttribute(attr);
+ }
+ }
+
+
+ private int addConstant() {
+ switch (super.getType().getType()) { // sic
+ case Const.T_INT:
+ case Const.T_CHAR:
+ case Const.T_BYTE:
+ case Const.T_BOOLEAN:
+ case Const.T_SHORT:
+ return super.getConstantPool().addInteger(((Integer) value).intValue());
+ case Const.T_FLOAT:
+ return super.getConstantPool().addFloat(((Float) value).floatValue());
+ case Const.T_DOUBLE:
+ return super.getConstantPool().addDouble(((Double) value).doubleValue());
+ case Const.T_LONG:
+ return super.getConstantPool().addLong(((Long) value).longValue());
+ case Const.T_REFERENCE:
+ return super.getConstantPool().addString((String) value);
+ default:
+ throw new RuntimeException("Oops: Unhandled : " + super.getType().getType()); // sic
+ }
+ }
+
+
+ @Override
+ public String getSignature() {
+ return super.getType().getSignature();
+ }
+
+ private List observers;
+
+
+ /** Add observer for this object.
+ */
+ public void addObserver( final FieldObserver o ) {
+ if (observers == null) {
+ observers = new ArrayList<>();
+ }
+ observers.add(o);
+ }
+
+
+ /** Remove observer for this object.
+ */
+ public void removeObserver( final FieldObserver o ) {
+ if (observers != null) {
+ observers.remove(o);
+ }
+ }
+
+
+ /** Call notify() method on all observers. This method is not called
+ * automatically whenever the state has changed, but has to be
+ * called by the user after he has finished editing the object.
+ */
+ public void update() {
+ if (observers != null) {
+ for (final FieldObserver observer : observers ) {
+ observer.notify(this);
+ }
+ }
+ }
+
+
+ public String getInitValue() {
+ if (value != null) {
+ return value.toString();
+ }
+ return null;
+ }
+
+
+ /**
+ * Return string representation close to declaration format,
+ * `public static final short MAX = 100', e.g..
+ *
+ * @return String representation of field
+ */
+ @Override
+ public final String toString() {
+ String name;
+ String signature;
+ String access; // Short cuts to constant pool
+ access = Utility.accessToString(super.getAccessFlags());
+ access = access.isEmpty() ? "" : (access + " ");
+ signature = super.getType().toString();
+ name = getName();
+ final StringBuilder buf = new StringBuilder(32); // CHECKSTYLE IGNORE MagicNumber
+ buf.append(access).append(signature).append(" ").append(name);
+ final String value = getInitValue();
+ if (value != null) {
+ buf.append(" = ").append(value);
+ }
+ return buf.toString();
+ }
+
+
+ /** @return deep copy of this field
+ */
+ public FieldGen copy( final ConstantPoolGen cp ) {
+ final FieldGen fg = (FieldGen) clone();
+ fg.setConstantPool(cp);
+ return fg;
+ }
+
+
+ /**
+ * @return Comparison strategy object
+ */
+ public static BCELComparator getComparator() {
+ return bcelComparator;
+ }
+
+
+ /**
+ * @param comparator Comparison strategy object
+ */
+ public static void setComparator( final BCELComparator comparator ) {
+ bcelComparator = comparator;
+ }
+
+
+ /**
+ * Return value as defined by given BCELComparator strategy.
+ * By default two FieldGen objects are said to be equal when
+ * their names and signatures are equal.
+ *
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals( final Object obj ) {
+ return bcelComparator.equals(this, obj);
+ }
+
+
+ /**
+ * Return value as defined by given BCELComparator strategy.
+ * By default return the hashcode of the field's name XOR signature.
+ *
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ return bcelComparator.hashCode(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldGenOrMethodGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldGenOrMethodGen.java
new file mode 100644
index 00000000..7e9a0d42
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldGenOrMethodGen.java
@@ -0,0 +1,191 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.bcel.Const;
+import org.apache.bcel.classfile.AccessFlags;
+import org.apache.bcel.classfile.Attribute;
+
+/**
+ * Super class for FieldGen and MethodGen objects, since they have
+ * some methods in common!
+ *
+ * @version $Id: FieldGenOrMethodGen.java 1749603 2016-06-21 20:50:19Z ggregory $
+ */
+public abstract class FieldGenOrMethodGen extends AccessFlags implements NamedAndTyped, Cloneable {
+
+ /**
+ * @deprecated (since 6.0) will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
+ protected String name;
+
+ /**
+ * @deprecated (since 6.0) will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
+ protected Type type;
+
+ /**
+ * @deprecated (since 6.0) will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
+ protected ConstantPoolGen cp;
+
+ private final List attribute_vec = new ArrayList<>();
+
+ // @since 6.0
+ private final List annotation_vec= new ArrayList<>();
+
+
+ protected FieldGenOrMethodGen() {
+ }
+
+
+ /**
+ * @since 6.0
+ */
+ protected FieldGenOrMethodGen(final int access_flags) { // TODO could this be package protected?
+ super(access_flags);
+ }
+
+ @Override
+ public void setType( final Type type ) { // TODO could be package-protected?
+ if (type.getType() == Const.T_ADDRESS) {
+ throw new IllegalArgumentException("Type can not be " + type);
+ }
+ this.type = type;
+ }
+
+
+ @Override
+ public Type getType() {
+ return type;
+ }
+
+
+ /** @return name of method/field.
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+
+ @Override
+ public void setName( final String name ) { // TODO could be package-protected?
+ this.name = name;
+ }
+
+
+ public ConstantPoolGen getConstantPool() {
+ return cp;
+ }
+
+
+ public void setConstantPool( final ConstantPoolGen cp ) { // TODO could be package-protected?
+ this.cp = cp;
+ }
+
+
+ /**
+ * Add an attribute to this method. Currently, the JVM knows about
+ * the `Code', `ConstantValue', `Synthetic' and `Exceptions'
+ * attributes. Other attributes will be ignored by the JVM but do no
+ * harm.
+ *
+ * @param a attribute to be added
+ */
+ public void addAttribute( final Attribute a ) {
+ attribute_vec.add(a);
+ }
+
+ /**
+ * @since 6.0
+ */
+ protected void addAnnotationEntry(final AnnotationEntryGen ag) // TODO could this be package protected?
+ {
+ annotation_vec.add(ag);
+ }
+
+
+ /**
+ * Remove an attribute.
+ */
+ public void removeAttribute( final Attribute a ) {
+ attribute_vec.remove(a);
+ }
+
+ /**
+ * @since 6.0
+ */
+ protected void removeAnnotationEntry(final AnnotationEntryGen ag) // TODO could this be package protected?
+ {
+ annotation_vec.remove(ag);
+ }
+
+
+ /**
+ * Remove all attributes.
+ */
+ public void removeAttributes() {
+ attribute_vec.clear();
+ }
+
+ /**
+ * @since 6.0
+ */
+ protected void removeAnnotationEntries() // TODO could this be package protected?
+ {
+ annotation_vec.clear();
+ }
+
+
+ /**
+ * @return all attributes of this method.
+ */
+ public Attribute[] getAttributes() {
+ final Attribute[] attributes = new Attribute[attribute_vec.size()];
+ attribute_vec.toArray(attributes);
+ return attributes;
+ }
+
+ public AnnotationEntryGen[] getAnnotationEntries() {
+ final AnnotationEntryGen[] annotations = new AnnotationEntryGen[annotation_vec.size()];
+ annotation_vec.toArray(annotations);
+ return annotations;
+ }
+
+
+ /** @return signature of method/field.
+ */
+ public abstract String getSignature();
+
+
+ @Override
+ public Object clone() {
+ try {
+ return super.clone();
+ } catch (final CloneNotSupportedException e) {
+ throw new Error("Clone Not Supported"); // never happens
+ }
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldInstruction.java
new file mode 100644
index 00000000..a61a679f
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldInstruction.java
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import org.apache.bcel.classfile.ConstantPool;
+
+/**
+ * Super class for the GET/PUTxxx family of instructions.
+ *
+ * @version $Id: FieldInstruction.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public abstract class FieldInstruction extends FieldOrMethod {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ FieldInstruction() {
+ }
+
+
+ /**
+ * @param index to constant pool
+ */
+ protected FieldInstruction(final short opcode, final int index) {
+ super(opcode, index);
+ }
+
+
+ /**
+ * @return mnemonic for instruction with symbolic references resolved
+ */
+ @Override
+ public String toString( final ConstantPool cp ) {
+ return org.apache.bcel.Const.getOpcodeName(super.getOpcode()) + " "
+ + cp.constantToString(super.getIndex(), org.apache.bcel.Const.CONSTANT_Fieldref);
+ }
+
+
+ /** @return size of field (1 or 2)
+ */
+ protected int getFieldSize( final ConstantPoolGen cpg ) {
+ return Type.size(Type.getTypeSize(getSignature(cpg)));
+ }
+
+
+ /** @return return type of referenced field
+ */
+ @Override
+ public Type getType( final ConstantPoolGen cpg ) {
+ return getFieldType(cpg);
+ }
+
+
+ /** @return type of field
+ */
+ public Type getFieldType( final ConstantPoolGen cpg ) {
+ return Type.getType(getSignature(cpg));
+ }
+
+
+ /** @return name of referenced field.
+ */
+ public String getFieldName( final ConstantPoolGen cpg ) {
+ return getName(cpg);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldObserver.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldObserver.java
new file mode 100644
index 00000000..c82c3c91
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldObserver.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * Imnplement this interface if you're interested in changes to a FieldGen object
+ * and register yourself with addObserver().
+ *
+ * @version $Id: FieldObserver.java 1747278 2016-06-07 17:28:43Z britter $
+ */
+public interface FieldObserver {
+
+ void notify( FieldGen field );
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldOrMethod.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldOrMethod.java
new file mode 100644
index 00000000..0a952b00
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldOrMethod.java
@@ -0,0 +1,139 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import org.apache.bcel.Const;
+import org.apache.bcel.classfile.ConstantCP;
+import org.apache.bcel.classfile.ConstantNameAndType;
+import org.apache.bcel.classfile.ConstantPool;
+import org.apache.bcel.classfile.ConstantUtf8;
+
+/**
+ * Super class for InvokeInstruction and FieldInstruction, since they have
+ * some methods in common!
+ *
+ * @version $Id: FieldOrMethod.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public abstract class FieldOrMethod extends CPInstruction implements LoadClass {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ FieldOrMethod() {
+ }
+
+
+ /**
+ * @param index to constant pool
+ */
+ protected FieldOrMethod(final short opcode, final int index) {
+ super(opcode, index);
+ }
+
+
+ /** @return signature of referenced method/field.
+ */
+ public String getSignature( final ConstantPoolGen cpg ) {
+ final ConstantPool cp = cpg.getConstantPool();
+ final ConstantCP cmr = (ConstantCP) cp.getConstant(super.getIndex());
+ final ConstantNameAndType cnat = (ConstantNameAndType) cp.getConstant(cmr.getNameAndTypeIndex());
+ return ((ConstantUtf8) cp.getConstant(cnat.getSignatureIndex())).getBytes();
+ }
+
+
+ /** @return name of referenced method/field.
+ */
+ public String getName( final ConstantPoolGen cpg ) {
+ final ConstantPool cp = cpg.getConstantPool();
+ final ConstantCP cmr = (ConstantCP) cp.getConstant(super.getIndex());
+ final ConstantNameAndType cnat = (ConstantNameAndType) cp.getConstant(cmr.getNameAndTypeIndex());
+ return ((ConstantUtf8) cp.getConstant(cnat.getNameIndex())).getBytes();
+ }
+
+
+ /**
+ * @return name of the referenced class/interface
+ * @deprecated If the instruction references an array class,
+ * this method will return "java.lang.Object".
+ * For code generated by Java 1.5, this answer is
+ * sometimes wrong (e.g., if the "clone()" method is
+ * called on an array). A better idea is to use
+ * the {@link #getReferenceType(ConstantPoolGen)} method, which correctly distinguishes
+ * between class types and array types.
+ *
+ */
+ @Deprecated
+ public String getClassName( final ConstantPoolGen cpg ) {
+ final ConstantPool cp = cpg.getConstantPool();
+ final ConstantCP cmr = (ConstantCP) cp.getConstant(super.getIndex());
+ final String className = cp.getConstantString(cmr.getClassIndex(), Const.CONSTANT_Class);
+ if (className.startsWith("[")) {
+ // Turn array classes into java.lang.Object.
+ return "java.lang.Object";
+ }
+ return className.replace('/', '.');
+ }
+
+
+ /** @return type of the referenced class/interface
+ * @deprecated If the instruction references an array class,
+ * the ObjectType returned will be invalid. Use
+ * getReferenceType() instead.
+ */
+ @Deprecated
+ public ObjectType getClassType( final ConstantPoolGen cpg ) {
+ return ObjectType.getInstance(getClassName(cpg));
+ }
+
+
+ /**
+ * Return the reference type representing the class, interface,
+ * or array class referenced by the instruction.
+ * @param cpg the ConstantPoolGen used to create the instruction
+ * @return an ObjectType (if the referenced class type is a class
+ * or interface), or an ArrayType (if the referenced class
+ * type is an array class)
+ */
+ public ReferenceType getReferenceType( final ConstantPoolGen cpg ) {
+ final ConstantPool cp = cpg.getConstantPool();
+ final ConstantCP cmr = (ConstantCP) cp.getConstant(super.getIndex());
+ String className = cp.getConstantString(cmr.getClassIndex(), Const.CONSTANT_Class);
+ if (className.startsWith("[")) {
+ return (ArrayType) Type.getType(className);
+ }
+ className = className.replace('/', '.');
+ return ObjectType.getInstance(className);
+ }
+
+
+ /**
+ * Get the ObjectType of the method return or field.
+ *
+ * @return type of the referenced class/interface
+ * @throws ClassGenException when the field is (or method returns) an array,
+ */
+ @Override
+ public ObjectType getLoadClassType( final ConstantPoolGen cpg ) {
+ final ReferenceType rt = getReferenceType(cpg);
+ if(rt instanceof ObjectType) {
+ return (ObjectType)rt;
+ }
+ throw new ClassGenException(rt.getSignature() + " does not represent an ObjectType");
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/GETFIELD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GETFIELD.java
old mode 100755
new mode 100644
similarity index 50%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/GETFIELD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GETFIELD.java
index 42d9cef1..c6136430
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/GETFIELD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GETFIELD.java
@@ -1,81 +1,81 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-import org.apache.bcel5_2_0.Constants;
-import org.apache.bcel5_2_0.ExceptionConstants;
-
-/**
- * GETFIELD - Fetch field from object
- *
- *
- * @version $Id: GETFIELD.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class GETFIELD extends FieldInstruction implements ExceptionThrower, StackConsumer,
- StackProducer {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- GETFIELD() {
- }
-
-
- public GETFIELD(int index) {
- super(Constants.GETFIELD, index);
- }
-
-
- public int produceStack( ConstantPoolGen cpg ) {
- return getFieldSize(cpg);
- }
-
-
- public Class[] getExceptions() {
- Class[] cs = new Class[2 + ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION.length];
- System.arraycopy(ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION, 0, cs, 0,
- ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION.length);
- cs[ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION.length + 1] = ExceptionConstants.INCOMPATIBLE_CLASS_CHANGE_ERROR;
- cs[ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION.length] = ExceptionConstants.NULL_POINTER_EXCEPTION;
- return cs;
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitExceptionThrower(this);
- v.visitStackConsumer(this);
- v.visitStackProducer(this);
- v.visitTypedInstruction(this);
- v.visitLoadClass(this);
- v.visitCPInstruction(this);
- v.visitFieldOrMethod(this);
- v.visitFieldInstruction(this);
- v.visitGETFIELD(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import org.apache.bcel.Const;
+import org.apache.bcel.ExceptionConst;
+
+/**
+ * GETFIELD - Fetch field from object
+ *
+ *
+ * @version $Id: GETFIELD.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class GETFIELD extends FieldInstruction implements ExceptionThrower, StackConsumer,
+ StackProducer {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ GETFIELD() {
+ }
+
+
+ public GETFIELD(final int index) {
+ super(Const.GETFIELD, index);
+ }
+
+
+ @Override
+ public int produceStack( final ConstantPoolGen cpg ) {
+ return getFieldSize(cpg);
+ }
+
+
+ @Override
+ public Class>[] getExceptions() {
+ return ExceptionConst.createExceptions(ExceptionConst.EXCS.EXCS_FIELD_AND_METHOD_RESOLUTION,
+ ExceptionConst.NULL_POINTER_EXCEPTION,
+ ExceptionConst.INCOMPATIBLE_CLASS_CHANGE_ERROR);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitExceptionThrower(this);
+ v.visitStackConsumer(this);
+ v.visitStackProducer(this);
+ v.visitTypedInstruction(this);
+ v.visitLoadClass(this);
+ v.visitCPInstruction(this);
+ v.visitFieldOrMethod(this);
+ v.visitFieldInstruction(this);
+ v.visitGETFIELD(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/GETSTATIC.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GETSTATIC.java
old mode 100755
new mode 100644
similarity index 51%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/GETSTATIC.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GETSTATIC.java
index 60e435ce..7323fc04
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/GETSTATIC.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GETSTATIC.java
@@ -1,79 +1,79 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-import org.apache.bcel5_2_0.Constants;
-import org.apache.bcel5_2_0.ExceptionConstants;
-
-/**
- * GETSTATIC - Fetch static field from class
- *
Stack: ..., -> ..., value
- * OR
- *
Stack: ..., -> ..., value.word1, value.word2
- *
- * @version $Id: GETSTATIC.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class GETSTATIC extends FieldInstruction implements PushInstruction, ExceptionThrower {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- GETSTATIC() {
- }
-
-
- public GETSTATIC(int index) {
- super(Constants.GETSTATIC, index);
- }
-
-
- public int produceStack( ConstantPoolGen cpg ) {
- return getFieldSize(cpg);
- }
-
-
- public Class[] getExceptions() {
- Class[] cs = new Class[1 + ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION.length];
- System.arraycopy(ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION, 0, cs, 0,
- ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION.length);
- cs[ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION.length] = ExceptionConstants.INCOMPATIBLE_CLASS_CHANGE_ERROR;
- return cs;
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackProducer(this);
- v.visitPushInstruction(this);
- v.visitExceptionThrower(this);
- v.visitTypedInstruction(this);
- v.visitLoadClass(this);
- v.visitCPInstruction(this);
- v.visitFieldOrMethod(this);
- v.visitFieldInstruction(this);
- v.visitGETSTATIC(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import org.apache.bcel.Const;
+import org.apache.bcel.ExceptionConst;
+
+/**
+ * GETSTATIC - Fetch static field from class
+ *
Stack: ..., -> ..., value
+ * OR
+ *
Stack: ..., -> ..., value.word1, value.word2
+ *
+ * @version $Id: GETSTATIC.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class GETSTATIC extends FieldInstruction implements PushInstruction, ExceptionThrower {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ GETSTATIC() {
+ }
+
+
+ public GETSTATIC(final int index) {
+ super(Const.GETSTATIC, index);
+ }
+
+
+ @Override
+ public int produceStack( final ConstantPoolGen cpg ) {
+ return getFieldSize(cpg);
+ }
+
+
+ @Override
+ public Class>[] getExceptions() {
+ return ExceptionConst.createExceptions(ExceptionConst.EXCS.EXCS_FIELD_AND_METHOD_RESOLUTION,
+ ExceptionConst.INCOMPATIBLE_CLASS_CHANGE_ERROR);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackProducer(this);
+ v.visitPushInstruction(this);
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitLoadClass(this);
+ v.visitCPInstruction(this);
+ v.visitFieldOrMethod(this);
+ v.visitFieldInstruction(this);
+ v.visitGETSTATIC(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GOTO.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GOTO.java
new file mode 100644
index 00000000..15ded296
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GOTO.java
@@ -0,0 +1,99 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+/**
+ * GOTO - Branch always (to relative offset, not absolute address)
+ *
+ * @version $Id: GOTO.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class GOTO extends GotoInstruction implements VariableLengthInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ GOTO() {
+ }
+
+
+ public GOTO(final InstructionHandle target) {
+ super(org.apache.bcel.Const.GOTO, target);
+ }
+
+
+ /**
+ * Dump instruction as byte code to stream out.
+ * @param out Output stream
+ */
+ @Override
+ public void dump( final DataOutputStream out ) throws IOException {
+ super.setIndex(getTargetOffset());
+ final short _opcode = getOpcode();
+ if (_opcode == org.apache.bcel.Const.GOTO) {
+ super.dump(out);
+ } else { // GOTO_W
+ super.setIndex(getTargetOffset());
+ out.writeByte(_opcode);
+ out.writeInt(super.getIndex());
+ }
+ }
+
+
+ /**
+ * Called in pass 2 of InstructionList.setPositions() in order to update
+ * the branch target, that may shift due to variable length instructions.
+ *
+ * @param offset additional offset caused by preceding (variable length) instructions
+ * @param max_offset the maximum offset that may be caused by these instructions
+ * @return additional offset caused by possible change of this instruction's length
+ */
+ @Override
+ protected int updatePosition( final int offset, final int max_offset ) {
+ final int i = getTargetOffset(); // Depending on old position value
+ setPosition(getPosition() + offset); // Position may be shifted by preceding expansions
+ if (Math.abs(i) >= (Short.MAX_VALUE - max_offset)) { // to large for short (estimate)
+ super.setOpcode(org.apache.bcel.Const.GOTO_W);
+ final short old_length = (short) super.getLength();
+ super.setLength(5);
+ return super.getLength() - old_length;
+ }
+ return 0;
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitVariableLengthInstruction(this);
+ v.visitUnconditionalBranch(this);
+ v.visitBranchInstruction(this);
+ v.visitGotoInstruction(this);
+ v.visitGOTO(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GOTO_W.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GOTO_W.java
new file mode 100644
index 00000000..9955e9d1
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GOTO_W.java
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.util.ByteSequence;
+
+/**
+ * GOTO_W - Branch always (to relative offset, not absolute address)
+ *
+ * @version $Id: GOTO_W.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class GOTO_W extends GotoInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ GOTO_W() {
+ }
+
+
+ public GOTO_W(final InstructionHandle target) {
+ super(org.apache.bcel.Const.GOTO_W, target);
+ super.setLength(5);
+ }
+
+
+ /**
+ * Dump instruction as byte code to stream out.
+ * @param out Output stream
+ */
+ @Override
+ public void dump( final DataOutputStream out ) throws IOException {
+ super.setIndex(getTargetOffset());
+ out.writeByte(super.getOpcode());
+ out.writeInt(super.getIndex());
+ }
+
+
+ /**
+ * Read needed data (e.g. index) from file.
+ */
+ @Override
+ protected void initFromFile( final ByteSequence bytes, final boolean wide ) throws IOException {
+ super.setIndex(bytes.readInt());
+ super.setLength(5);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitUnconditionalBranch(this);
+ v.visitBranchInstruction(this);
+ v.visitGotoInstruction(this);
+ v.visitGOTO_W(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GotoInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GotoInstruction.java
new file mode 100644
index 00000000..1a5afa65
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GotoInstruction.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * Super class for GOTO
+ *
+ * @version $Id: GotoInstruction.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public abstract class GotoInstruction extends BranchInstruction implements UnconditionalBranch {
+
+ GotoInstruction(final short opcode, final InstructionHandle target) {
+ super(opcode, target);
+ }
+
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ GotoInstruction() {
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/I2B.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2B.java
old mode 100755
new mode 100644
similarity index 59%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/I2B.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2B.java
index baafe8bb..5a027644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/I2B.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2B.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * I2B - Convert int to byte
- *
Stack: ..., value -> ..., result
- *
- * @version $Id: I2B.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class I2B extends ConversionInstruction {
-
- /** Convert int to byte
- */
- public I2B() {
- super(org.apache.bcel5_2_0.Constants.I2B);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitConversionInstruction(this);
- v.visitI2B(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * I2B - Convert int to byte
+ *
Stack: ..., value -> ..., result
+ *
+ * @version $Id: I2B.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class I2B extends ConversionInstruction {
+
+ /** Convert int to byte
+ */
+ public I2B() {
+ super(org.apache.bcel.Const.I2B);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitConversionInstruction(this);
+ v.visitI2B(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/I2C.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2C.java
old mode 100755
new mode 100644
similarity index 59%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/I2C.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2C.java
index 9c22b6b2..df97da64
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/I2C.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2C.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * I2C - Convert int to char
- *
Stack: ..., value -> ..., result
- *
- * @version $Id: I2C.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class I2C extends ConversionInstruction {
-
- /** Convert int to char
- */
- public I2C() {
- super(org.apache.bcel5_2_0.Constants.I2C);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitConversionInstruction(this);
- v.visitI2C(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * I2C - Convert int to char
+ *
Stack: ..., value -> ..., result
+ *
+ * @version $Id: I2C.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class I2C extends ConversionInstruction {
+
+ /** Convert int to char
+ */
+ public I2C() {
+ super(org.apache.bcel.Const.I2C);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitConversionInstruction(this);
+ v.visitI2C(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/I2D.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2D.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/I2D.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2D.java
index 116f15e6..7d12f659
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/I2D.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2D.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * I2D - Convert int to double
- *
Stack: ..., value -> ..., result.word1, result.word2
- *
- * @version $Id: I2D.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class I2D extends ConversionInstruction {
-
- /** Convert int to double
- */
- public I2D() {
- super(org.apache.bcel5_2_0.Constants.I2D);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitConversionInstruction(this);
- v.visitI2D(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * I2D - Convert int to double
+ *
Stack: ..., value -> ..., result.word1, result.word2
+ *
+ * @version $Id: I2D.java 1747278 2016-06-07 17:28:43Z britter $
+ */
+public class I2D extends ConversionInstruction {
+
+ /** Convert int to double
+ */
+ public I2D() {
+ super(org.apache.bcel.Const.I2D);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitConversionInstruction(this);
+ v.visitI2D(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/I2F.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2F.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/I2F.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2F.java
index 4920cca9..730dbb80
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/I2F.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2F.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * I2F - Convert int to float
- *
Stack: ..., value -> ..., result
- *
- * @version $Id: I2F.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class I2F extends ConversionInstruction {
-
- /** Convert int to float
- */
- public I2F() {
- super(org.apache.bcel5_2_0.Constants.I2F);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitConversionInstruction(this);
- v.visitI2F(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * I2F - Convert int to float
+ *
Stack: ..., value -> ..., result
+ *
+ * @version $Id: I2F.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class I2F extends ConversionInstruction {
+
+ /** Convert int to float
+ */
+ public I2F() {
+ super(org.apache.bcel.Const.I2F);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitConversionInstruction(this);
+ v.visitI2F(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/I2L.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2L.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/I2L.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2L.java
index 987bb494..70997c13
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/I2L.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2L.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * I2L - Convert int to long
- *
Stack: ..., value -> ..., result.word1, result.word2
- *
- * @version $Id: I2L.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class I2L extends ConversionInstruction {
-
- /** Convert int to long
- */
- public I2L() {
- super(org.apache.bcel5_2_0.Constants.I2L);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitConversionInstruction(this);
- v.visitI2L(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * I2L - Convert int to long
+ *
Stack: ..., value -> ..., result.word1, result.word2
+ *
+ * @version $Id: I2L.java 1747278 2016-06-07 17:28:43Z britter $
+ */
+public class I2L extends ConversionInstruction {
+
+ /** Convert int to long
+ */
+ public I2L() {
+ super(org.apache.bcel.Const.I2L);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitConversionInstruction(this);
+ v.visitI2L(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/I2S.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2S.java
old mode 100755
new mode 100644
similarity index 59%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/I2S.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2S.java
index d25dc6c2..c2952a17
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/I2S.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2S.java
@@ -1,48 +1,49 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * I2S - Convert int to short
- *
Stack: ..., value -> ..., result
- *
- * @version $Id: I2S.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class I2S extends ConversionInstruction {
-
- public I2S() {
- super(org.apache.bcel5_2_0.Constants.I2S);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitConversionInstruction(this);
- v.visitI2S(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * I2S - Convert int to short
+ *
Stack: ..., value -> ..., result
+ *
+ * @version $Id: I2S.java 1747278 2016-06-07 17:28:43Z britter $
+ */
+public class I2S extends ConversionInstruction {
+
+ public I2S() {
+ super(org.apache.bcel.Const.I2S);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitConversionInstruction(this);
+ v.visitI2S(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IADD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IADD.java
old mode 100755
new mode 100644
similarity index 59%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IADD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IADD.java
index c1923921..d8d1e07d
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IADD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IADD.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IADD - Add ints
- *
Stack: ..., value1, value2 -> result
- *
- * @version $Id: IADD.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IADD extends ArithmeticInstruction {
-
- /** Add ints
- */
- public IADD() {
- super(org.apache.bcel5_2_0.Constants.IADD);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitIADD(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IADD - Add ints
+ *
Stack: ..., value1, value2 -> result
+ *
+ * @version $Id: IADD.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class IADD extends ArithmeticInstruction {
+
+ /** Add ints
+ */
+ public IADD() {
+ super(org.apache.bcel.Const.IADD);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitIADD(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IALOAD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IALOAD.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IALOAD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IALOAD.java
index 02b9f5f6..ceab7fcd
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IALOAD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IALOAD.java
@@ -1,51 +1,52 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IALOAD - Load int from array
- *
Stack: ..., arrayref, index -> ..., value
- *
- * @version $Id: IALOAD.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IALOAD extends ArrayInstruction implements StackProducer {
-
- /**
- * Load int from array
- */
- public IALOAD() {
- super(org.apache.bcel5_2_0.Constants.IALOAD);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackProducer(this);
- v.visitExceptionThrower(this);
- v.visitTypedInstruction(this);
- v.visitArrayInstruction(this);
- v.visitIALOAD(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IALOAD - Load int from array
+ *
Stack: ..., arrayref, index -> ..., value
+ *
+ * @version $Id: IALOAD.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class IALOAD extends ArrayInstruction implements StackProducer {
+
+ /**
+ * Load int from array
+ */
+ public IALOAD() {
+ super(org.apache.bcel.Const.IALOAD);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackProducer(this);
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitArrayInstruction(this);
+ v.visitIALOAD(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IAND.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IAND.java
old mode 100755
new mode 100644
similarity index 59%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IAND.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IAND.java
index 89b0121d..e2f4a2d1
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IAND.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IAND.java
@@ -1,48 +1,49 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IAND - Bitwise AND int
- *
Stack: ..., value1, value2 -> ..., result
- *
- * @version $Id: IAND.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IAND extends ArithmeticInstruction {
-
- public IAND() {
- super(org.apache.bcel5_2_0.Constants.IAND);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitIAND(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IAND - Bitwise AND int
+ *
Stack: ..., value1, value2 -> ..., result
+ *
+ * @version $Id: IAND.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class IAND extends ArithmeticInstruction {
+
+ public IAND() {
+ super(org.apache.bcel.Const.IAND);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitIAND(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IASTORE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IASTORE.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IASTORE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IASTORE.java
index 065e544e..97695196
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IASTORE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IASTORE.java
@@ -1,51 +1,52 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IASTORE - Store into int array
- *
Stack: ..., arrayref, index, value -> ...
- *
- * @version $Id: IASTORE.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IASTORE extends ArrayInstruction implements StackConsumer {
-
- /**
- * Store into int array
- */
- public IASTORE() {
- super(org.apache.bcel5_2_0.Constants.IASTORE);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackConsumer(this);
- v.visitExceptionThrower(this);
- v.visitTypedInstruction(this);
- v.visitArrayInstruction(this);
- v.visitIASTORE(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IASTORE - Store into int array
+ *
Stack: ..., arrayref, index, value -> ...
+ *
+ * @version $Id: IASTORE.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class IASTORE extends ArrayInstruction implements StackConsumer {
+
+ /**
+ * Store into int array
+ */
+ public IASTORE() {
+ super(org.apache.bcel.Const.IASTORE);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackConsumer(this);
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitArrayInstruction(this);
+ v.visitIASTORE(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ICONST.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ICONST.java
old mode 100755
new mode 100644
similarity index 55%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ICONST.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ICONST.java
index efe7d25f..cc602854
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ICONST.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ICONST.java
@@ -1,78 +1,81 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * ICONST - Push value between -1, ..., 5, other values cause an exception
- *
- *
Stack: ... -> ...,
- *
- * @version $Id: ICONST.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class ICONST extends Instruction implements ConstantPushInstruction, TypedInstruction {
-
- private int value;
-
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- ICONST() {
- }
-
-
- public ICONST(int i) {
- super(org.apache.bcel5_2_0.Constants.ICONST_0, (short) 1);
- if ((i >= -1) && (i <= 5)) {
- opcode = (short) (org.apache.bcel5_2_0.Constants.ICONST_0 + i); // Even works for i == -1
- } else {
- throw new ClassGenException("ICONST can be used only for value between -1 and 5: " + i);
- }
- value = i;
- }
-
-
- public Number getValue() {
- return new Integer(value);
- }
-
-
- /** @return Type.INT
- */
- public Type getType( ConstantPoolGen cp ) {
- return Type.INT;
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitPushInstruction(this);
- v.visitStackProducer(this);
- v.visitTypedInstruction(this);
- v.visitConstantPushInstruction(this);
- v.visitICONST(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * ICONST - Push value between -1, ..., 5, other values cause an exception
+ *
+ *
Stack: ... -> ...,
+ *
+ * @version $Id: ICONST.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class ICONST extends Instruction implements ConstantPushInstruction {
+
+ private int value;
+
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ ICONST() {
+ }
+
+
+ public ICONST(final int i) {
+ super(org.apache.bcel.Const.ICONST_0, (short) 1);
+ if ((i >= -1) && (i <= 5)) {
+ super.setOpcode((short) (org.apache.bcel.Const.ICONST_0 + i)); // Even works for i == -1
+ } else {
+ throw new ClassGenException("ICONST can be used only for value between -1 and 5: " + i);
+ }
+ value = i;
+ }
+
+
+ @Override
+ public Number getValue() {
+ return Integer.valueOf(value);
+ }
+
+
+ /** @return Type.INT
+ */
+ @Override
+ public Type getType( final ConstantPoolGen cp ) {
+ return Type.INT;
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitPushInstruction(this);
+ v.visitStackProducer(this);
+ v.visitTypedInstruction(this);
+ v.visitConstantPushInstruction(this);
+ v.visitICONST(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IDIV.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IDIV.java
old mode 100755
new mode 100644
similarity index 58%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IDIV.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IDIV.java
index 5182cb1c..8c169e24
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IDIV.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IDIV.java
@@ -1,60 +1,64 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IDIV - Divide ints
- *
Stack: ..., value1, value2 -> result
- *
- * @version $Id: IDIV.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IDIV extends ArithmeticInstruction implements ExceptionThrower {
-
- /** Divide ints
- */
- public IDIV() {
- super(org.apache.bcel5_2_0.Constants.IDIV);
- }
-
-
- /** @return exceptions this instruction may cause
- */
- public Class[] getExceptions() {
- return new Class[] {
- org.apache.bcel5_2_0.ExceptionConstants.ARITHMETIC_EXCEPTION
- };
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitExceptionThrower(this);
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitIDIV(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import org.apache.bcel.ExceptionConst;
+
+/**
+ * IDIV - Divide ints
+ *
Stack: ..., value1, value2 -> result
+ *
+ * @version $Id: IDIV.java 1747278 2016-06-07 17:28:43Z britter $
+ */
+public class IDIV extends ArithmeticInstruction implements ExceptionThrower {
+
+ /** Divide ints
+ */
+ public IDIV() {
+ super(org.apache.bcel.Const.IDIV);
+ }
+
+
+ /** @return exceptions this instruction may cause
+ */
+ @Override
+ public Class>[] getExceptions() {
+ return new Class[] {
+ ExceptionConst.ARITHMETIC_EXCEPTION
+ };
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitIDIV(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFEQ.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFEQ.java
old mode 100755
new mode 100644
similarity index 54%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFEQ.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFEQ.java
index eda70a65..e6f1378b
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFEQ.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFEQ.java
@@ -1,64 +1,66 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IFEQ - Branch if int comparison with zero succeeds
- *
- *
Stack: ..., value -> ...
- *
- * @version $Id: IFEQ.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IFEQ extends IfInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- IFEQ() {
- }
-
-
- public IFEQ(InstructionHandle target) {
- super(org.apache.bcel5_2_0.Constants.IFEQ, target);
- }
-
-
- /**
- * @return negation of instruction, e.g. IFEQ.negate() == IFNE
- */
- public IfInstruction negate() {
- return new IFNE(target);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackConsumer(this);
- v.visitBranchInstruction(this);
- v.visitIfInstruction(this);
- v.visitIFEQ(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IFEQ - Branch if int comparison with zero succeeds
+ *
+ *
Stack: ..., value -> ...
+ *
+ * @version $Id: IFEQ.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class IFEQ extends IfInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ IFEQ() {
+ }
+
+
+ public IFEQ(final InstructionHandle target) {
+ super(org.apache.bcel.Const.IFEQ, target);
+ }
+
+
+ /**
+ * @return negation of instruction, e.g. IFEQ.negate() == IFNE
+ */
+ @Override
+ public IfInstruction negate() {
+ return new IFNE(super.getTarget());
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackConsumer(this);
+ v.visitBranchInstruction(this);
+ v.visitIfInstruction(this);
+ v.visitIFEQ(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFGE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFGE.java
old mode 100755
new mode 100644
similarity index 54%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFGE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFGE.java
index ff392234..edd6a6a7
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFGE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFGE.java
@@ -1,64 +1,66 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IFGE - Branch if int comparison with zero succeeds
- *
- *
Stack: ..., value -> ...
- *
- * @version $Id: IFGE.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IFGE extends IfInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- IFGE() {
- }
-
-
- public IFGE(InstructionHandle target) {
- super(org.apache.bcel5_2_0.Constants.IFGE, target);
- }
-
-
- /**
- * @return negation of instruction
- */
- public IfInstruction negate() {
- return new IFLT(target);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackConsumer(this);
- v.visitBranchInstruction(this);
- v.visitIfInstruction(this);
- v.visitIFGE(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IFGE - Branch if int comparison with zero succeeds
+ *
+ *
Stack: ..., value -> ...
+ *
+ * @version $Id: IFGE.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class IFGE extends IfInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ IFGE() {
+ }
+
+
+ public IFGE(final InstructionHandle target) {
+ super(org.apache.bcel.Const.IFGE, target);
+ }
+
+
+ /**
+ * @return negation of instruction
+ */
+ @Override
+ public IfInstruction negate() {
+ return new IFLT(super.getTarget());
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackConsumer(this);
+ v.visitBranchInstruction(this);
+ v.visitIfInstruction(this);
+ v.visitIFGE(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFGT.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFGT.java
old mode 100755
new mode 100644
similarity index 54%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFGT.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFGT.java
index 9762316c..0e37a531
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFGT.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFGT.java
@@ -1,64 +1,66 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IFGT - Branch if int comparison with zero succeeds
- *
- *
Stack: ..., value -> ...
- *
- * @version $Id: IFGT.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IFGT extends IfInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- IFGT() {
- }
-
-
- public IFGT(InstructionHandle target) {
- super(org.apache.bcel5_2_0.Constants.IFGT, target);
- }
-
-
- /**
- * @return negation of instruction
- */
- public IfInstruction negate() {
- return new IFLE(target);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackConsumer(this);
- v.visitBranchInstruction(this);
- v.visitIfInstruction(this);
- v.visitIFGT(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IFGT - Branch if int comparison with zero succeeds
+ *
+ *
Stack: ..., value -> ...
+ *
+ * @version $Id: IFGT.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class IFGT extends IfInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ IFGT() {
+ }
+
+
+ public IFGT(final InstructionHandle target) {
+ super(org.apache.bcel.Const.IFGT, target);
+ }
+
+
+ /**
+ * @return negation of instruction
+ */
+ @Override
+ public IfInstruction negate() {
+ return new IFLE(super.getTarget());
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackConsumer(this);
+ v.visitBranchInstruction(this);
+ v.visitIfInstruction(this);
+ v.visitIFGT(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFLE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFLE.java
old mode 100755
new mode 100644
similarity index 54%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFLE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFLE.java
index bf97deac..7b696e20
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFLE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFLE.java
@@ -1,64 +1,66 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IFLE - Branch if int comparison with zero succeeds
- *
- *
Stack: ..., value -> ...
- *
- * @version $Id: IFLE.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IFLE extends IfInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- IFLE() {
- }
-
-
- public IFLE(InstructionHandle target) {
- super(org.apache.bcel5_2_0.Constants.IFLE, target);
- }
-
-
- /**
- * @return negation of instruction
- */
- public IfInstruction negate() {
- return new IFGT(target);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackConsumer(this);
- v.visitBranchInstruction(this);
- v.visitIfInstruction(this);
- v.visitIFLE(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IFLE - Branch if int comparison with zero succeeds
+ *
+ *
Stack: ..., value -> ...
+ *
+ * @version $Id: IFLE.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class IFLE extends IfInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ IFLE() {
+ }
+
+
+ public IFLE(final InstructionHandle target) {
+ super(org.apache.bcel.Const.IFLE, target);
+ }
+
+
+ /**
+ * @return negation of instruction
+ */
+ @Override
+ public IfInstruction negate() {
+ return new IFGT(super.getTarget());
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackConsumer(this);
+ v.visitBranchInstruction(this);
+ v.visitIfInstruction(this);
+ v.visitIFLE(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFLT.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFLT.java
old mode 100755
new mode 100644
similarity index 54%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFLT.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFLT.java
index a8a98bd3..520b67e1
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFLT.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFLT.java
@@ -1,64 +1,66 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IFLT - Branch if int comparison with zero succeeds
- *
- *
Stack: ..., value -> ...
- *
- * @version $Id: IFLT.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IFLT extends IfInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- IFLT() {
- }
-
-
- public IFLT(InstructionHandle target) {
- super(org.apache.bcel5_2_0.Constants.IFLT, target);
- }
-
-
- /**
- * @return negation of instruction
- */
- public IfInstruction negate() {
- return new IFGE(target);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackConsumer(this);
- v.visitBranchInstruction(this);
- v.visitIfInstruction(this);
- v.visitIFLT(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IFLT - Branch if int comparison with zero succeeds
+ *
+ *
Stack: ..., value -> ...
+ *
+ * @version $Id: IFLT.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class IFLT extends IfInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ IFLT() {
+ }
+
+
+ public IFLT(final InstructionHandle target) {
+ super(org.apache.bcel.Const.IFLT, target);
+ }
+
+
+ /**
+ * @return negation of instruction
+ */
+ @Override
+ public IfInstruction negate() {
+ return new IFGE(super.getTarget());
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackConsumer(this);
+ v.visitBranchInstruction(this);
+ v.visitIfInstruction(this);
+ v.visitIFLT(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFNE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFNE.java
old mode 100755
new mode 100644
similarity index 54%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFNE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFNE.java
index 4b480086..7b4d536e
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFNE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFNE.java
@@ -1,64 +1,66 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IFNE - Branch if int comparison with zero succeeds
- *
- *
Stack: ..., value -> ...
- *
- * @version $Id: IFNE.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IFNE extends IfInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- IFNE() {
- }
-
-
- public IFNE(InstructionHandle target) {
- super(org.apache.bcel5_2_0.Constants.IFNE, target);
- }
-
-
- /**
- * @return negation of instruction
- */
- public IfInstruction negate() {
- return new IFEQ(target);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackConsumer(this);
- v.visitBranchInstruction(this);
- v.visitIfInstruction(this);
- v.visitIFNE(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IFNE - Branch if int comparison with zero succeeds
+ *
+ *
Stack: ..., value -> ...
+ *
+ * @version $Id: IFNE.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class IFNE extends IfInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ IFNE() {
+ }
+
+
+ public IFNE(final InstructionHandle target) {
+ super(org.apache.bcel.Const.IFNE, target);
+ }
+
+
+ /**
+ * @return negation of instruction
+ */
+ @Override
+ public IfInstruction negate() {
+ return new IFEQ(super.getTarget());
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackConsumer(this);
+ v.visitBranchInstruction(this);
+ v.visitIfInstruction(this);
+ v.visitIFNE(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFNONNULL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFNONNULL.java
old mode 100755
new mode 100644
similarity index 54%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFNONNULL.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFNONNULL.java
index 9cc2ba44..25e62b50
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFNONNULL.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFNONNULL.java
@@ -1,64 +1,66 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IFNONNULL - Branch if reference is not null
- *
- *
Stack: ..., reference -> ...
- *
- * @version $Id: IFNONNULL.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IFNONNULL extends IfInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- IFNONNULL() {
- }
-
-
- public IFNONNULL(InstructionHandle target) {
- super(org.apache.bcel5_2_0.Constants.IFNONNULL, target);
- }
-
-
- /**
- * @return negation of instruction
- */
- public IfInstruction negate() {
- return new IFNULL(target);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackConsumer(this);
- v.visitBranchInstruction(this);
- v.visitIfInstruction(this);
- v.visitIFNONNULL(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IFNONNULL - Branch if reference is not null
+ *
+ *
Stack: ..., reference -> ...
+ *
+ * @version $Id: IFNONNULL.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class IFNONNULL extends IfInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ IFNONNULL() {
+ }
+
+
+ public IFNONNULL(final InstructionHandle target) {
+ super(org.apache.bcel.Const.IFNONNULL, target);
+ }
+
+
+ /**
+ * @return negation of instruction
+ */
+ @Override
+ public IfInstruction negate() {
+ return new IFNULL(super.getTarget());
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackConsumer(this);
+ v.visitBranchInstruction(this);
+ v.visitIfInstruction(this);
+ v.visitIFNONNULL(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFNULL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFNULL.java
old mode 100755
new mode 100644
similarity index 53%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFNULL.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFNULL.java
index 4e3bd88d..702d469a
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IFNULL.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFNULL.java
@@ -1,64 +1,66 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IFNULL - Branch if reference is not null
- *
- *
Stack: ..., reference -> ...
- *
- * @version $Id: IFNULL.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IFNULL extends IfInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- IFNULL() {
- }
-
-
- public IFNULL(InstructionHandle target) {
- super(org.apache.bcel5_2_0.Constants.IFNULL, target);
- }
-
-
- /**
- * @return negation of instruction
- */
- public IfInstruction negate() {
- return new IFNONNULL(target);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackConsumer(this);
- v.visitBranchInstruction(this);
- v.visitIfInstruction(this);
- v.visitIFNULL(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IFNULL - Branch if reference is not null
+ *
+ *
Stack: ..., reference -> ...
+ *
+ * @version $Id: IFNULL.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class IFNULL extends IfInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ IFNULL() {
+ }
+
+
+ public IFNULL(final InstructionHandle target) {
+ super(org.apache.bcel.Const.IFNULL, target);
+ }
+
+
+ /**
+ * @return negation of instruction
+ */
+ @Override
+ public IfInstruction negate() {
+ return new IFNONNULL(super.getTarget());
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackConsumer(this);
+ v.visitBranchInstruction(this);
+ v.visitIfInstruction(this);
+ v.visitIFNULL(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ACMPEQ.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ACMPEQ.java
old mode 100755
new mode 100644
similarity index 54%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ACMPEQ.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ACMPEQ.java
index 9977b477..ce5a8594
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ACMPEQ.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ACMPEQ.java
@@ -1,64 +1,66 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IF_ACMPEQ - Branch if reference comparison succeeds
- *
- *
Stack: ..., value1, value2 -> ...
- *
- * @version $Id: IF_ACMPEQ.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IF_ACMPEQ extends IfInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- IF_ACMPEQ() {
- }
-
-
- public IF_ACMPEQ(InstructionHandle target) {
- super(org.apache.bcel5_2_0.Constants.IF_ACMPEQ, target);
- }
-
-
- /**
- * @return negation of instruction
- */
- public IfInstruction negate() {
- return new IF_ACMPNE(target);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackConsumer(this);
- v.visitBranchInstruction(this);
- v.visitIfInstruction(this);
- v.visitIF_ACMPEQ(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IF_ACMPEQ - Branch if reference comparison succeeds
+ *
+ *
Stack: ..., value1, value2 -> ...
+ *
+ * @version $Id: IF_ACMPEQ.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class IF_ACMPEQ extends IfInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ IF_ACMPEQ() {
+ }
+
+
+ public IF_ACMPEQ(final InstructionHandle target) {
+ super(org.apache.bcel.Const.IF_ACMPEQ, target);
+ }
+
+
+ /**
+ * @return negation of instruction
+ */
+ @Override
+ public IfInstruction negate() {
+ return new IF_ACMPNE(super.getTarget());
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackConsumer(this);
+ v.visitBranchInstruction(this);
+ v.visitIfInstruction(this);
+ v.visitIF_ACMPEQ(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ACMPNE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ACMPNE.java
old mode 100755
new mode 100644
similarity index 54%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ACMPNE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ACMPNE.java
index 3ec803fb..1ad7c2f5
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ACMPNE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ACMPNE.java
@@ -1,64 +1,66 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IF_ACMPNE - Branch if reference comparison doesn't succeed
- *
- *
Stack: ..., value1, value2 -> ...
- *
- * @version $Id: IF_ACMPNE.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IF_ACMPNE extends IfInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- IF_ACMPNE() {
- }
-
-
- public IF_ACMPNE(InstructionHandle target) {
- super(org.apache.bcel5_2_0.Constants.IF_ACMPNE, target);
- }
-
-
- /**
- * @return negation of instruction
- */
- public IfInstruction negate() {
- return new IF_ACMPEQ(target);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackConsumer(this);
- v.visitBranchInstruction(this);
- v.visitIfInstruction(this);
- v.visitIF_ACMPNE(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IF_ACMPNE - Branch if reference comparison doesn't succeed
+ *
+ *
Stack: ..., value1, value2 -> ...
+ *
+ * @version $Id: IF_ACMPNE.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class IF_ACMPNE extends IfInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ IF_ACMPNE() {
+ }
+
+
+ public IF_ACMPNE(final InstructionHandle target) {
+ super(org.apache.bcel.Const.IF_ACMPNE, target);
+ }
+
+
+ /**
+ * @return negation of instruction
+ */
+ @Override
+ public IfInstruction negate() {
+ return new IF_ACMPEQ(super.getTarget());
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackConsumer(this);
+ v.visitBranchInstruction(this);
+ v.visitIfInstruction(this);
+ v.visitIF_ACMPNE(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ICMPEQ.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPEQ.java
old mode 100755
new mode 100644
similarity index 54%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ICMPEQ.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPEQ.java
index 73a7d6f9..f1018140
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ICMPEQ.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPEQ.java
@@ -1,64 +1,66 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IF_ICMPEQ - Branch if int comparison succeeds
- *
- *
Stack: ..., value1, value2 -> ...
- *
- * @version $Id: IF_ICMPEQ.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IF_ICMPEQ extends IfInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- IF_ICMPEQ() {
- }
-
-
- public IF_ICMPEQ(InstructionHandle target) {
- super(org.apache.bcel5_2_0.Constants.IF_ICMPEQ, target);
- }
-
-
- /**
- * @return negation of instruction
- */
- public IfInstruction negate() {
- return new IF_ICMPNE(target);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackConsumer(this);
- v.visitBranchInstruction(this);
- v.visitIfInstruction(this);
- v.visitIF_ICMPEQ(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IF_ICMPEQ - Branch if int comparison succeeds
+ *
+ *
Stack: ..., value1, value2 -> ...
+ *
+ * @version $Id: IF_ICMPEQ.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class IF_ICMPEQ extends IfInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ IF_ICMPEQ() {
+ }
+
+
+ public IF_ICMPEQ(final InstructionHandle target) {
+ super(org.apache.bcel.Const.IF_ICMPEQ, target);
+ }
+
+
+ /**
+ * @return negation of instruction
+ */
+ @Override
+ public IfInstruction negate() {
+ return new IF_ICMPNE(super.getTarget());
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackConsumer(this);
+ v.visitBranchInstruction(this);
+ v.visitIfInstruction(this);
+ v.visitIF_ICMPEQ(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ICMPGE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPGE.java
old mode 100755
new mode 100644
similarity index 54%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ICMPGE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPGE.java
index 96034c2e..a31dda68
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ICMPGE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPGE.java
@@ -1,64 +1,66 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IF_ICMPGE - Branch if int comparison succeeds
- *
- *
Stack: ..., value1, value2 -> ...
- *
- * @version $Id: IF_ICMPGE.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IF_ICMPGE extends IfInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- IF_ICMPGE() {
- }
-
-
- public IF_ICMPGE(InstructionHandle target) {
- super(org.apache.bcel5_2_0.Constants.IF_ICMPGE, target);
- }
-
-
- /**
- * @return negation of instruction
- */
- public IfInstruction negate() {
- return new IF_ICMPLT(target);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackConsumer(this);
- v.visitBranchInstruction(this);
- v.visitIfInstruction(this);
- v.visitIF_ICMPGE(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IF_ICMPGE - Branch if int comparison succeeds
+ *
+ *
Stack: ..., value1, value2 -> ...
+ *
+ * @version $Id: IF_ICMPGE.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class IF_ICMPGE extends IfInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ IF_ICMPGE() {
+ }
+
+
+ public IF_ICMPGE(final InstructionHandle target) {
+ super(org.apache.bcel.Const.IF_ICMPGE, target);
+ }
+
+
+ /**
+ * @return negation of instruction
+ */
+ @Override
+ public IfInstruction negate() {
+ return new IF_ICMPLT(super.getTarget());
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackConsumer(this);
+ v.visitBranchInstruction(this);
+ v.visitIfInstruction(this);
+ v.visitIF_ICMPGE(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ICMPGT.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPGT.java
old mode 100755
new mode 100644
similarity index 54%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ICMPGT.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPGT.java
index 3ea29a5a..64af7dbc
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ICMPGT.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPGT.java
@@ -1,64 +1,66 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IF_ICMPGT - Branch if int comparison succeeds
- *
- *
Stack: ..., value1, value2 -> ...
- *
- * @version $Id: IF_ICMPGT.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IF_ICMPGT extends IfInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- IF_ICMPGT() {
- }
-
-
- public IF_ICMPGT(InstructionHandle target) {
- super(org.apache.bcel5_2_0.Constants.IF_ICMPGT, target);
- }
-
-
- /**
- * @return negation of instruction
- */
- public IfInstruction negate() {
- return new IF_ICMPLE(target);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackConsumer(this);
- v.visitBranchInstruction(this);
- v.visitIfInstruction(this);
- v.visitIF_ICMPGT(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IF_ICMPGT - Branch if int comparison succeeds
+ *
+ *
Stack: ..., value1, value2 -> ...
+ *
+ * @version $Id: IF_ICMPGT.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class IF_ICMPGT extends IfInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ IF_ICMPGT() {
+ }
+
+
+ public IF_ICMPGT(final InstructionHandle target) {
+ super(org.apache.bcel.Const.IF_ICMPGT, target);
+ }
+
+
+ /**
+ * @return negation of instruction
+ */
+ @Override
+ public IfInstruction negate() {
+ return new IF_ICMPLE(super.getTarget());
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackConsumer(this);
+ v.visitBranchInstruction(this);
+ v.visitIfInstruction(this);
+ v.visitIF_ICMPGT(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ICMPLE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPLE.java
old mode 100755
new mode 100644
similarity index 54%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ICMPLE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPLE.java
index 08e803f9..0cd2db5e
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ICMPLE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPLE.java
@@ -1,64 +1,66 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IF_ICMPLE - Branch if int comparison succeeds
- *
- *
Stack: ..., value1, value2 -> ...
- *
- * @version $Id: IF_ICMPLE.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IF_ICMPLE extends IfInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- IF_ICMPLE() {
- }
-
-
- public IF_ICMPLE(InstructionHandle target) {
- super(org.apache.bcel5_2_0.Constants.IF_ICMPLE, target);
- }
-
-
- /**
- * @return negation of instruction
- */
- public IfInstruction negate() {
- return new IF_ICMPGT(target);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackConsumer(this);
- v.visitBranchInstruction(this);
- v.visitIfInstruction(this);
- v.visitIF_ICMPLE(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IF_ICMPLE - Branch if int comparison succeeds
+ *
+ *
Stack: ..., value1, value2 -> ...
+ *
+ * @version $Id: IF_ICMPLE.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class IF_ICMPLE extends IfInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ IF_ICMPLE() {
+ }
+
+
+ public IF_ICMPLE(final InstructionHandle target) {
+ super(org.apache.bcel.Const.IF_ICMPLE, target);
+ }
+
+
+ /**
+ * @return negation of instruction
+ */
+ @Override
+ public IfInstruction negate() {
+ return new IF_ICMPGT(super.getTarget());
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackConsumer(this);
+ v.visitBranchInstruction(this);
+ v.visitIfInstruction(this);
+ v.visitIF_ICMPLE(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ICMPLT.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPLT.java
old mode 100755
new mode 100644
similarity index 54%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ICMPLT.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPLT.java
index 14374d95..ce5cec1b
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ICMPLT.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPLT.java
@@ -1,64 +1,66 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IF_ICMPLT - Branch if int comparison succeeds
- *
- *
Stack: ..., value1, value2 -> ...
- *
- * @version $Id: IF_ICMPLT.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IF_ICMPLT extends IfInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- IF_ICMPLT() {
- }
-
-
- public IF_ICMPLT(InstructionHandle target) {
- super(org.apache.bcel5_2_0.Constants.IF_ICMPLT, target);
- }
-
-
- /**
- * @return negation of instruction
- */
- public IfInstruction negate() {
- return new IF_ICMPGE(target);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackConsumer(this);
- v.visitBranchInstruction(this);
- v.visitIfInstruction(this);
- v.visitIF_ICMPLT(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IF_ICMPLT - Branch if int comparison succeeds
+ *
+ *
Stack: ..., value1, value2 -> ...
+ *
+ * @version $Id: IF_ICMPLT.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class IF_ICMPLT extends IfInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ IF_ICMPLT() {
+ }
+
+
+ public IF_ICMPLT(final InstructionHandle target) {
+ super(org.apache.bcel.Const.IF_ICMPLT, target);
+ }
+
+
+ /**
+ * @return negation of instruction
+ */
+ @Override
+ public IfInstruction negate() {
+ return new IF_ICMPGE(super.getTarget());
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackConsumer(this);
+ v.visitBranchInstruction(this);
+ v.visitIfInstruction(this);
+ v.visitIF_ICMPLT(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ICMPNE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPNE.java
old mode 100755
new mode 100644
similarity index 54%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ICMPNE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPNE.java
index d8c407f3..e9e139b4
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IF_ICMPNE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPNE.java
@@ -1,64 +1,66 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IF_ICMPNE - Branch if int comparison doesn't succeed
- *
- *
Stack: ..., value1, value2 -> ...
- *
- * @version $Id: IF_ICMPNE.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IF_ICMPNE extends IfInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- IF_ICMPNE() {
- }
-
-
- public IF_ICMPNE(InstructionHandle target) {
- super(org.apache.bcel5_2_0.Constants.IF_ICMPNE, target);
- }
-
-
- /**
- * @return negation of instruction
- */
- public IfInstruction negate() {
- return new IF_ICMPEQ(target);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitStackConsumer(this);
- v.visitBranchInstruction(this);
- v.visitIfInstruction(this);
- v.visitIF_ICMPNE(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IF_ICMPNE - Branch if int comparison doesn't succeed
+ *
+ *
Stack: ..., value1, value2 -> ...
+ *
+ * @version $Id: IF_ICMPNE.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class IF_ICMPNE extends IfInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ IF_ICMPNE() {
+ }
+
+
+ public IF_ICMPNE(final InstructionHandle target) {
+ super(org.apache.bcel.Const.IF_ICMPNE, target);
+ }
+
+
+ /**
+ * @return negation of instruction
+ */
+ @Override
+ public IfInstruction negate() {
+ return new IF_ICMPEQ(super.getTarget());
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitStackConsumer(this);
+ v.visitBranchInstruction(this);
+ v.visitIfInstruction(this);
+ v.visitIF_ICMPNE(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IINC.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IINC.java
old mode 100755
new mode 100644
similarity index 51%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IINC.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IINC.java
index 22669130..bc4411e8
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IINC.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IINC.java
@@ -1,159 +1,170 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import org.apache.bcel5_2_0.util.ByteSequence;
-
-/**
- * IINC - Increment local variable by constant
- *
- * @version $Id: IINC.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IINC extends LocalVariableInstruction {
-
- private boolean wide;
- private int c;
-
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- IINC() {
- }
-
-
- /**
- * @param n index of local variable
- * @param c increment factor
- */
- public IINC(int n, int c) {
- super(); // Default behaviour of LocalVariableInstruction causes error
- this.opcode = org.apache.bcel5_2_0.Constants.IINC;
- this.length = (short) 3;
- setIndex(n); // May set wide as side effect
- setIncrement(c);
- }
-
-
- /**
- * Dump instruction as byte code to stream out.
- * @param out Output stream
- */
- public void dump( DataOutputStream out ) throws IOException {
- if (wide) {
- out.writeByte(org.apache.bcel5_2_0.Constants.WIDE);
- }
- out.writeByte(opcode);
- if (wide) {
- out.writeShort(n);
- out.writeShort(c);
- } else {
- out.writeByte(n);
- out.writeByte(c);
- }
- }
-
-
- private final void setWide() {
- wide = (n > org.apache.bcel5_2_0.Constants.MAX_BYTE) || (Math.abs(c) > Byte.MAX_VALUE);
- if (wide) {
- length = 6; // wide byte included
- } else {
- length = 3;
- }
- }
-
-
- /**
- * Read needed data (e.g. index) from file.
- */
- protected void initFromFile( ByteSequence bytes, boolean wide ) throws IOException {
- this.wide = wide;
- if (wide) {
- length = 6;
- n = bytes.readUnsignedShort();
- c = bytes.readShort();
- } else {
- length = 3;
- n = bytes.readUnsignedByte();
- c = bytes.readByte();
- }
- }
-
-
- /**
- * @return mnemonic for instruction
- */
- public String toString( boolean verbose ) {
- return super.toString(verbose) + " " + c;
- }
-
-
- /**
- * Set index of local variable.
- */
- public final void setIndex( int n ) {
- if (n < 0) {
- throw new ClassGenException("Negative index value: " + n);
- }
- this.n = n;
- setWide();
- }
-
-
- /**
- * @return increment factor
- */
- public final int getIncrement() {
- return c;
- }
-
-
- /**
- * Set increment factor.
- */
- public final void setIncrement( int c ) {
- this.c = c;
- setWide();
- }
-
-
- /** @return int type
- */
- public Type getType( ConstantPoolGen cp ) {
- return Type.INT;
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitLocalVariableInstruction(this);
- v.visitIINC(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.util.ByteSequence;
+
+/**
+ * IINC - Increment local variable by constant
+ *
+ * @version $Id: IINC.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class IINC extends LocalVariableInstruction {
+
+ private boolean wide;
+ private int c;
+
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ IINC() {
+ }
+
+
+ /**
+ * @param n index of local variable
+ * @param c increment factor
+ */
+ public IINC(final int n, final int c) {
+ super(); // Default behaviour of LocalVariableInstruction causes error
+ super.setOpcode(org.apache.bcel.Const.IINC);
+ super.setLength((short) 3);
+ setIndex(n); // May set wide as side effect
+ setIncrement(c);
+ }
+
+
+ /**
+ * Dump instruction as byte code to stream out.
+ * @param out Output stream
+ */
+ @Override
+ public void dump( final DataOutputStream out ) throws IOException {
+ if (wide) {
+ out.writeByte(org.apache.bcel.Const.WIDE);
+ }
+ out.writeByte(super.getOpcode());
+ if (wide) {
+ out.writeShort(super.getIndex());
+ out.writeShort(c);
+ } else {
+ out.writeByte(super.getIndex());
+ out.writeByte(c);
+ }
+ }
+
+
+ private void setWide() {
+ wide = super.getIndex() > org.apache.bcel.Const.MAX_BYTE;
+ if (c > 0) {
+ wide = wide || (c > Byte.MAX_VALUE);
+ } else {
+ wide = wide || (c < Byte.MIN_VALUE);
+ }
+ if (wide) {
+ super.setLength(6); // wide byte included
+ } else {
+ super.setLength(3);
+ }
+ }
+
+
+ /**
+ * Read needed data (e.g. index) from file.
+ */
+ @Override
+ protected void initFromFile( final ByteSequence bytes, final boolean wide ) throws IOException {
+ this.wide = wide;
+ if (wide) {
+ super.setLength(6);
+ super.setIndexOnly(bytes.readUnsignedShort());
+ c = bytes.readShort();
+ } else {
+ super.setLength(3);
+ super.setIndexOnly(bytes.readUnsignedByte());
+ c = bytes.readByte();
+ }
+ }
+
+
+ /**
+ * @return mnemonic for instruction
+ */
+ @Override
+ public String toString( final boolean verbose ) {
+ return super.toString(verbose) + " " + c;
+ }
+
+
+ /**
+ * Set index of local variable.
+ */
+ @Override
+ public final void setIndex( final int n ) {
+ if (n < 0) {
+ throw new ClassGenException("Negative index value: " + n);
+ }
+ super.setIndexOnly(n);
+ setWide();
+ }
+
+
+ /**
+ * @return increment factor
+ */
+ public final int getIncrement() {
+ return c;
+ }
+
+
+ /**
+ * Set increment factor.
+ */
+ public final void setIncrement( final int c ) {
+ this.c = c;
+ setWide();
+ }
+
+
+ /** @return int type
+ */
+ @Override
+ public Type getType( final ConstantPoolGen cp ) {
+ return Type.INT;
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitLocalVariableInstruction(this);
+ v.visitIINC(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ILOAD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ILOAD.java
old mode 100755
new mode 100644
similarity index 51%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ILOAD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ILOAD.java
index 2430ed11..44c3391b
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ILOAD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ILOAD.java
@@ -1,57 +1,58 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * ILOAD - Load int from local variable onto stack
- *
Stack: ... -> ..., result
- *
- * @version $Id: ILOAD.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class ILOAD extends LoadInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- ILOAD() {
- super(org.apache.bcel5_2_0.Constants.ILOAD, org.apache.bcel5_2_0.Constants.ILOAD_0);
- }
-
-
- /** Load int from local variable
- * @param n index of local variable
- */
- public ILOAD(int n) {
- super(org.apache.bcel5_2_0.Constants.ILOAD, org.apache.bcel5_2_0.Constants.ILOAD_0, n);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- super.accept(v);
- v.visitILOAD(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * ILOAD - Load int from local variable onto stack
+ *
Stack: ... -> ..., result
+ *
+ * @version $Id: ILOAD.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class ILOAD extends LoadInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ ILOAD() {
+ super(org.apache.bcel.Const.ILOAD, org.apache.bcel.Const.ILOAD_0);
+ }
+
+
+ /** Load int from local variable
+ * @param n index of local variable
+ */
+ public ILOAD(final int n) {
+ super(org.apache.bcel.Const.ILOAD, org.apache.bcel.Const.ILOAD_0, n);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ super.accept(v);
+ v.visitILOAD(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IMPDEP1.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IMPDEP1.java
old mode 100755
new mode 100644
similarity index 53%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IMPDEP1.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IMPDEP1.java
index 88b3a021..05241539
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IMPDEP1.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IMPDEP1.java
@@ -1,43 +1,44 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IMPDEP1 - Implementation dependent
- *
- * @version $Id: IMPDEP1.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IMPDEP1 extends Instruction {
-
- public IMPDEP1() {
- super(org.apache.bcel5_2_0.Constants.IMPDEP1, (short) 1);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitIMPDEP1(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IMPDEP1 - Implementation dependent
+ *
+ * @version $Id: IMPDEP1.java 1747278 2016-06-07 17:28:43Z britter $
+ */
+public class IMPDEP1 extends Instruction {
+
+ public IMPDEP1() {
+ super(org.apache.bcel.Const.IMPDEP1, (short) 1);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitIMPDEP1(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IMPDEP2.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IMPDEP2.java
old mode 100755
new mode 100644
similarity index 53%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IMPDEP2.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IMPDEP2.java
index 16cf3b4c..dbf9402a
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IMPDEP2.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IMPDEP2.java
@@ -1,43 +1,44 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IMPDEP2 - Implementation dependent
- *
- * @version $Id: IMPDEP2.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IMPDEP2 extends Instruction {
-
- public IMPDEP2() {
- super(org.apache.bcel5_2_0.Constants.IMPDEP2, (short) 1);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitIMPDEP2(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IMPDEP2 - Implementation dependent
+ *
+ * @version $Id: IMPDEP2.java 1747278 2016-06-07 17:28:43Z britter $
+ */
+public class IMPDEP2 extends Instruction {
+
+ public IMPDEP2() {
+ super(org.apache.bcel.Const.IMPDEP2, (short) 1);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitIMPDEP2(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IMUL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IMUL.java
old mode 100755
new mode 100644
similarity index 59%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IMUL.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IMUL.java
index f9ae5876..29699a61
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IMUL.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IMUL.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IMUL - Multiply ints
- *
Stack: ..., value1, value2 -> result
- *
- * @version $Id: IMUL.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IMUL extends ArithmeticInstruction {
-
- /** Multiply ints
- */
- public IMUL() {
- super(org.apache.bcel5_2_0.Constants.IMUL);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitIMUL(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IMUL - Multiply ints
+ *
Stack: ..., value1, value2 -> result
+ *
+ * @version $Id: IMUL.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class IMUL extends ArithmeticInstruction {
+
+ /** Multiply ints
+ */
+ public IMUL() {
+ super(org.apache.bcel.Const.IMUL);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitIMUL(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/INEG.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INEG.java
old mode 100755
new mode 100644
similarity index 59%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/INEG.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INEG.java
index 5d839665..e2c71717
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/INEG.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INEG.java
@@ -1,48 +1,49 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * INEG - Negate int
- *
Stack: ..., value -> ..., result
- *
- * @version $Id: INEG.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class INEG extends ArithmeticInstruction {
-
- public INEG() {
- super(org.apache.bcel5_2_0.Constants.INEG);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitINEG(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * INEG - Negate int
+ *
Stack: ..., value -> ..., result
+ *
+ * @version $Id: INEG.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class INEG extends ArithmeticInstruction {
+
+ public INEG() {
+ super(org.apache.bcel.Const.INEG);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitINEG(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/INSTANCEOF.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INSTANCEOF.java
old mode 100755
new mode 100644
similarity index 54%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/INSTANCEOF.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INSTANCEOF.java
index c1ef93dc..19f42b88
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/INSTANCEOF.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INSTANCEOF.java
@@ -1,73 +1,78 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * INSTANCEOF - Determine if object is of given type
- *
Stack: ..., objectref -> ..., result
- *
- * @version $Id: INSTANCEOF.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class INSTANCEOF extends CPInstruction implements LoadClass, ExceptionThrower,
- StackProducer, StackConsumer {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- INSTANCEOF() {
- }
-
-
- public INSTANCEOF(int index) {
- super(org.apache.bcel5_2_0.Constants.INSTANCEOF, index);
- }
-
-
- public Class[] getExceptions() {
- return org.apache.bcel5_2_0.ExceptionConstants.EXCS_CLASS_AND_INTERFACE_RESOLUTION;
- }
-
-
- public ObjectType getLoadClassType( ConstantPoolGen cpg ) {
- Type t = getType(cpg);
- if (t instanceof ArrayType) {
- t = ((ArrayType) t).getBasicType();
- }
- return (t instanceof ObjectType) ? (ObjectType) t : null;
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitLoadClass(this);
- v.visitExceptionThrower(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitTypedInstruction(this);
- v.visitCPInstruction(this);
- v.visitINSTANCEOF(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import org.apache.bcel.ExceptionConst;
+
+/**
+ * INSTANCEOF - Determine if object is of given type
+ *
Stack: ..., objectref -> ..., result
+ *
+ * @version $Id: INSTANCEOF.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class INSTANCEOF extends CPInstruction implements LoadClass, ExceptionThrower,
+ StackProducer, StackConsumer {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ INSTANCEOF() {
+ }
+
+
+ public INSTANCEOF(final int index) {
+ super(org.apache.bcel.Const.INSTANCEOF, index);
+ }
+
+
+ @Override
+ public Class>[] getExceptions() {
+ return ExceptionConst.createExceptions(ExceptionConst.EXCS.EXCS_CLASS_AND_INTERFACE_RESOLUTION);
+ }
+
+
+ @Override
+ public ObjectType getLoadClassType( final ConstantPoolGen cpg ) {
+ Type t = getType(cpg);
+ if (t instanceof ArrayType) {
+ t = ((ArrayType) t).getBasicType();
+ }
+ return (t instanceof ObjectType) ? (ObjectType) t : null;
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitLoadClass(this);
+ v.visitExceptionThrower(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitTypedInstruction(this);
+ v.visitCPInstruction(this);
+ v.visitINSTANCEOF(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKEDYNAMIC.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKEDYNAMIC.java
new file mode 100644
index 00000000..d512574e
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKEDYNAMIC.java
@@ -0,0 +1,145 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+import org.apache.bcel.ExceptionConst;
+import org.apache.bcel.classfile.ConstantInvokeDynamic;
+import org.apache.bcel.classfile.ConstantNameAndType;
+import org.apache.bcel.classfile.ConstantPool;
+import org.apache.bcel.util.ByteSequence;
+
+/**
+ * Class for INVOKEDYNAMIC. Not an instance of InvokeInstruction, since that class
+ * expects to be able to get the class of the method. Ignores the bootstrap
+ * mechanism entirely.
+ *
+ * @version $Id: InvokeInstruction.java 1152072 2011-07-29 01:54:05Z dbrosius $
+ * @see
+ *
+ * The invokedynamic instruction in The Java Virtual Machine Specification
+ * @since 6.0
+ */
+public class INVOKEDYNAMIC extends InvokeInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ INVOKEDYNAMIC() {
+ }
+
+
+ public INVOKEDYNAMIC(final int index) {
+ super(Const.INVOKEDYNAMIC, index);
+ }
+
+
+ /**
+ * Dump instruction as byte code to stream out.
+ * @param out Output stream
+ */
+ @Override
+ public void dump( final DataOutputStream out ) throws IOException {
+ out.writeByte(super.getOpcode());
+ out.writeShort(super.getIndex());
+ out.writeByte(0);
+ out.writeByte(0);
+ }
+
+
+ /**
+ * Read needed data (i.e., index) from file.
+ */
+ @Override
+ protected void initFromFile( final ByteSequence bytes, final boolean wide ) throws IOException {
+ super.initFromFile(bytes, wide);
+ super.setLength(5);
+ bytes.readByte(); // Skip 0 byte
+ bytes.readByte(); // Skip 0 byte
+ }
+
+
+ /**
+ * @return mnemonic for instruction with symbolic references resolved
+ */
+ @Override
+ public String toString( final ConstantPool cp ) {
+ return super.toString(cp);
+ }
+
+
+ @Override
+ public Class>[] getExceptions() {
+ return ExceptionConst.createExceptions(ExceptionConst.EXCS.EXCS_INTERFACE_METHOD_RESOLUTION,
+ ExceptionConst.UNSATISFIED_LINK_ERROR,
+ ExceptionConst.ABSTRACT_METHOD_ERROR,
+ ExceptionConst.ILLEGAL_ACCESS_ERROR,
+ ExceptionConst.INCOMPATIBLE_CLASS_CHANGE_ERROR);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitStackConsumer(this);
+ v.visitStackProducer(this);
+ v.visitLoadClass(this);
+ v.visitCPInstruction(this);
+ v.visitFieldOrMethod(this);
+ v.visitInvokeInstruction(this);
+ v.visitINVOKEDYNAMIC(this);
+ }
+
+ /**
+ * Override the parent method because our classname is held elsewhere.
+ */
+ @Override
+ public String getClassName( final ConstantPoolGen cpg ) {
+ final ConstantPool cp = cpg.getConstantPool();
+ final ConstantInvokeDynamic cid = (ConstantInvokeDynamic) cp.getConstant(super.getIndex(), Const.CONSTANT_InvokeDynamic);
+ return ((ConstantNameAndType) cp.getConstant(cid.getNameAndTypeIndex())).getName(cp);
+ }
+
+
+ /**
+ * Since InvokeDynamic doesn't refer to a reference type, just return java.lang.Object,
+ * as that is the only type we can say for sure the reference will be.
+ *
+ * @param cpg
+ * the ConstantPoolGen used to create the instruction
+ * @return an ObjectType for java.lang.Object
+ * @since 6.1
+ */
+ @Override
+ public ReferenceType getReferenceType(final ConstantPoolGen cpg) {
+ return new ObjectType(Object.class.getName());
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/INVOKEINTERFACE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKEINTERFACE.java
old mode 100755
new mode 100644
similarity index 51%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/INVOKEINTERFACE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKEINTERFACE.java
index 72d9959c..f2660704
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/INVOKEINTERFACE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKEINTERFACE.java
@@ -1,133 +1,139 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import org.apache.bcel5_2_0.Constants;
-import org.apache.bcel5_2_0.ExceptionConstants;
-import org.apache.bcel5_2_0.classfile.ConstantPool;
-import org.apache.bcel5_2_0.util.ByteSequence;
-
-/**
- * INVOKEINTERFACE - Invoke interface method
- *
Stack: ..., objectref, [arg1, [arg2 ...]] -> ...
- *
- * @version $Id: INVOKEINTERFACE.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public final class INVOKEINTERFACE extends InvokeInstruction {
-
- private int nargs; // Number of arguments on stack (number of stack slots), called "count" in vmspec2
-
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- INVOKEINTERFACE() {
- }
-
-
- public INVOKEINTERFACE(int index, int nargs) {
- super(Constants.INVOKEINTERFACE, index);
- length = 5;
- if (nargs < 1) {
- throw new ClassGenException("Number of arguments must be > 0 " + nargs);
- }
- this.nargs = nargs;
- }
-
-
- /**
- * Dump instruction as byte code to stream out.
- * @param out Output stream
- */
- public void dump( DataOutputStream out ) throws IOException {
- out.writeByte(opcode);
- out.writeShort(index);
- out.writeByte(nargs);
- out.writeByte(0);
- }
-
-
- /**
- * The count argument according to the Java Language Specification,
- * Second Edition.
- */
- public int getCount() {
- return nargs;
- }
-
-
- /**
- * Read needed data (i.e., index) from file.
- */
- protected void initFromFile( ByteSequence bytes, boolean wide ) throws IOException {
- super.initFromFile(bytes, wide);
- length = 5;
- nargs = bytes.readUnsignedByte();
- bytes.readByte(); // Skip 0 byte
- }
-
-
- /**
- * @return mnemonic for instruction with symbolic references resolved
- */
- public String toString( ConstantPool cp ) {
- return super.toString(cp) + " " + nargs;
- }
-
-
- public int consumeStack( ConstantPoolGen cpg ) { // nargs is given in byte-code
- return nargs; // nargs includes this reference
- }
-
-
- public Class[] getExceptions() {
- Class[] cs = new Class[4 + ExceptionConstants.EXCS_INTERFACE_METHOD_RESOLUTION.length];
- System.arraycopy(ExceptionConstants.EXCS_INTERFACE_METHOD_RESOLUTION, 0, cs, 0,
- ExceptionConstants.EXCS_INTERFACE_METHOD_RESOLUTION.length);
- cs[ExceptionConstants.EXCS_INTERFACE_METHOD_RESOLUTION.length + 3] = ExceptionConstants.INCOMPATIBLE_CLASS_CHANGE_ERROR;
- cs[ExceptionConstants.EXCS_INTERFACE_METHOD_RESOLUTION.length + 2] = ExceptionConstants.ILLEGAL_ACCESS_ERROR;
- cs[ExceptionConstants.EXCS_INTERFACE_METHOD_RESOLUTION.length + 1] = ExceptionConstants.ABSTRACT_METHOD_ERROR;
- cs[ExceptionConstants.EXCS_INTERFACE_METHOD_RESOLUTION.length] = ExceptionConstants.UNSATISFIED_LINK_ERROR;
- return cs;
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitExceptionThrower(this);
- v.visitTypedInstruction(this);
- v.visitStackConsumer(this);
- v.visitStackProducer(this);
- v.visitLoadClass(this);
- v.visitCPInstruction(this);
- v.visitFieldOrMethod(this);
- v.visitInvokeInstruction(this);
- v.visitINVOKEINTERFACE(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+import org.apache.bcel.ExceptionConst;
+import org.apache.bcel.classfile.ConstantPool;
+import org.apache.bcel.util.ByteSequence;
+
+/**
+ * INVOKEINTERFACE - Invoke interface method
+ *
Stack: ..., objectref, [arg1, [arg2 ...]] -> ...
+ *
+ * @version $Id: INVOKEINTERFACE.java 1812166 2017-10-13 23:48:11Z ggregory $
+ * @see
+ *
+ * The invokeinterface instruction in The Java Virtual Machine Specification
+ */
+public final class INVOKEINTERFACE extends InvokeInstruction {
+
+ private int nargs; // Number of arguments on stack (number of stack slots), called "count" in vmspec2
+
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ INVOKEINTERFACE() {
+ }
+
+
+ public INVOKEINTERFACE(final int index, final int nargs) {
+ super(Const.INVOKEINTERFACE, index);
+ super.setLength(5);
+ if (nargs < 1) {
+ throw new ClassGenException("Number of arguments must be > 0 " + nargs);
+ }
+ this.nargs = nargs;
+ }
+
+
+ /**
+ * Dump instruction as byte code to stream out.
+ * @param out Output stream
+ */
+ @Override
+ public void dump( final DataOutputStream out ) throws IOException {
+ out.writeByte(super.getOpcode());
+ out.writeShort(super.getIndex());
+ out.writeByte(nargs);
+ out.writeByte(0);
+ }
+
+
+ /**
+ * The count argument according to the Java Language Specification,
+ * Second Edition.
+ */
+ public int getCount() {
+ return nargs;
+ }
+
+
+ /**
+ * Read needed data (i.e., index) from file.
+ */
+ @Override
+ protected void initFromFile( final ByteSequence bytes, final boolean wide ) throws IOException {
+ super.initFromFile(bytes, wide);
+ super.setLength(5);
+ nargs = bytes.readUnsignedByte();
+ bytes.readByte(); // Skip 0 byte
+ }
+
+
+ /**
+ * @return mnemonic for instruction with symbolic references resolved
+ */
+ @Override
+ public String toString( final ConstantPool cp ) {
+ return super.toString(cp) + " " + nargs;
+ }
+
+
+ @Override
+ public int consumeStack( final ConstantPoolGen cpg ) { // nargs is given in byte-code
+ return nargs; // nargs includes this reference
+ }
+
+
+ @Override
+ public Class>[] getExceptions() {
+ return ExceptionConst.createExceptions(ExceptionConst.EXCS.EXCS_INTERFACE_METHOD_RESOLUTION,
+ ExceptionConst.UNSATISFIED_LINK_ERROR,
+ ExceptionConst.ABSTRACT_METHOD_ERROR,
+ ExceptionConst.ILLEGAL_ACCESS_ERROR,
+ ExceptionConst.INCOMPATIBLE_CLASS_CHANGE_ERROR);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitStackConsumer(this);
+ v.visitStackProducer(this);
+ v.visitLoadClass(this);
+ v.visitCPInstruction(this);
+ v.visitFieldOrMethod(this);
+ v.visitInvokeInstruction(this);
+ v.visitINVOKEINTERFACE(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKESPECIAL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKESPECIAL.java
new file mode 100644
index 00000000..9fe379bc
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKESPECIAL.java
@@ -0,0 +1,92 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+import org.apache.bcel.ExceptionConst;
+
+/**
+ * INVOKESPECIAL - Invoke instance method; special handling for superclass, private
+ * and instance initialization method invocations
+ *
+ *
Stack: ..., objectref, [arg1, [arg2 ...]] -> ...
+ *
+ * @version $Id: INVOKESPECIAL.java 1812166 2017-10-13 23:48:11Z ggregory $
+ * @see
+ *
+ * The invokespecial instruction in The Java Virtual Machine Specification
+ */
+public class INVOKESPECIAL extends InvokeInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ INVOKESPECIAL() {
+ }
+
+
+ public INVOKESPECIAL(final int index) {
+ super(Const.INVOKESPECIAL, index);
+ }
+
+
+ /**
+ * Dump instruction as byte code to stream out.
+ * @param out Output stream
+ */
+ @Override
+ public void dump( final DataOutputStream out ) throws IOException {
+ out.writeByte(super.getOpcode());
+ out.writeShort(super.getIndex());
+ }
+
+ @Override
+ public Class>[] getExceptions() {
+ return ExceptionConst.createExceptions(ExceptionConst.EXCS.EXCS_FIELD_AND_METHOD_RESOLUTION,
+ ExceptionConst.NULL_POINTER_EXCEPTION,
+ ExceptionConst.INCOMPATIBLE_CLASS_CHANGE_ERROR,
+ ExceptionConst.ABSTRACT_METHOD_ERROR,
+ ExceptionConst.UNSATISFIED_LINK_ERROR);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitStackConsumer(this);
+ v.visitStackProducer(this);
+ v.visitLoadClass(this);
+ v.visitCPInstruction(this);
+ v.visitFieldOrMethod(this);
+ v.visitInvokeInstruction(this);
+ v.visitINVOKESPECIAL(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKESTATIC.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKESTATIC.java
new file mode 100644
index 00000000..bdeb328b
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKESTATIC.java
@@ -0,0 +1,89 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+import org.apache.bcel.ExceptionConst;
+
+/**
+ * INVOKESTATIC - Invoke a class (static) method
+ *
+ *
Stack: ..., [arg1, [arg2 ...]] -> ...
+ *
+ * @version $Id: INVOKESTATIC.java 1812166 2017-10-13 23:48:11Z ggregory $
+ * @see
+ *
+ * The invokestatic instruction in The Java Virtual Machine Specification
+ */
+public class INVOKESTATIC extends InvokeInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ INVOKESTATIC() {
+ }
+
+
+ public INVOKESTATIC(final int index) {
+ super(Const.INVOKESTATIC, index);
+ }
+
+
+ /**
+ * Dump instruction as byte code to stream out.
+ * @param out Output stream
+ */
+ @Override
+ public void dump( final DataOutputStream out ) throws IOException {
+ out.writeByte(super.getOpcode());
+ out.writeShort(super.getIndex());
+ }
+
+ @Override
+ public Class>[] getExceptions() {
+ return ExceptionConst.createExceptions(ExceptionConst.EXCS.EXCS_FIELD_AND_METHOD_RESOLUTION,
+ ExceptionConst.UNSATISFIED_LINK_ERROR,
+ ExceptionConst.INCOMPATIBLE_CLASS_CHANGE_ERROR);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitStackConsumer(this);
+ v.visitStackProducer(this);
+ v.visitLoadClass(this);
+ v.visitCPInstruction(this);
+ v.visitFieldOrMethod(this);
+ v.visitInvokeInstruction(this);
+ v.visitINVOKESTATIC(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKEVIRTUAL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKEVIRTUAL.java
new file mode 100644
index 00000000..f6b0d905
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKEVIRTUAL.java
@@ -0,0 +1,91 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+import org.apache.bcel.ExceptionConst;
+
+/**
+ * INVOKEVIRTUAL - Invoke instance method; dispatch based on class
+ *
+ *
Stack: ..., objectref, [arg1, [arg2 ...]] -> ...
+ *
+ * @version $Id: INVOKEVIRTUAL.java 1812166 2017-10-13 23:48:11Z ggregory $
+ * @see
+ *
+ * The invokevirtual instruction in The Java Virtual Machine Specification
+ */
+public class INVOKEVIRTUAL extends InvokeInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ INVOKEVIRTUAL() {
+ }
+
+
+ public INVOKEVIRTUAL(final int index) {
+ super(Const.INVOKEVIRTUAL, index);
+ }
+
+
+ /**
+ * Dump instruction as byte code to stream out.
+ * @param out Output stream
+ */
+ @Override
+ public void dump( final DataOutputStream out ) throws IOException {
+ out.writeByte(super.getOpcode());
+ out.writeShort(super.getIndex());
+ }
+
+ @Override
+ public Class>[] getExceptions() {
+ return ExceptionConst.createExceptions(ExceptionConst.EXCS.EXCS_FIELD_AND_METHOD_RESOLUTION,
+ ExceptionConst.NULL_POINTER_EXCEPTION,
+ ExceptionConst.INCOMPATIBLE_CLASS_CHANGE_ERROR,
+ ExceptionConst.ABSTRACT_METHOD_ERROR,
+ ExceptionConst.UNSATISFIED_LINK_ERROR);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitStackConsumer(this);
+ v.visitStackProducer(this);
+ v.visitLoadClass(this);
+ v.visitCPInstruction(this);
+ v.visitFieldOrMethod(this);
+ v.visitInvokeInstruction(this);
+ v.visitINVOKEVIRTUAL(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IOR.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IOR.java
old mode 100755
new mode 100644
similarity index 59%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IOR.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IOR.java
index 8ba8dd68..9ec1f823
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IOR.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IOR.java
@@ -1,48 +1,49 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IOR - Bitwise OR int
- *
Stack: ..., value1, value2 -> ..., result
- *
- * @version $Id: IOR.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IOR extends ArithmeticInstruction {
-
- public IOR() {
- super(org.apache.bcel5_2_0.Constants.IOR);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitIOR(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IOR - Bitwise OR int
+ *
Stack: ..., value1, value2 -> ..., result
+ *
+ * @version $Id: IOR.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class IOR extends ArithmeticInstruction {
+
+ public IOR() {
+ super(org.apache.bcel.Const.IOR);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitIOR(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IREM.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IREM.java
old mode 100755
new mode 100644
similarity index 59%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IREM.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IREM.java
index b89cf797..9c71111a
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IREM.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IREM.java
@@ -1,60 +1,64 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IREM - Remainder of int
- *
Stack: ..., value1, value2 -> result
- *
- * @version $Id: IREM.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IREM extends ArithmeticInstruction implements ExceptionThrower {
-
- /** Remainder of ints
- */
- public IREM() {
- super(org.apache.bcel5_2_0.Constants.IREM);
- }
-
-
- /** @return exceptions this instruction may cause
- */
- public Class[] getExceptions() {
- return new Class[] {
- org.apache.bcel5_2_0.ExceptionConstants.ARITHMETIC_EXCEPTION
- };
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitExceptionThrower(this);
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitIREM(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import org.apache.bcel.ExceptionConst;
+
+/**
+ * IREM - Remainder of int
+ *
Stack: ..., value1, value2 -> result
+ *
+ * @version $Id: IREM.java 1747278 2016-06-07 17:28:43Z britter $
+ */
+public class IREM extends ArithmeticInstruction implements ExceptionThrower {
+
+ /** Remainder of ints
+ */
+ public IREM() {
+ super(org.apache.bcel.Const.IREM);
+ }
+
+
+ /** @return exceptions this instruction may cause
+ */
+ @Override
+ public Class>[] getExceptions() {
+ return new Class[] {
+ ExceptionConst.ARITHMETIC_EXCEPTION
+ };
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitIREM(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IRETURN.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IRETURN.java
old mode 100755
new mode 100644
similarity index 60%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IRETURN.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IRETURN.java
index edba9ad9..8bea094f
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IRETURN.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IRETURN.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IRETURN - Return int from method
- *
Stack: ..., value -> <empty>
- *
- * @version $Id: IRETURN.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IRETURN extends ReturnInstruction {
-
- /** Return int from method
- */
- public IRETURN() {
- super(org.apache.bcel5_2_0.Constants.IRETURN);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitExceptionThrower(this);
- v.visitTypedInstruction(this);
- v.visitStackConsumer(this);
- v.visitReturnInstruction(this);
- v.visitIRETURN(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IRETURN - Return int from method
+ *
Stack: ..., value -> <empty>
+ *
+ * @version $Id: IRETURN.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class IRETURN extends ReturnInstruction {
+
+ /** Return int from method
+ */
+ public IRETURN() {
+ super(org.apache.bcel.Const.IRETURN);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitExceptionThrower(this);
+ v.visitTypedInstruction(this);
+ v.visitStackConsumer(this);
+ v.visitReturnInstruction(this);
+ v.visitIRETURN(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ISHL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISHL.java
old mode 100755
new mode 100644
similarity index 59%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ISHL.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISHL.java
index 6a4f3804..1060c188
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ISHL.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISHL.java
@@ -1,48 +1,49 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * ISHL - Arithmetic shift left int
- *
Stack: ..., value1, value2 -> ..., result
- *
- * @version $Id: ISHL.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class ISHL extends ArithmeticInstruction {
-
- public ISHL() {
- super(org.apache.bcel5_2_0.Constants.ISHL);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitISHL(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * ISHL - Arithmetic shift left int
+ *
Stack: ..., value1, value2 -> ..., result
+ *
+ * @version $Id: ISHL.java 1747278 2016-06-07 17:28:43Z britter $
+ */
+public class ISHL extends ArithmeticInstruction {
+
+ public ISHL() {
+ super(org.apache.bcel.Const.ISHL);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitISHL(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ISHR.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISHR.java
old mode 100755
new mode 100644
similarity index 59%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ISHR.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISHR.java
index 2e479317..00f17eee
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ISHR.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISHR.java
@@ -1,48 +1,49 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * ISHR - Arithmetic shift right int
- *
Stack: ..., value1, value2 -> ..., result
- *
- * @version $Id: ISHR.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class ISHR extends ArithmeticInstruction {
-
- public ISHR() {
- super(org.apache.bcel5_2_0.Constants.ISHR);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitISHR(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * ISHR - Arithmetic shift right int
+ *
Stack: ..., value1, value2 -> ..., result
+ *
+ * @version $Id: ISHR.java 1747278 2016-06-07 17:28:43Z britter $
+ */
+public class ISHR extends ArithmeticInstruction {
+
+ public ISHR() {
+ super(org.apache.bcel.Const.ISHR);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitISHR(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ISTORE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISTORE.java
old mode 100755
new mode 100644
similarity index 51%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ISTORE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISTORE.java
index f1e345e7..289fc405
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ISTORE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISTORE.java
@@ -1,57 +1,58 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * ISTORE - Store int from stack into local variable
- *
Stack: ..., value -> ...
- *
- * @version $Id: ISTORE.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class ISTORE extends StoreInstruction {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- ISTORE() {
- super(org.apache.bcel5_2_0.Constants.ISTORE, org.apache.bcel5_2_0.Constants.ISTORE_0);
- }
-
-
- /** Store int into local variable
- * @param n index of local variable
- */
- public ISTORE(int n) {
- super(org.apache.bcel5_2_0.Constants.ISTORE, org.apache.bcel5_2_0.Constants.ISTORE_0, n);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- super.accept(v);
- v.visitISTORE(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * ISTORE - Store int from stack into local variable
+ *
Stack: ..., value -> ...
+ *
+ * @version $Id: ISTORE.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public class ISTORE extends StoreInstruction {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ ISTORE() {
+ super(org.apache.bcel.Const.ISTORE, org.apache.bcel.Const.ISTORE_0);
+ }
+
+
+ /** Store int into local variable
+ * @param n index of local variable
+ */
+ public ISTORE(final int n) {
+ super(org.apache.bcel.Const.ISTORE, org.apache.bcel.Const.ISTORE_0, n);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ super.accept(v);
+ v.visitISTORE(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ISUB.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISUB.java
old mode 100755
new mode 100644
similarity index 59%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ISUB.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISUB.java
index 88adf19b..537bc22b
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/ISUB.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISUB.java
@@ -1,50 +1,51 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * ISUB - Substract ints
- *
Stack: ..., value1, value2 -> result
- *
- * @version $Id: ISUB.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class ISUB extends ArithmeticInstruction {
-
- /** Substract ints
- */
- public ISUB() {
- super(org.apache.bcel5_2_0.Constants.ISUB);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitISUB(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * ISUB - Substract ints
+ *
Stack: ..., value1, value2 -> result
+ *
+ * @version $Id: ISUB.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class ISUB extends ArithmeticInstruction {
+
+ /** Substract ints
+ */
+ public ISUB() {
+ super(org.apache.bcel.Const.ISUB);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitISUB(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IUSHR.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IUSHR.java
old mode 100755
new mode 100644
similarity index 59%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IUSHR.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IUSHR.java
index 54409be9..2d134769
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IUSHR.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IUSHR.java
@@ -1,48 +1,49 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IUSHR - Logical shift right int
- *
Stack: ..., value1, value2 -> ..., result
- *
- * @version $Id: IUSHR.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IUSHR extends ArithmeticInstruction {
-
- public IUSHR() {
- super(org.apache.bcel5_2_0.Constants.IUSHR);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitIUSHR(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IUSHR - Logical shift right int
+ *
Stack: ..., value1, value2 -> ..., result
+ *
+ * @version $Id: IUSHR.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class IUSHR extends ArithmeticInstruction {
+
+ public IUSHR() {
+ super(org.apache.bcel.Const.IUSHR);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitIUSHR(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IXOR.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IXOR.java
old mode 100755
new mode 100644
similarity index 59%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IXOR.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IXOR.java
index 9e5491ce..8b83c13b
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IXOR.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IXOR.java
@@ -1,48 +1,49 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * IXOR - Bitwise XOR int
- *
Stack: ..., value1, value2 -> ..., result
- *
- * @version $Id: IXOR.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public class IXOR extends ArithmeticInstruction {
-
- public IXOR() {
- super(org.apache.bcel5_2_0.Constants.IXOR);
- }
-
-
- /**
- * Call corresponding visitor method(s). The order is:
- * Call visitor methods of implemented interfaces first, then
- * call methods according to the class hierarchy in descending order,
- * i.e., the most specific visitXXX() call comes last.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- v.visitTypedInstruction(this);
- v.visitStackProducer(this);
- v.visitStackConsumer(this);
- v.visitArithmeticInstruction(this);
- v.visitIXOR(this);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * IXOR - Bitwise XOR int
+ *
Stack: ..., value1, value2 -> ..., result
+ *
+ * @version $Id: IXOR.java 1806200 2017-08-25 16:33:06Z ggregory $
+ */
+public class IXOR extends ArithmeticInstruction {
+
+ public IXOR() {
+ super(org.apache.bcel.Const.IXOR);
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitTypedInstruction(this);
+ v.visitStackProducer(this);
+ v.visitStackConsumer(this);
+ v.visitArithmeticInstruction(this);
+ v.visitIXOR(this);
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IfInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IfInstruction.java
old mode 100755
new mode 100644
similarity index 51%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IfInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IfInstruction.java
index acd5317b..bab15627
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/IfInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IfInstruction.java
@@ -1,48 +1,48 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * Super class for the IFxxx family of instructions.
- *
- * @version $Id: IfInstruction.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public abstract class IfInstruction extends BranchInstruction implements StackConsumer {
-
- /**
- * Empty constructor needed for the Class.newInstance() statement in
- * Instruction.readInstruction(). Not to be used otherwise.
- */
- IfInstruction() {
- }
-
-
- /**
- * @param opcode opcode of instruction
- * @param target Target instruction to branch to
- */
- protected IfInstruction(short opcode, InstructionHandle target) {
- super(opcode, target);
- }
-
-
- /**
- * @return negation of instruction, e.g. IFEQ.negate() == IFNE
- */
- public abstract IfInstruction negate();
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * Super class for the IFxxx family of instructions.
+ *
+ * @version $Id: IfInstruction.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public abstract class IfInstruction extends BranchInstruction implements StackConsumer {
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ IfInstruction() {
+ }
+
+
+ /**
+ * @param opcode opcode of instruction
+ * @param target Target instruction to branch to
+ */
+ protected IfInstruction(final short opcode, final InstructionHandle target) {
+ super(opcode, target);
+ }
+
+
+ /**
+ * @return negation of instruction, e.g. IFEQ.negate() == IFNE
+ */
+ public abstract IfInstruction negate();
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IndexedInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IndexedInstruction.java
new file mode 100644
index 00000000..2a40694d
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IndexedInstruction.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * Denote entity that refers to an index, e.g. local variable instructions,
+ * RET, CPInstruction, etc.
+ *
+ * @version $Id: IndexedInstruction.java 1747278 2016-06-07 17:28:43Z britter $
+ */
+public interface IndexedInstruction {
+
+ int getIndex();
+
+
+ void setIndex( int index );
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/Instruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/Instruction.java
new file mode 100644
index 00000000..2fe0f407
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/Instruction.java
@@ -0,0 +1,609 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+import org.apache.bcel.classfile.ConstantPool;
+import org.apache.bcel.util.ByteSequence;
+
+/**
+ * Abstract super class for all Java byte codes.
+ *
+ * @version $Id: Instruction.java 1812166 2017-10-13 23:48:11Z ggregory $
+ */
+public abstract class Instruction implements Cloneable {
+
+ /**
+ * @deprecated (since 6.0) will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
+ protected short length = 1; // Length of instruction in bytes
+
+ /**
+ * @deprecated (since 6.0) will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
+ protected short opcode = -1; // Opcode number
+
+ private static InstructionComparator cmp = InstructionComparator.DEFAULT;
+
+
+ /**
+ * Empty constructor needed for Instruction.readInstruction.
+ * Not to be used otherwise.
+ */
+ Instruction() {
+ }
+
+
+ public Instruction(final short opcode, final short length) {
+ this.length = length;
+ this.opcode = opcode;
+ }
+
+
+ /**
+ * Dump instruction as byte code to stream out.
+ * @param out Output stream
+ */
+ public void dump( final DataOutputStream out ) throws IOException {
+ out.writeByte(opcode); // Common for all instructions
+ }
+
+
+ /** @return name of instruction, i.e., opcode name
+ */
+ public String getName() {
+ return Const.getOpcodeName(opcode);
+ }
+
+
+ /**
+ * Long output format:
+ *
+ * <name of opcode> "["<opcode number>"]"
+ * "("<length of instruction>")"
+ *
+ * @param verbose long/short format switch
+ * @return mnemonic for instruction
+ */
+ public String toString( final boolean verbose ) {
+ if (verbose) {
+ return getName() + "[" + opcode + "](" + length + ")";
+ }
+ return getName();
+ }
+
+
+ /**
+ * @return mnemonic for instruction in verbose format
+ */
+ @Override
+ public String toString() {
+ return toString(true);
+ }
+
+
+ /**
+ * @return mnemonic for instruction with sumbolic references resolved
+ */
+ public String toString( final ConstantPool cp ) {
+ return toString(false);
+ }
+
+
+ /**
+ * Use with caution, since `BranchInstruction's have a `target' reference which
+ * is not copied correctly (only basic types are). This also applies for
+ * `Select' instructions with their multiple branch targets.
+ *
+ * @see BranchInstruction
+ * @return (shallow) copy of an instruction
+ */
+ public Instruction copy() {
+ Instruction i = null;
+ // "Constant" instruction, no need to duplicate
+ if (InstructionConst.getInstruction(this.getOpcode()) != null) {
+ i = this;
+ } else {
+ try {
+ i = (Instruction) clone();
+ } catch (final CloneNotSupportedException e) {
+ System.err.println(e);
+ }
+ }
+ return i;
+ }
+
+
+ /**
+ * Read needed data (e.g. index) from file.
+ *
+ * @param bytes byte sequence to read from
+ * @param wide "wide" instruction flag
+ * @throws IOException may be thrown if the implementation needs to read data from the file
+ */
+ protected void initFromFile( final ByteSequence bytes, final boolean wide ) throws IOException {
+ }
+
+
+ /**
+ * Read an instruction from (byte code) input stream and return the
+ * appropiate object.
+ *
+ * If the Instruction is defined in {@link InstructionConst}, then the
+ * singleton instance is returned.
+ * @param bytes input stream bytes
+ * @return instruction object being read
+ * @see InstructionConst#getInstruction(int)
+ */
+ // @since 6.0 no longer final
+ public static Instruction readInstruction( final ByteSequence bytes ) throws IOException {
+ boolean wide = false;
+ short opcode = (short) bytes.readUnsignedByte();
+ Instruction obj = null;
+ if (opcode == Const.WIDE) { // Read next opcode after wide byte
+ wide = true;
+ opcode = (short) bytes.readUnsignedByte();
+ }
+ final Instruction instruction = InstructionConst.getInstruction(opcode);
+ if (instruction != null) {
+ return instruction; // Used predefined immutable object, if available
+ }
+
+ switch (opcode) {
+ case Const.BIPUSH:
+ obj = new BIPUSH();
+ break;
+ case Const.SIPUSH:
+ obj = new SIPUSH();
+ break;
+ case Const.LDC:
+ obj = new LDC();
+ break;
+ case Const.LDC_W:
+ obj = new LDC_W();
+ break;
+ case Const.LDC2_W:
+ obj = new LDC2_W();
+ break;
+ case Const.ILOAD:
+ obj = new ILOAD();
+ break;
+ case Const.LLOAD:
+ obj = new LLOAD();
+ break;
+ case Const.FLOAD:
+ obj = new FLOAD();
+ break;
+ case Const.DLOAD:
+ obj = new DLOAD();
+ break;
+ case Const.ALOAD:
+ obj = new ALOAD();
+ break;
+ case Const.ILOAD_0:
+ obj = new ILOAD(0);
+ break;
+ case Const.ILOAD_1:
+ obj = new ILOAD(1);
+ break;
+ case Const.ILOAD_2:
+ obj = new ILOAD(2);
+ break;
+ case Const.ILOAD_3:
+ obj = new ILOAD(3);
+ break;
+ case Const.LLOAD_0:
+ obj = new LLOAD(0);
+ break;
+ case Const.LLOAD_1:
+ obj = new LLOAD(1);
+ break;
+ case Const.LLOAD_2:
+ obj = new LLOAD(2);
+ break;
+ case Const.LLOAD_3:
+ obj = new LLOAD(3);
+ break;
+ case Const.FLOAD_0:
+ obj = new FLOAD(0);
+ break;
+ case Const.FLOAD_1:
+ obj = new FLOAD(1);
+ break;
+ case Const.FLOAD_2:
+ obj = new FLOAD(2);
+ break;
+ case Const.FLOAD_3:
+ obj = new FLOAD(3);
+ break;
+ case Const.DLOAD_0:
+ obj = new DLOAD(0);
+ break;
+ case Const.DLOAD_1:
+ obj = new DLOAD(1);
+ break;
+ case Const.DLOAD_2:
+ obj = new DLOAD(2);
+ break;
+ case Const.DLOAD_3:
+ obj = new DLOAD(3);
+ break;
+ case Const.ALOAD_0:
+ obj = new ALOAD(0);
+ break;
+ case Const.ALOAD_1:
+ obj = new ALOAD(1);
+ break;
+ case Const.ALOAD_2:
+ obj = new ALOAD(2);
+ break;
+ case Const.ALOAD_3:
+ obj = new ALOAD(3);
+ break;
+ case Const.ISTORE:
+ obj = new ISTORE();
+ break;
+ case Const.LSTORE:
+ obj = new LSTORE();
+ break;
+ case Const.FSTORE:
+ obj = new FSTORE();
+ break;
+ case Const.DSTORE:
+ obj = new DSTORE();
+ break;
+ case Const.ASTORE:
+ obj = new ASTORE();
+ break;
+ case Const.ISTORE_0:
+ obj = new ISTORE(0);
+ break;
+ case Const.ISTORE_1:
+ obj = new ISTORE(1);
+ break;
+ case Const.ISTORE_2:
+ obj = new ISTORE(2);
+ break;
+ case Const.ISTORE_3:
+ obj = new ISTORE(3);
+ break;
+ case Const.LSTORE_0:
+ obj = new LSTORE(0);
+ break;
+ case Const.LSTORE_1:
+ obj = new LSTORE(1);
+ break;
+ case Const.LSTORE_2:
+ obj = new LSTORE(2);
+ break;
+ case Const.LSTORE_3:
+ obj = new LSTORE(3);
+ break;
+ case Const.FSTORE_0:
+ obj = new FSTORE(0);
+ break;
+ case Const.FSTORE_1:
+ obj = new FSTORE(1);
+ break;
+ case Const.FSTORE_2:
+ obj = new FSTORE(2);
+ break;
+ case Const.FSTORE_3:
+ obj = new FSTORE(3);
+ break;
+ case Const.DSTORE_0:
+ obj = new DSTORE(0);
+ break;
+ case Const.DSTORE_1:
+ obj = new DSTORE(1);
+ break;
+ case Const.DSTORE_2:
+ obj = new DSTORE(2);
+ break;
+ case Const.DSTORE_3:
+ obj = new DSTORE(3);
+ break;
+ case Const.ASTORE_0:
+ obj = new ASTORE(0);
+ break;
+ case Const.ASTORE_1:
+ obj = new ASTORE(1);
+ break;
+ case Const.ASTORE_2:
+ obj = new ASTORE(2);
+ break;
+ case Const.ASTORE_3:
+ obj = new ASTORE(3);
+ break;
+ case Const.IINC:
+ obj = new IINC();
+ break;
+ case Const.IFEQ:
+ obj = new IFEQ();
+ break;
+ case Const.IFNE:
+ obj = new IFNE();
+ break;
+ case Const.IFLT:
+ obj = new IFLT();
+ break;
+ case Const.IFGE:
+ obj = new IFGE();
+ break;
+ case Const.IFGT:
+ obj = new IFGT();
+ break;
+ case Const.IFLE:
+ obj = new IFLE();
+ break;
+ case Const.IF_ICMPEQ:
+ obj = new IF_ICMPEQ();
+ break;
+ case Const.IF_ICMPNE:
+ obj = new IF_ICMPNE();
+ break;
+ case Const.IF_ICMPLT:
+ obj = new IF_ICMPLT();
+ break;
+ case Const.IF_ICMPGE:
+ obj = new IF_ICMPGE();
+ break;
+ case Const.IF_ICMPGT:
+ obj = new IF_ICMPGT();
+ break;
+ case Const.IF_ICMPLE:
+ obj = new IF_ICMPLE();
+ break;
+ case Const.IF_ACMPEQ:
+ obj = new IF_ACMPEQ();
+ break;
+ case Const.IF_ACMPNE:
+ obj = new IF_ACMPNE();
+ break;
+ case Const.GOTO:
+ obj = new GOTO();
+ break;
+ case Const.JSR:
+ obj = new JSR();
+ break;
+ case Const.RET:
+ obj = new RET();
+ break;
+ case Const.TABLESWITCH:
+ obj = new TABLESWITCH();
+ break;
+ case Const.LOOKUPSWITCH:
+ obj = new LOOKUPSWITCH();
+ break;
+ case Const.GETSTATIC:
+ obj = new GETSTATIC();
+ break;
+ case Const.PUTSTATIC:
+ obj = new PUTSTATIC();
+ break;
+ case Const.GETFIELD:
+ obj = new GETFIELD();
+ break;
+ case Const.PUTFIELD:
+ obj = new PUTFIELD();
+ break;
+ case Const.INVOKEVIRTUAL:
+ obj = new INVOKEVIRTUAL();
+ break;
+ case Const.INVOKESPECIAL:
+ obj = new INVOKESPECIAL();
+ break;
+ case Const.INVOKESTATIC:
+ obj = new INVOKESTATIC();
+ break;
+ case Const.INVOKEINTERFACE:
+ obj = new INVOKEINTERFACE();
+ break;
+ case Const.INVOKEDYNAMIC:
+ obj = new INVOKEDYNAMIC();
+ break;
+ case Const.NEW:
+ obj = new NEW();
+ break;
+ case Const.NEWARRAY:
+ obj = new NEWARRAY();
+ break;
+ case Const.ANEWARRAY:
+ obj = new ANEWARRAY();
+ break;
+ case Const.CHECKCAST:
+ obj = new CHECKCAST();
+ break;
+ case Const.INSTANCEOF:
+ obj = new INSTANCEOF();
+ break;
+ case Const.MULTIANEWARRAY:
+ obj = new MULTIANEWARRAY();
+ break;
+ case Const.IFNULL:
+ obj = new IFNULL();
+ break;
+ case Const.IFNONNULL:
+ obj = new IFNONNULL();
+ break;
+ case Const.GOTO_W:
+ obj = new GOTO_W();
+ break;
+ case Const.JSR_W:
+ obj = new JSR_W();
+ break;
+ case Const.BREAKPOINT:
+ obj = new BREAKPOINT();
+ break;
+ case Const.IMPDEP1:
+ obj = new IMPDEP1();
+ break;
+ case Const.IMPDEP2:
+ obj = new IMPDEP2();
+ break;
+ default:
+ throw new ClassGenException("Illegal opcode detected: " + opcode);
+
+ }
+
+ if (wide
+ && !((obj instanceof LocalVariableInstruction) || (obj instanceof IINC) || (obj instanceof RET))) {
+ throw new ClassGenException("Illegal opcode after wide: " + opcode);
+ }
+ obj.setOpcode(opcode);
+ obj.initFromFile(bytes, wide); // Do further initializations, if any
+ return obj;
+ }
+
+ /**
+ * This method also gives right results for instructions whose
+ * effect on the stack depends on the constant pool entry they
+ * reference.
+ * @return Number of words consumed from stack by this instruction,
+ * or Constants.UNPREDICTABLE, if this can not be computed statically
+ */
+ public int consumeStack( final ConstantPoolGen cpg ) {
+ return Const.getConsumeStack(opcode);
+ }
+
+
+ /**
+ * This method also gives right results for instructions whose
+ * effect on the stack depends on the constant pool entry they
+ * reference.
+ * @return Number of words produced onto stack by this instruction,
+ * or Constants.UNPREDICTABLE, if this can not be computed statically
+ */
+ public int produceStack( final ConstantPoolGen cpg ) {
+ return Const.getProduceStack(opcode);
+ }
+
+
+ /**
+ * @return this instructions opcode
+ */
+ public short getOpcode() {
+ return opcode;
+ }
+
+
+ /**
+ * @return length (in bytes) of instruction
+ */
+ public int getLength() {
+ return length;
+ }
+
+
+ /**
+ * Needed in readInstruction and subclasses in this package
+ */
+ final void setOpcode( final short opcode ) {
+ this.opcode = opcode;
+ }
+
+
+ /**
+ * Needed in readInstruction and subclasses in this package
+ * @since 6.0
+ */
+ final void setLength( final int length ) {
+ this.length = (short) length; // TODO check range?
+ }
+
+
+ /** Some instructions may be reused, so don't do anything by default.
+ */
+ void dispose() {
+ }
+
+
+ /**
+ * Call corresponding visitor method(s). The order is:
+ * Call visitor methods of implemented interfaces first, then
+ * call methods according to the class hierarchy in descending order,
+ * i.e., the most specific visitXXX() call comes last.
+ *
+ * @param v Visitor object
+ */
+ public abstract void accept( Visitor v );
+
+
+ /** Get Comparator object used in the equals() method to determine
+ * equality of instructions.
+ *
+ * @return currently used comparator for equals()
+ * @deprecated (6.0) use the built in comparator, or wrap this class in another object that implements these methods
+ */
+ @Deprecated
+ public static InstructionComparator getComparator() {
+ return cmp;
+ }
+
+
+ /** Set comparator to be used for equals().
+ * @deprecated (6.0) use the built in comparator, or wrap this class in another object that implements these methods
+ */
+ @Deprecated
+ public static void setComparator( final InstructionComparator c ) {
+ cmp = c;
+ }
+
+
+ /** Check for equality, delegated to comparator
+ * @return true if that is an Instruction and has the same opcode
+ */
+ @Override
+ public boolean equals( final Object that ) {
+ return (that instanceof Instruction) ? cmp.equals(this, (Instruction) that) : false;
+ }
+
+ /** calculate the hashCode of this object
+ * @return the hashCode
+ * @since 6.0
+ */
+ @Override
+ public int hashCode() {
+ return opcode;
+ }
+
+ /**
+ * Check if the value can fit in a byte (signed)
+ * @param value the value to check
+ * @return true if the value is in range
+ * @since 6.0
+ */
+ public static boolean isValidByte(final int value) {
+ return value >= Byte.MIN_VALUE && value <= Byte.MAX_VALUE;
+ }
+
+ /**
+ * Check if the value can fit in a short (signed)
+ * @param value the value to check
+ * @return true if the value is in range
+ * @since 6.0
+ */
+ public static boolean isValidShort(final int value) {
+ return value >= Short.MIN_VALUE && value <= Short.MAX_VALUE;
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/InstructionComparator.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionComparator.java
old mode 100755
new mode 100644
similarity index 53%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/InstructionComparator.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionComparator.java
index 886eb3e1..65efe70e
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/InstructionComparator.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionComparator.java
@@ -1,69 +1,62 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-/**
- * Equality of instructions isn't clearly to be defined. You might
- * wish, for example, to compare whether instructions have the same
- * meaning. E.g., whether two INVOKEVIRTUALs describe the same
- * call. The DEFAULT comparator however, considers two instructions
- * to be equal if they have same opcode and point to the same indexes
- * (if any) in the constant pool or the same local variable index. Branch
- * instructions must have the same target.
- *
- * @see Instruction
- * @version $Id: InstructionComparator.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public interface InstructionComparator {
-
- public static final InstructionComparator DEFAULT = new InstructionComparator() {
-
- public boolean equals( Instruction i1, Instruction i2 ) {
- if (i1.opcode == i2.opcode) {
- if (i1 instanceof Select) {
- InstructionHandle[] t1 = ((Select) i1).getTargets();
- InstructionHandle[] t2 = ((Select) i2).getTargets();
- if (t1.length == t2.length) {
- for (int i = 0; i < t1.length; i++) {
- if (t1[i] != t2[i]) {
- return false;
- }
- }
- return true;
- }
- } else if (i1 instanceof BranchInstruction) {
- return ((BranchInstruction) i1).target == ((BranchInstruction) i2).target;
- } else if (i1 instanceof ConstantPushInstruction) {
- return ((ConstantPushInstruction) i1).getValue().equals(
- ((ConstantPushInstruction) i2).getValue());
- } else if (i1 instanceof IndexedInstruction) {
- return ((IndexedInstruction) i1).getIndex() == ((IndexedInstruction) i2)
- .getIndex();
- } else if (i1 instanceof NEWARRAY) {
- return ((NEWARRAY) i1).getTypecode() == ((NEWARRAY) i2).getTypecode();
- } else {
- return true;
- }
- }
- return false;
- }
- };
-
-
- public boolean equals( Instruction i1, Instruction i2 );
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+/**
+ * Equality of instructions isn't clearly to be defined. You might
+ * wish, for example, to compare whether instructions have the same
+ * meaning. E.g., whether two INVOKEVIRTUALs describe the same
+ * call. The DEFAULT comparator however, considers two instructions
+ * to be equal if they have same opcode and point to the same indexes
+ * (if any) in the constant pool or the same local variable index. Branch
+ * instructions must have the same target.
+ *
+ * @see Instruction
+ * @version $Id: InstructionComparator.java 1749597 2016-06-21 20:28:51Z ggregory $
+ */
+public interface InstructionComparator {
+
+ InstructionComparator DEFAULT = new InstructionComparator() {
+
+ @Override
+ public boolean equals( final Instruction i1, final Instruction i2 ) {
+ if (i1.getOpcode() == i2.getOpcode()) {
+ if (i1 instanceof BranchInstruction) {
+ // BIs are never equal to make targeters work correctly (BCEL-195)
+ return false;
+// } else if (i1 == i2) { TODO consider adding this shortcut
+// return true; // this must be AFTER the BI test
+ } else if (i1 instanceof ConstantPushInstruction) {
+ return ((ConstantPushInstruction) i1).getValue().equals(
+ ((ConstantPushInstruction) i2).getValue());
+ } else if (i1 instanceof IndexedInstruction) {
+ return ((IndexedInstruction) i1).getIndex() == ((IndexedInstruction) i2)
+ .getIndex();
+ } else if (i1 instanceof NEWARRAY) {
+ return ((NEWARRAY) i1).getTypecode() == ((NEWARRAY) i2).getTypecode();
+ } else {
+ return true;
+ }
+ }
+ return false;
+ }
+ };
+
+
+ boolean equals( Instruction i1, Instruction i2 );
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/InstructionConstants.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionConst.java
old mode 100755
new mode 100644
similarity index 58%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/InstructionConstants.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionConst.java
index a33534f8..df198194
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/InstructionConstants.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionConst.java
@@ -1,286 +1,297 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-import org.apache.bcel5_2_0.Constants;
-
-/**
- * This interface contains shareable instruction objects.
- *
- * In order to save memory you can use some instructions multiply,
- * since they have an immutable state and are directly derived from
- * Instruction. I.e. they have no instance fields that could be
- * changed. Since some of these instructions like ICONST_0 occur
- * very frequently this can save a lot of time and space. This
- * feature is an adaptation of the FlyWeight design pattern, we
- * just use an array instead of a factory.
- *
- * The Instructions can also accessed directly under their names, so
- * it's possible to write il.append(Instruction.ICONST_0);
- *
- * @version $Id: InstructionConstants.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- */
-public interface InstructionConstants {
-
- /** Predefined instruction objects
- */
- public static final Instruction NOP = new NOP();
- public static final Instruction ACONST_NULL = new ACONST_NULL();
- public static final Instruction ICONST_M1 = new ICONST(-1);
- public static final Instruction ICONST_0 = new ICONST(0);
- public static final Instruction ICONST_1 = new ICONST(1);
- public static final Instruction ICONST_2 = new ICONST(2);
- public static final Instruction ICONST_3 = new ICONST(3);
- public static final Instruction ICONST_4 = new ICONST(4);
- public static final Instruction ICONST_5 = new ICONST(5);
- public static final Instruction LCONST_0 = new LCONST(0);
- public static final Instruction LCONST_1 = new LCONST(1);
- public static final Instruction FCONST_0 = new FCONST(0);
- public static final Instruction FCONST_1 = new FCONST(1);
- public static final Instruction FCONST_2 = new FCONST(2);
- public static final Instruction DCONST_0 = new DCONST(0);
- public static final Instruction DCONST_1 = new DCONST(1);
- public static final ArrayInstruction IALOAD = new IALOAD();
- public static final ArrayInstruction LALOAD = new LALOAD();
- public static final ArrayInstruction FALOAD = new FALOAD();
- public static final ArrayInstruction DALOAD = new DALOAD();
- public static final ArrayInstruction AALOAD = new AALOAD();
- public static final ArrayInstruction BALOAD = new BALOAD();
- public static final ArrayInstruction CALOAD = new CALOAD();
- public static final ArrayInstruction SALOAD = new SALOAD();
- public static final ArrayInstruction IASTORE = new IASTORE();
- public static final ArrayInstruction LASTORE = new LASTORE();
- public static final ArrayInstruction FASTORE = new FASTORE();
- public static final ArrayInstruction DASTORE = new DASTORE();
- public static final ArrayInstruction AASTORE = new AASTORE();
- public static final ArrayInstruction BASTORE = new BASTORE();
- public static final ArrayInstruction CASTORE = new CASTORE();
- public static final ArrayInstruction SASTORE = new SASTORE();
- public static final StackInstruction POP = new POP();
- public static final StackInstruction POP2 = new POP2();
- public static final StackInstruction DUP = new DUP();
- public static final StackInstruction DUP_X1 = new DUP_X1();
- public static final StackInstruction DUP_X2 = new DUP_X2();
- public static final StackInstruction DUP2 = new DUP2();
- public static final StackInstruction DUP2_X1 = new DUP2_X1();
- public static final StackInstruction DUP2_X2 = new DUP2_X2();
- public static final StackInstruction SWAP = new SWAP();
- public static final ArithmeticInstruction IADD = new IADD();
- public static final ArithmeticInstruction LADD = new LADD();
- public static final ArithmeticInstruction FADD = new FADD();
- public static final ArithmeticInstruction DADD = new DADD();
- public static final ArithmeticInstruction ISUB = new ISUB();
- public static final ArithmeticInstruction LSUB = new LSUB();
- public static final ArithmeticInstruction FSUB = new FSUB();
- public static final ArithmeticInstruction DSUB = new DSUB();
- public static final ArithmeticInstruction IMUL = new IMUL();
- public static final ArithmeticInstruction LMUL = new LMUL();
- public static final ArithmeticInstruction FMUL = new FMUL();
- public static final ArithmeticInstruction DMUL = new DMUL();
- public static final ArithmeticInstruction IDIV = new IDIV();
- public static final ArithmeticInstruction LDIV = new LDIV();
- public static final ArithmeticInstruction FDIV = new FDIV();
- public static final ArithmeticInstruction DDIV = new DDIV();
- public static final ArithmeticInstruction IREM = new IREM();
- public static final ArithmeticInstruction LREM = new LREM();
- public static final ArithmeticInstruction FREM = new FREM();
- public static final ArithmeticInstruction DREM = new DREM();
- public static final ArithmeticInstruction INEG = new INEG();
- public static final ArithmeticInstruction LNEG = new LNEG();
- public static final ArithmeticInstruction FNEG = new FNEG();
- public static final ArithmeticInstruction DNEG = new DNEG();
- public static final ArithmeticInstruction ISHL = new ISHL();
- public static final ArithmeticInstruction LSHL = new LSHL();
- public static final ArithmeticInstruction ISHR = new ISHR();
- public static final ArithmeticInstruction LSHR = new LSHR();
- public static final ArithmeticInstruction IUSHR = new IUSHR();
- public static final ArithmeticInstruction LUSHR = new LUSHR();
- public static final ArithmeticInstruction IAND = new IAND();
- public static final ArithmeticInstruction LAND = new LAND();
- public static final ArithmeticInstruction IOR = new IOR();
- public static final ArithmeticInstruction LOR = new LOR();
- public static final ArithmeticInstruction IXOR = new IXOR();
- public static final ArithmeticInstruction LXOR = new LXOR();
- public static final ConversionInstruction I2L = new I2L();
- public static final ConversionInstruction I2F = new I2F();
- public static final ConversionInstruction I2D = new I2D();
- public static final ConversionInstruction L2I = new L2I();
- public static final ConversionInstruction L2F = new L2F();
- public static final ConversionInstruction L2D = new L2D();
- public static final ConversionInstruction F2I = new F2I();
- public static final ConversionInstruction F2L = new F2L();
- public static final ConversionInstruction F2D = new F2D();
- public static final ConversionInstruction D2I = new D2I();
- public static final ConversionInstruction D2L = new D2L();
- public static final ConversionInstruction D2F = new D2F();
- public static final ConversionInstruction I2B = new I2B();
- public static final ConversionInstruction I2C = new I2C();
- public static final ConversionInstruction I2S = new I2S();
- public static final Instruction LCMP = new LCMP();
- public static final Instruction FCMPL = new FCMPL();
- public static final Instruction FCMPG = new FCMPG();
- public static final Instruction DCMPL = new DCMPL();
- public static final Instruction DCMPG = new DCMPG();
- public static final ReturnInstruction IRETURN = new IRETURN();
- public static final ReturnInstruction LRETURN = new LRETURN();
- public static final ReturnInstruction FRETURN = new FRETURN();
- public static final ReturnInstruction DRETURN = new DRETURN();
- public static final ReturnInstruction ARETURN = new ARETURN();
- public static final ReturnInstruction RETURN = new RETURN();
- public static final Instruction ARRAYLENGTH = new ARRAYLENGTH();
- public static final Instruction ATHROW = new ATHROW();
- public static final Instruction MONITORENTER = new MONITORENTER();
- public static final Instruction MONITOREXIT = new MONITOREXIT();
- /** You can use these constants in multiple places safely, if you can guarantee
- * that you will never alter their internal values, e.g. call setIndex().
- */
- public static final LocalVariableInstruction THIS = new ALOAD(0);
- public static final LocalVariableInstruction ALOAD_0 = THIS;
- public static final LocalVariableInstruction ALOAD_1 = new ALOAD(1);
- public static final LocalVariableInstruction ALOAD_2 = new ALOAD(2);
- public static final LocalVariableInstruction ILOAD_0 = new ILOAD(0);
- public static final LocalVariableInstruction ILOAD_1 = new ILOAD(1);
- public static final LocalVariableInstruction ILOAD_2 = new ILOAD(2);
- public static final LocalVariableInstruction ASTORE_0 = new ASTORE(0);
- public static final LocalVariableInstruction ASTORE_1 = new ASTORE(1);
- public static final LocalVariableInstruction ASTORE_2 = new ASTORE(2);
- public static final LocalVariableInstruction ISTORE_0 = new ISTORE(0);
- public static final LocalVariableInstruction ISTORE_1 = new ISTORE(1);
- public static final LocalVariableInstruction ISTORE_2 = new ISTORE(2);
- /** Get object via its opcode, for immutable instructions like
- * branch instructions entries are set to null.
- */
- public static final Instruction[] INSTRUCTIONS = new Instruction[256];
- /** Interfaces may have no static initializers, so we simulate this
- * with an inner class.
- */
- static final Clinit bla = new Clinit();
-
- static class Clinit {
-
- Clinit() {
- INSTRUCTIONS[Constants.NOP] = NOP;
- INSTRUCTIONS[Constants.ACONST_NULL] = ACONST_NULL;
- INSTRUCTIONS[Constants.ICONST_M1] = ICONST_M1;
- INSTRUCTIONS[Constants.ICONST_0] = ICONST_0;
- INSTRUCTIONS[Constants.ICONST_1] = ICONST_1;
- INSTRUCTIONS[Constants.ICONST_2] = ICONST_2;
- INSTRUCTIONS[Constants.ICONST_3] = ICONST_3;
- INSTRUCTIONS[Constants.ICONST_4] = ICONST_4;
- INSTRUCTIONS[Constants.ICONST_5] = ICONST_5;
- INSTRUCTIONS[Constants.LCONST_0] = LCONST_0;
- INSTRUCTIONS[Constants.LCONST_1] = LCONST_1;
- INSTRUCTIONS[Constants.FCONST_0] = FCONST_0;
- INSTRUCTIONS[Constants.FCONST_1] = FCONST_1;
- INSTRUCTIONS[Constants.FCONST_2] = FCONST_2;
- INSTRUCTIONS[Constants.DCONST_0] = DCONST_0;
- INSTRUCTIONS[Constants.DCONST_1] = DCONST_1;
- INSTRUCTIONS[Constants.IALOAD] = IALOAD;
- INSTRUCTIONS[Constants.LALOAD] = LALOAD;
- INSTRUCTIONS[Constants.FALOAD] = FALOAD;
- INSTRUCTIONS[Constants.DALOAD] = DALOAD;
- INSTRUCTIONS[Constants.AALOAD] = AALOAD;
- INSTRUCTIONS[Constants.BALOAD] = BALOAD;
- INSTRUCTIONS[Constants.CALOAD] = CALOAD;
- INSTRUCTIONS[Constants.SALOAD] = SALOAD;
- INSTRUCTIONS[Constants.IASTORE] = IASTORE;
- INSTRUCTIONS[Constants.LASTORE] = LASTORE;
- INSTRUCTIONS[Constants.FASTORE] = FASTORE;
- INSTRUCTIONS[Constants.DASTORE] = DASTORE;
- INSTRUCTIONS[Constants.AASTORE] = AASTORE;
- INSTRUCTIONS[Constants.BASTORE] = BASTORE;
- INSTRUCTIONS[Constants.CASTORE] = CASTORE;
- INSTRUCTIONS[Constants.SASTORE] = SASTORE;
- INSTRUCTIONS[Constants.POP] = POP;
- INSTRUCTIONS[Constants.POP2] = POP2;
- INSTRUCTIONS[Constants.DUP] = DUP;
- INSTRUCTIONS[Constants.DUP_X1] = DUP_X1;
- INSTRUCTIONS[Constants.DUP_X2] = DUP_X2;
- INSTRUCTIONS[Constants.DUP2] = DUP2;
- INSTRUCTIONS[Constants.DUP2_X1] = DUP2_X1;
- INSTRUCTIONS[Constants.DUP2_X2] = DUP2_X2;
- INSTRUCTIONS[Constants.SWAP] = SWAP;
- INSTRUCTIONS[Constants.IADD] = IADD;
- INSTRUCTIONS[Constants.LADD] = LADD;
- INSTRUCTIONS[Constants.FADD] = FADD;
- INSTRUCTIONS[Constants.DADD] = DADD;
- INSTRUCTIONS[Constants.ISUB] = ISUB;
- INSTRUCTIONS[Constants.LSUB] = LSUB;
- INSTRUCTIONS[Constants.FSUB] = FSUB;
- INSTRUCTIONS[Constants.DSUB] = DSUB;
- INSTRUCTIONS[Constants.IMUL] = IMUL;
- INSTRUCTIONS[Constants.LMUL] = LMUL;
- INSTRUCTIONS[Constants.FMUL] = FMUL;
- INSTRUCTIONS[Constants.DMUL] = DMUL;
- INSTRUCTIONS[Constants.IDIV] = IDIV;
- INSTRUCTIONS[Constants.LDIV] = LDIV;
- INSTRUCTIONS[Constants.FDIV] = FDIV;
- INSTRUCTIONS[Constants.DDIV] = DDIV;
- INSTRUCTIONS[Constants.IREM] = IREM;
- INSTRUCTIONS[Constants.LREM] = LREM;
- INSTRUCTIONS[Constants.FREM] = FREM;
- INSTRUCTIONS[Constants.DREM] = DREM;
- INSTRUCTIONS[Constants.INEG] = INEG;
- INSTRUCTIONS[Constants.LNEG] = LNEG;
- INSTRUCTIONS[Constants.FNEG] = FNEG;
- INSTRUCTIONS[Constants.DNEG] = DNEG;
- INSTRUCTIONS[Constants.ISHL] = ISHL;
- INSTRUCTIONS[Constants.LSHL] = LSHL;
- INSTRUCTIONS[Constants.ISHR] = ISHR;
- INSTRUCTIONS[Constants.LSHR] = LSHR;
- INSTRUCTIONS[Constants.IUSHR] = IUSHR;
- INSTRUCTIONS[Constants.LUSHR] = LUSHR;
- INSTRUCTIONS[Constants.IAND] = IAND;
- INSTRUCTIONS[Constants.LAND] = LAND;
- INSTRUCTIONS[Constants.IOR] = IOR;
- INSTRUCTIONS[Constants.LOR] = LOR;
- INSTRUCTIONS[Constants.IXOR] = IXOR;
- INSTRUCTIONS[Constants.LXOR] = LXOR;
- INSTRUCTIONS[Constants.I2L] = I2L;
- INSTRUCTIONS[Constants.I2F] = I2F;
- INSTRUCTIONS[Constants.I2D] = I2D;
- INSTRUCTIONS[Constants.L2I] = L2I;
- INSTRUCTIONS[Constants.L2F] = L2F;
- INSTRUCTIONS[Constants.L2D] = L2D;
- INSTRUCTIONS[Constants.F2I] = F2I;
- INSTRUCTIONS[Constants.F2L] = F2L;
- INSTRUCTIONS[Constants.F2D] = F2D;
- INSTRUCTIONS[Constants.D2I] = D2I;
- INSTRUCTIONS[Constants.D2L] = D2L;
- INSTRUCTIONS[Constants.D2F] = D2F;
- INSTRUCTIONS[Constants.I2B] = I2B;
- INSTRUCTIONS[Constants.I2C] = I2C;
- INSTRUCTIONS[Constants.I2S] = I2S;
- INSTRUCTIONS[Constants.LCMP] = LCMP;
- INSTRUCTIONS[Constants.FCMPL] = FCMPL;
- INSTRUCTIONS[Constants.FCMPG] = FCMPG;
- INSTRUCTIONS[Constants.DCMPL] = DCMPL;
- INSTRUCTIONS[Constants.DCMPG] = DCMPG;
- INSTRUCTIONS[Constants.IRETURN] = IRETURN;
- INSTRUCTIONS[Constants.LRETURN] = LRETURN;
- INSTRUCTIONS[Constants.FRETURN] = FRETURN;
- INSTRUCTIONS[Constants.DRETURN] = DRETURN;
- INSTRUCTIONS[Constants.ARETURN] = ARETURN;
- INSTRUCTIONS[Constants.RETURN] = RETURN;
- INSTRUCTIONS[Constants.ARRAYLENGTH] = ARRAYLENGTH;
- INSTRUCTIONS[Constants.ATHROW] = ATHROW;
- INSTRUCTIONS[Constants.MONITORENTER] = MONITORENTER;
- INSTRUCTIONS[Constants.MONITOREXIT] = MONITOREXIT;
- }
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import org.apache.bcel.Const;
+
+/**
+ * This interface contains shareable instruction objects.
+ *
+ * In order to save memory you can use some instructions multiply,
+ * since they have an immutable state and are directly derived from
+ * Instruction. I.e. they have no instance fields that could be
+ * changed. Since some of these instructions like ICONST_0 occur
+ * very frequently this can save a lot of time and space. This
+ * feature is an adaptation of the FlyWeight design pattern, we
+ * just use an array instead of a factory.
+ *
+ * The Instructions can also accessed directly under their names, so
+ * it's possible to write il.append(Instruction.ICONST_0);
+ *
+ * @version $Id: InstructionConstants.java 1695415 2015-08-12 01:02:39Z chas $
+ */
+public final class InstructionConst {
+
+ /**
+ * Predefined instruction objects
+ */
+ /*
+ * NOTE these are not currently immutable, because Instruction
+ * has mutable protected fields opcode and length.
+ */
+ public static final Instruction NOP = new NOP();
+ public static final Instruction ACONST_NULL = new ACONST_NULL();
+ public static final Instruction ICONST_M1 = new ICONST(-1);
+ public static final Instruction ICONST_0 = new ICONST(0);
+ public static final Instruction ICONST_1 = new ICONST(1);
+ public static final Instruction ICONST_2 = new ICONST(2);
+ public static final Instruction ICONST_3 = new ICONST(3);
+ public static final Instruction ICONST_4 = new ICONST(4);
+ public static final Instruction ICONST_5 = new ICONST(5);
+ public static final Instruction LCONST_0 = new LCONST(0);
+ public static final Instruction LCONST_1 = new LCONST(1);
+ public static final Instruction FCONST_0 = new FCONST(0);
+ public static final Instruction FCONST_1 = new FCONST(1);
+ public static final Instruction FCONST_2 = new FCONST(2);
+ public static final Instruction DCONST_0 = new DCONST(0);
+ public static final Instruction DCONST_1 = new DCONST(1);
+ public static final ArrayInstruction IALOAD = new IALOAD();
+ public static final ArrayInstruction LALOAD = new LALOAD();
+ public static final ArrayInstruction FALOAD = new FALOAD();
+ public static final ArrayInstruction DALOAD = new DALOAD();
+ public static final ArrayInstruction AALOAD = new AALOAD();
+ public static final ArrayInstruction BALOAD = new BALOAD();
+ public static final ArrayInstruction CALOAD = new CALOAD();
+ public static final ArrayInstruction SALOAD = new SALOAD();
+ public static final ArrayInstruction IASTORE = new IASTORE();
+ public static final ArrayInstruction LASTORE = new LASTORE();
+ public static final ArrayInstruction FASTORE = new FASTORE();
+ public static final ArrayInstruction DASTORE = new DASTORE();
+ public static final ArrayInstruction AASTORE = new AASTORE();
+ public static final ArrayInstruction BASTORE = new BASTORE();
+ public static final ArrayInstruction CASTORE = new CASTORE();
+ public static final ArrayInstruction SASTORE = new SASTORE();
+ public static final StackInstruction POP = new POP();
+ public static final StackInstruction POP2 = new POP2();
+ public static final StackInstruction DUP = new DUP();
+ public static final StackInstruction DUP_X1 = new DUP_X1();
+ public static final StackInstruction DUP_X2 = new DUP_X2();
+ public static final StackInstruction DUP2 = new DUP2();
+ public static final StackInstruction DUP2_X1 = new DUP2_X1();
+ public static final StackInstruction DUP2_X2 = new DUP2_X2();
+ public static final StackInstruction SWAP = new SWAP();
+ public static final ArithmeticInstruction IADD = new IADD();
+ public static final ArithmeticInstruction LADD = new LADD();
+ public static final ArithmeticInstruction FADD = new FADD();
+ public static final ArithmeticInstruction DADD = new DADD();
+ public static final ArithmeticInstruction ISUB = new ISUB();
+ public static final ArithmeticInstruction LSUB = new LSUB();
+ public static final ArithmeticInstruction FSUB = new FSUB();
+ public static final ArithmeticInstruction DSUB = new DSUB();
+ public static final ArithmeticInstruction IMUL = new IMUL();
+ public static final ArithmeticInstruction LMUL = new LMUL();
+ public static final ArithmeticInstruction FMUL = new FMUL();
+ public static final ArithmeticInstruction DMUL = new DMUL();
+ public static final ArithmeticInstruction IDIV = new IDIV();
+ public static final ArithmeticInstruction LDIV = new LDIV();
+ public static final ArithmeticInstruction FDIV = new FDIV();
+ public static final ArithmeticInstruction DDIV = new DDIV();
+ public static final ArithmeticInstruction IREM = new IREM();
+ public static final ArithmeticInstruction LREM = new LREM();
+ public static final ArithmeticInstruction FREM = new FREM();
+ public static final ArithmeticInstruction DREM = new DREM();
+ public static final ArithmeticInstruction INEG = new INEG();
+ public static final ArithmeticInstruction LNEG = new LNEG();
+ public static final ArithmeticInstruction FNEG = new FNEG();
+ public static final ArithmeticInstruction DNEG = new DNEG();
+ public static final ArithmeticInstruction ISHL = new ISHL();
+ public static final ArithmeticInstruction LSHL = new LSHL();
+ public static final ArithmeticInstruction ISHR = new ISHR();
+ public static final ArithmeticInstruction LSHR = new LSHR();
+ public static final ArithmeticInstruction IUSHR = new IUSHR();
+ public static final ArithmeticInstruction LUSHR = new LUSHR();
+ public static final ArithmeticInstruction IAND = new IAND();
+ public static final ArithmeticInstruction LAND = new LAND();
+ public static final ArithmeticInstruction IOR = new IOR();
+ public static final ArithmeticInstruction LOR = new LOR();
+ public static final ArithmeticInstruction IXOR = new IXOR();
+ public static final ArithmeticInstruction LXOR = new LXOR();
+ public static final ConversionInstruction I2L = new I2L();
+ public static final ConversionInstruction I2F = new I2F();
+ public static final ConversionInstruction I2D = new I2D();
+ public static final ConversionInstruction L2I = new L2I();
+ public static final ConversionInstruction L2F = new L2F();
+ public static final ConversionInstruction L2D = new L2D();
+ public static final ConversionInstruction F2I = new F2I();
+ public static final ConversionInstruction F2L = new F2L();
+ public static final ConversionInstruction F2D = new F2D();
+ public static final ConversionInstruction D2I = new D2I();
+ public static final ConversionInstruction D2L = new D2L();
+ public static final ConversionInstruction D2F = new D2F();
+ public static final ConversionInstruction I2B = new I2B();
+ public static final ConversionInstruction I2C = new I2C();
+ public static final ConversionInstruction I2S = new I2S();
+ public static final Instruction LCMP = new LCMP();
+ public static final Instruction FCMPL = new FCMPL();
+ public static final Instruction FCMPG = new FCMPG();
+ public static final Instruction DCMPL = new DCMPL();
+ public static final Instruction DCMPG = new DCMPG();
+ public static final ReturnInstruction IRETURN = new IRETURN();
+ public static final ReturnInstruction LRETURN = new LRETURN();
+ public static final ReturnInstruction FRETURN = new FRETURN();
+ public static final ReturnInstruction DRETURN = new DRETURN();
+ public static final ReturnInstruction ARETURN = new ARETURN();
+ public static final ReturnInstruction RETURN = new RETURN();
+ public static final Instruction ARRAYLENGTH = new ARRAYLENGTH();
+ public static final Instruction ATHROW = new ATHROW();
+ public static final Instruction MONITORENTER = new MONITORENTER();
+ public static final Instruction MONITOREXIT = new MONITOREXIT();
+
+ /** You can use these constants in multiple places safely, if you can guarantee
+ * that you will never alter their internal values, e.g. call setIndex().
+ */
+ public static final LocalVariableInstruction THIS = new ALOAD(0);
+ public static final LocalVariableInstruction ALOAD_0 = THIS;
+ public static final LocalVariableInstruction ALOAD_1 = new ALOAD(1);
+ public static final LocalVariableInstruction ALOAD_2 = new ALOAD(2);
+ public static final LocalVariableInstruction ILOAD_0 = new ILOAD(0);
+ public static final LocalVariableInstruction ILOAD_1 = new ILOAD(1);
+ public static final LocalVariableInstruction ILOAD_2 = new ILOAD(2);
+ public static final LocalVariableInstruction ASTORE_0 = new ASTORE(0);
+ public static final LocalVariableInstruction ASTORE_1 = new ASTORE(1);
+ public static final LocalVariableInstruction ASTORE_2 = new ASTORE(2);
+ public static final LocalVariableInstruction ISTORE_0 = new ISTORE(0);
+ public static final LocalVariableInstruction ISTORE_1 = new ISTORE(1);
+ public static final LocalVariableInstruction ISTORE_2 = new ISTORE(2);
+
+ /** Get object via its opcode, for immutable instructions like
+ * branch instructions entries are set to null.
+ */
+ private static final Instruction[] INSTRUCTIONS = new Instruction[256];
+
+ static {
+ INSTRUCTIONS[Const.NOP] = NOP;
+ INSTRUCTIONS[Const.ACONST_NULL] = ACONST_NULL;
+ INSTRUCTIONS[Const.ICONST_M1] = ICONST_M1;
+ INSTRUCTIONS[Const.ICONST_0] = ICONST_0;
+ INSTRUCTIONS[Const.ICONST_1] = ICONST_1;
+ INSTRUCTIONS[Const.ICONST_2] = ICONST_2;
+ INSTRUCTIONS[Const.ICONST_3] = ICONST_3;
+ INSTRUCTIONS[Const.ICONST_4] = ICONST_4;
+ INSTRUCTIONS[Const.ICONST_5] = ICONST_5;
+ INSTRUCTIONS[Const.LCONST_0] = LCONST_0;
+ INSTRUCTIONS[Const.LCONST_1] = LCONST_1;
+ INSTRUCTIONS[Const.FCONST_0] = FCONST_0;
+ INSTRUCTIONS[Const.FCONST_1] = FCONST_1;
+ INSTRUCTIONS[Const.FCONST_2] = FCONST_2;
+ INSTRUCTIONS[Const.DCONST_0] = DCONST_0;
+ INSTRUCTIONS[Const.DCONST_1] = DCONST_1;
+ INSTRUCTIONS[Const.IALOAD] = IALOAD;
+ INSTRUCTIONS[Const.LALOAD] = LALOAD;
+ INSTRUCTIONS[Const.FALOAD] = FALOAD;
+ INSTRUCTIONS[Const.DALOAD] = DALOAD;
+ INSTRUCTIONS[Const.AALOAD] = AALOAD;
+ INSTRUCTIONS[Const.BALOAD] = BALOAD;
+ INSTRUCTIONS[Const.CALOAD] = CALOAD;
+ INSTRUCTIONS[Const.SALOAD] = SALOAD;
+ INSTRUCTIONS[Const.IASTORE] = IASTORE;
+ INSTRUCTIONS[Const.LASTORE] = LASTORE;
+ INSTRUCTIONS[Const.FASTORE] = FASTORE;
+ INSTRUCTIONS[Const.DASTORE] = DASTORE;
+ INSTRUCTIONS[Const.AASTORE] = AASTORE;
+ INSTRUCTIONS[Const.BASTORE] = BASTORE;
+ INSTRUCTIONS[Const.CASTORE] = CASTORE;
+ INSTRUCTIONS[Const.SASTORE] = SASTORE;
+ INSTRUCTIONS[Const.POP] = POP;
+ INSTRUCTIONS[Const.POP2] = POP2;
+ INSTRUCTIONS[Const.DUP] = DUP;
+ INSTRUCTIONS[Const.DUP_X1] = DUP_X1;
+ INSTRUCTIONS[Const.DUP_X2] = DUP_X2;
+ INSTRUCTIONS[Const.DUP2] = DUP2;
+ INSTRUCTIONS[Const.DUP2_X1] = DUP2_X1;
+ INSTRUCTIONS[Const.DUP2_X2] = DUP2_X2;
+ INSTRUCTIONS[Const.SWAP] = SWAP;
+ INSTRUCTIONS[Const.IADD] = IADD;
+ INSTRUCTIONS[Const.LADD] = LADD;
+ INSTRUCTIONS[Const.FADD] = FADD;
+ INSTRUCTIONS[Const.DADD] = DADD;
+ INSTRUCTIONS[Const.ISUB] = ISUB;
+ INSTRUCTIONS[Const.LSUB] = LSUB;
+ INSTRUCTIONS[Const.FSUB] = FSUB;
+ INSTRUCTIONS[Const.DSUB] = DSUB;
+ INSTRUCTIONS[Const.IMUL] = IMUL;
+ INSTRUCTIONS[Const.LMUL] = LMUL;
+ INSTRUCTIONS[Const.FMUL] = FMUL;
+ INSTRUCTIONS[Const.DMUL] = DMUL;
+ INSTRUCTIONS[Const.IDIV] = IDIV;
+ INSTRUCTIONS[Const.LDIV] = LDIV;
+ INSTRUCTIONS[Const.FDIV] = FDIV;
+ INSTRUCTIONS[Const.DDIV] = DDIV;
+ INSTRUCTIONS[Const.IREM] = IREM;
+ INSTRUCTIONS[Const.LREM] = LREM;
+ INSTRUCTIONS[Const.FREM] = FREM;
+ INSTRUCTIONS[Const.DREM] = DREM;
+ INSTRUCTIONS[Const.INEG] = INEG;
+ INSTRUCTIONS[Const.LNEG] = LNEG;
+ INSTRUCTIONS[Const.FNEG] = FNEG;
+ INSTRUCTIONS[Const.DNEG] = DNEG;
+ INSTRUCTIONS[Const.ISHL] = ISHL;
+ INSTRUCTIONS[Const.LSHL] = LSHL;
+ INSTRUCTIONS[Const.ISHR] = ISHR;
+ INSTRUCTIONS[Const.LSHR] = LSHR;
+ INSTRUCTIONS[Const.IUSHR] = IUSHR;
+ INSTRUCTIONS[Const.LUSHR] = LUSHR;
+ INSTRUCTIONS[Const.IAND] = IAND;
+ INSTRUCTIONS[Const.LAND] = LAND;
+ INSTRUCTIONS[Const.IOR] = IOR;
+ INSTRUCTIONS[Const.LOR] = LOR;
+ INSTRUCTIONS[Const.IXOR] = IXOR;
+ INSTRUCTIONS[Const.LXOR] = LXOR;
+ INSTRUCTIONS[Const.I2L] = I2L;
+ INSTRUCTIONS[Const.I2F] = I2F;
+ INSTRUCTIONS[Const.I2D] = I2D;
+ INSTRUCTIONS[Const.L2I] = L2I;
+ INSTRUCTIONS[Const.L2F] = L2F;
+ INSTRUCTIONS[Const.L2D] = L2D;
+ INSTRUCTIONS[Const.F2I] = F2I;
+ INSTRUCTIONS[Const.F2L] = F2L;
+ INSTRUCTIONS[Const.F2D] = F2D;
+ INSTRUCTIONS[Const.D2I] = D2I;
+ INSTRUCTIONS[Const.D2L] = D2L;
+ INSTRUCTIONS[Const.D2F] = D2F;
+ INSTRUCTIONS[Const.I2B] = I2B;
+ INSTRUCTIONS[Const.I2C] = I2C;
+ INSTRUCTIONS[Const.I2S] = I2S;
+ INSTRUCTIONS[Const.LCMP] = LCMP;
+ INSTRUCTIONS[Const.FCMPL] = FCMPL;
+ INSTRUCTIONS[Const.FCMPG] = FCMPG;
+ INSTRUCTIONS[Const.DCMPL] = DCMPL;
+ INSTRUCTIONS[Const.DCMPG] = DCMPG;
+ INSTRUCTIONS[Const.IRETURN] = IRETURN;
+ INSTRUCTIONS[Const.LRETURN] = LRETURN;
+ INSTRUCTIONS[Const.FRETURN] = FRETURN;
+ INSTRUCTIONS[Const.DRETURN] = DRETURN;
+ INSTRUCTIONS[Const.ARETURN] = ARETURN;
+ INSTRUCTIONS[Const.RETURN] = RETURN;
+ INSTRUCTIONS[Const.ARRAYLENGTH] = ARRAYLENGTH;
+ INSTRUCTIONS[Const.ATHROW] = ATHROW;
+ INSTRUCTIONS[Const.MONITORENTER] = MONITORENTER;
+ INSTRUCTIONS[Const.MONITOREXIT] = MONITOREXIT;
+ }
+
+ private InstructionConst() { } // non-instantiable
+
+ /**
+ * Gets the Instruction.
+ * @param index the index, e.g. {@link Const#RETURN}
+ * @return the entry from the private INSTRUCTIONS table
+ */
+ public static Instruction getInstruction(final int index) {
+ return INSTRUCTIONS[index];
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionConstants.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionConstants.java
new file mode 100644
index 00000000..2fb0521f
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionConstants.java
@@ -0,0 +1,292 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import org.apache.bcel.Const;
+
+/**
+ * This interface contains shareable instruction objects.
+ *
+ * In order to save memory you can use some instructions multiply,
+ * since they have an immutable state and are directly derived from
+ * Instruction. I.e. they have no instance fields that could be
+ * changed. Since some of these instructions like ICONST_0 occur
+ * very frequently this can save a lot of time and space. This
+ * feature is an adaptation of the FlyWeight design pattern, we
+ * just use an array instead of a factory.
+ *
+ * The Instructions can also accessed directly under their names, so
+ * it's possible to write il.append(Instruction.ICONST_0);
+ *
+ * @version $Id: InstructionConstants.java 1806200 2017-08-25 16:33:06Z ggregory $
+ * @deprecated (since 6.0) Do not use. Use InstructionConst instead.
+ */
+@Deprecated
+public interface InstructionConstants {
+
+ /** Predefined instruction objects
+ */
+ /*
+ * NOTE these are not currently immutable, because Instruction
+ * has mutable protected fields opcode and length.
+ */
+ Instruction NOP = new NOP();
+ Instruction ACONST_NULL = new ACONST_NULL();
+ Instruction ICONST_M1 = new ICONST(-1);
+ Instruction ICONST_0 = new ICONST(0);
+ Instruction ICONST_1 = new ICONST(1);
+ Instruction ICONST_2 = new ICONST(2);
+ Instruction ICONST_3 = new ICONST(3);
+ Instruction ICONST_4 = new ICONST(4);
+ Instruction ICONST_5 = new ICONST(5);
+ Instruction LCONST_0 = new LCONST(0);
+ Instruction LCONST_1 = new LCONST(1);
+ Instruction FCONST_0 = new FCONST(0);
+ Instruction FCONST_1 = new FCONST(1);
+ Instruction FCONST_2 = new FCONST(2);
+ Instruction DCONST_0 = new DCONST(0);
+ Instruction DCONST_1 = new DCONST(1);
+ ArrayInstruction IALOAD = new IALOAD();
+ ArrayInstruction LALOAD = new LALOAD();
+ ArrayInstruction FALOAD = new FALOAD();
+ ArrayInstruction DALOAD = new DALOAD();
+ ArrayInstruction AALOAD = new AALOAD();
+ ArrayInstruction BALOAD = new BALOAD();
+ ArrayInstruction CALOAD = new CALOAD();
+ ArrayInstruction SALOAD = new SALOAD();
+ ArrayInstruction IASTORE = new IASTORE();
+ ArrayInstruction LASTORE = new LASTORE();
+ ArrayInstruction FASTORE = new FASTORE();
+ ArrayInstruction DASTORE = new DASTORE();
+ ArrayInstruction AASTORE = new AASTORE();
+ ArrayInstruction BASTORE = new BASTORE();
+ ArrayInstruction CASTORE = new CASTORE();
+ ArrayInstruction SASTORE = new SASTORE();
+ StackInstruction POP = new POP();
+ StackInstruction POP2 = new POP2();
+ StackInstruction DUP = new DUP();
+ StackInstruction DUP_X1 = new DUP_X1();
+ StackInstruction DUP_X2 = new DUP_X2();
+ StackInstruction DUP2 = new DUP2();
+ StackInstruction DUP2_X1 = new DUP2_X1();
+ StackInstruction DUP2_X2 = new DUP2_X2();
+ StackInstruction SWAP = new SWAP();
+ ArithmeticInstruction IADD = new IADD();
+ ArithmeticInstruction LADD = new LADD();
+ ArithmeticInstruction FADD = new FADD();
+ ArithmeticInstruction DADD = new DADD();
+ ArithmeticInstruction ISUB = new ISUB();
+ ArithmeticInstruction LSUB = new LSUB();
+ ArithmeticInstruction FSUB = new FSUB();
+ ArithmeticInstruction DSUB = new DSUB();
+ ArithmeticInstruction IMUL = new IMUL();
+ ArithmeticInstruction LMUL = new LMUL();
+ ArithmeticInstruction FMUL = new FMUL();
+ ArithmeticInstruction DMUL = new DMUL();
+ ArithmeticInstruction IDIV = new IDIV();
+ ArithmeticInstruction LDIV = new LDIV();
+ ArithmeticInstruction FDIV = new FDIV();
+ ArithmeticInstruction DDIV = new DDIV();
+ ArithmeticInstruction IREM = new IREM();
+ ArithmeticInstruction LREM = new LREM();
+ ArithmeticInstruction FREM = new FREM();
+ ArithmeticInstruction DREM = new DREM();
+ ArithmeticInstruction INEG = new INEG();
+ ArithmeticInstruction LNEG = new LNEG();
+ ArithmeticInstruction FNEG = new FNEG();
+ ArithmeticInstruction DNEG = new DNEG();
+ ArithmeticInstruction ISHL = new ISHL();
+ ArithmeticInstruction LSHL = new LSHL();
+ ArithmeticInstruction ISHR = new ISHR();
+ ArithmeticInstruction LSHR = new LSHR();
+ ArithmeticInstruction IUSHR = new IUSHR();
+ ArithmeticInstruction LUSHR = new LUSHR();
+ ArithmeticInstruction IAND = new IAND();
+ ArithmeticInstruction LAND = new LAND();
+ ArithmeticInstruction IOR = new IOR();
+ ArithmeticInstruction LOR = new LOR();
+ ArithmeticInstruction IXOR = new IXOR();
+ ArithmeticInstruction LXOR = new LXOR();
+ ConversionInstruction I2L = new I2L();
+ ConversionInstruction I2F = new I2F();
+ ConversionInstruction I2D = new I2D();
+ ConversionInstruction L2I = new L2I();
+ ConversionInstruction L2F = new L2F();
+ ConversionInstruction L2D = new L2D();
+ ConversionInstruction F2I = new F2I();
+ ConversionInstruction F2L = new F2L();
+ ConversionInstruction F2D = new F2D();
+ ConversionInstruction D2I = new D2I();
+ ConversionInstruction D2L = new D2L();
+ ConversionInstruction D2F = new D2F();
+ ConversionInstruction I2B = new I2B();
+ ConversionInstruction I2C = new I2C();
+ ConversionInstruction I2S = new I2S();
+ Instruction LCMP = new LCMP();
+ Instruction FCMPL = new FCMPL();
+ Instruction FCMPG = new FCMPG();
+ Instruction DCMPL = new DCMPL();
+ Instruction DCMPG = new DCMPG();
+ ReturnInstruction IRETURN = new IRETURN();
+ ReturnInstruction LRETURN = new LRETURN();
+ ReturnInstruction FRETURN = new FRETURN();
+ ReturnInstruction DRETURN = new DRETURN();
+ ReturnInstruction ARETURN = new ARETURN();
+ ReturnInstruction RETURN = new RETURN();
+ Instruction ARRAYLENGTH = new ARRAYLENGTH();
+ Instruction ATHROW = new ATHROW();
+ Instruction MONITORENTER = new MONITORENTER();
+ Instruction MONITOREXIT = new MONITOREXIT();
+ /** You can use these constants in multiple places safely, if you can guarantee
+ * that you will never alter their internal values, e.g. call setIndex().
+ */
+ LocalVariableInstruction THIS = new ALOAD(0);
+ LocalVariableInstruction ALOAD_0 = THIS;
+ LocalVariableInstruction ALOAD_1 = new ALOAD(1);
+ LocalVariableInstruction ALOAD_2 = new ALOAD(2);
+ LocalVariableInstruction ILOAD_0 = new ILOAD(0);
+ LocalVariableInstruction ILOAD_1 = new ILOAD(1);
+ LocalVariableInstruction ILOAD_2 = new ILOAD(2);
+ LocalVariableInstruction ASTORE_0 = new ASTORE(0);
+ LocalVariableInstruction ASTORE_1 = new ASTORE(1);
+ LocalVariableInstruction ASTORE_2 = new ASTORE(2);
+ LocalVariableInstruction ISTORE_0 = new ISTORE(0);
+ LocalVariableInstruction ISTORE_1 = new ISTORE(1);
+ LocalVariableInstruction ISTORE_2 = new ISTORE(2);
+ /** Get object via its opcode, for immutable instructions like
+ * branch instructions entries are set to null.
+ */
+ Instruction[] INSTRUCTIONS = new Instruction[256];
+ /** Interfaces may have no static initializers, so we simulate this
+ * with an inner class.
+ */
+ Clinit bla = new Clinit();
+
+ class Clinit {
+
+ Clinit() {
+ INSTRUCTIONS[Const.NOP] = NOP;
+ INSTRUCTIONS[Const.ACONST_NULL] = ACONST_NULL;
+ INSTRUCTIONS[Const.ICONST_M1] = ICONST_M1;
+ INSTRUCTIONS[Const.ICONST_0] = ICONST_0;
+ INSTRUCTIONS[Const.ICONST_1] = ICONST_1;
+ INSTRUCTIONS[Const.ICONST_2] = ICONST_2;
+ INSTRUCTIONS[Const.ICONST_3] = ICONST_3;
+ INSTRUCTIONS[Const.ICONST_4] = ICONST_4;
+ INSTRUCTIONS[Const.ICONST_5] = ICONST_5;
+ INSTRUCTIONS[Const.LCONST_0] = LCONST_0;
+ INSTRUCTIONS[Const.LCONST_1] = LCONST_1;
+ INSTRUCTIONS[Const.FCONST_0] = FCONST_0;
+ INSTRUCTIONS[Const.FCONST_1] = FCONST_1;
+ INSTRUCTIONS[Const.FCONST_2] = FCONST_2;
+ INSTRUCTIONS[Const.DCONST_0] = DCONST_0;
+ INSTRUCTIONS[Const.DCONST_1] = DCONST_1;
+ INSTRUCTIONS[Const.IALOAD] = IALOAD;
+ INSTRUCTIONS[Const.LALOAD] = LALOAD;
+ INSTRUCTIONS[Const.FALOAD] = FALOAD;
+ INSTRUCTIONS[Const.DALOAD] = DALOAD;
+ INSTRUCTIONS[Const.AALOAD] = AALOAD;
+ INSTRUCTIONS[Const.BALOAD] = BALOAD;
+ INSTRUCTIONS[Const.CALOAD] = CALOAD;
+ INSTRUCTIONS[Const.SALOAD] = SALOAD;
+ INSTRUCTIONS[Const.IASTORE] = IASTORE;
+ INSTRUCTIONS[Const.LASTORE] = LASTORE;
+ INSTRUCTIONS[Const.FASTORE] = FASTORE;
+ INSTRUCTIONS[Const.DASTORE] = DASTORE;
+ INSTRUCTIONS[Const.AASTORE] = AASTORE;
+ INSTRUCTIONS[Const.BASTORE] = BASTORE;
+ INSTRUCTIONS[Const.CASTORE] = CASTORE;
+ INSTRUCTIONS[Const.SASTORE] = SASTORE;
+ INSTRUCTIONS[Const.POP] = POP;
+ INSTRUCTIONS[Const.POP2] = POP2;
+ INSTRUCTIONS[Const.DUP] = DUP;
+ INSTRUCTIONS[Const.DUP_X1] = DUP_X1;
+ INSTRUCTIONS[Const.DUP_X2] = DUP_X2;
+ INSTRUCTIONS[Const.DUP2] = DUP2;
+ INSTRUCTIONS[Const.DUP2_X1] = DUP2_X1;
+ INSTRUCTIONS[Const.DUP2_X2] = DUP2_X2;
+ INSTRUCTIONS[Const.SWAP] = SWAP;
+ INSTRUCTIONS[Const.IADD] = IADD;
+ INSTRUCTIONS[Const.LADD] = LADD;
+ INSTRUCTIONS[Const.FADD] = FADD;
+ INSTRUCTIONS[Const.DADD] = DADD;
+ INSTRUCTIONS[Const.ISUB] = ISUB;
+ INSTRUCTIONS[Const.LSUB] = LSUB;
+ INSTRUCTIONS[Const.FSUB] = FSUB;
+ INSTRUCTIONS[Const.DSUB] = DSUB;
+ INSTRUCTIONS[Const.IMUL] = IMUL;
+ INSTRUCTIONS[Const.LMUL] = LMUL;
+ INSTRUCTIONS[Const.FMUL] = FMUL;
+ INSTRUCTIONS[Const.DMUL] = DMUL;
+ INSTRUCTIONS[Const.IDIV] = IDIV;
+ INSTRUCTIONS[Const.LDIV] = LDIV;
+ INSTRUCTIONS[Const.FDIV] = FDIV;
+ INSTRUCTIONS[Const.DDIV] = DDIV;
+ INSTRUCTIONS[Const.IREM] = IREM;
+ INSTRUCTIONS[Const.LREM] = LREM;
+ INSTRUCTIONS[Const.FREM] = FREM;
+ INSTRUCTIONS[Const.DREM] = DREM;
+ INSTRUCTIONS[Const.INEG] = INEG;
+ INSTRUCTIONS[Const.LNEG] = LNEG;
+ INSTRUCTIONS[Const.FNEG] = FNEG;
+ INSTRUCTIONS[Const.DNEG] = DNEG;
+ INSTRUCTIONS[Const.ISHL] = ISHL;
+ INSTRUCTIONS[Const.LSHL] = LSHL;
+ INSTRUCTIONS[Const.ISHR] = ISHR;
+ INSTRUCTIONS[Const.LSHR] = LSHR;
+ INSTRUCTIONS[Const.IUSHR] = IUSHR;
+ INSTRUCTIONS[Const.LUSHR] = LUSHR;
+ INSTRUCTIONS[Const.IAND] = IAND;
+ INSTRUCTIONS[Const.LAND] = LAND;
+ INSTRUCTIONS[Const.IOR] = IOR;
+ INSTRUCTIONS[Const.LOR] = LOR;
+ INSTRUCTIONS[Const.IXOR] = IXOR;
+ INSTRUCTIONS[Const.LXOR] = LXOR;
+ INSTRUCTIONS[Const.I2L] = I2L;
+ INSTRUCTIONS[Const.I2F] = I2F;
+ INSTRUCTIONS[Const.I2D] = I2D;
+ INSTRUCTIONS[Const.L2I] = L2I;
+ INSTRUCTIONS[Const.L2F] = L2F;
+ INSTRUCTIONS[Const.L2D] = L2D;
+ INSTRUCTIONS[Const.F2I] = F2I;
+ INSTRUCTIONS[Const.F2L] = F2L;
+ INSTRUCTIONS[Const.F2D] = F2D;
+ INSTRUCTIONS[Const.D2I] = D2I;
+ INSTRUCTIONS[Const.D2L] = D2L;
+ INSTRUCTIONS[Const.D2F] = D2F;
+ INSTRUCTIONS[Const.I2B] = I2B;
+ INSTRUCTIONS[Const.I2C] = I2C;
+ INSTRUCTIONS[Const.I2S] = I2S;
+ INSTRUCTIONS[Const.LCMP] = LCMP;
+ INSTRUCTIONS[Const.FCMPL] = FCMPL;
+ INSTRUCTIONS[Const.FCMPG] = FCMPG;
+ INSTRUCTIONS[Const.DCMPL] = DCMPL;
+ INSTRUCTIONS[Const.DCMPG] = DCMPG;
+ INSTRUCTIONS[Const.IRETURN] = IRETURN;
+ INSTRUCTIONS[Const.LRETURN] = LRETURN;
+ INSTRUCTIONS[Const.FRETURN] = FRETURN;
+ INSTRUCTIONS[Const.DRETURN] = DRETURN;
+ INSTRUCTIONS[Const.ARETURN] = ARETURN;
+ INSTRUCTIONS[Const.RETURN] = RETURN;
+ INSTRUCTIONS[Const.ARRAYLENGTH] = ARRAYLENGTH;
+ INSTRUCTIONS[Const.ATHROW] = ATHROW;
+ INSTRUCTIONS[Const.MONITORENTER] = MONITORENTER;
+ INSTRUCTIONS[Const.MONITOREXIT] = MONITOREXIT;
+ }
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionFactory.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionFactory.java
new file mode 100644
index 00000000..f53d1df1
--- /dev/null
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionFactory.java
@@ -0,0 +1,780 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import org.apache.bcel.Const;
+
+/**
+ * Instances of this class may be used, e.g., to generate typed
+ * versions of instructions. Its main purpose is to be used as the
+ * byte code generating backend of a compiler. You can subclass it to
+ * add your own create methods.
+ *
+ * Note: The static createXXX methods return singleton instances
+ * from the {@link InstructionConst} class.
+ *
+ * @version $Id: InstructionFactory.java 1806200 2017-08-25 16:33:06Z ggregory $
+ * @see Const
+ * @see InstructionConst
+ */
+public class InstructionFactory implements InstructionConstants {
+
+ // N.N. These must agree with the order of Constants.T_CHAR through T_LONG
+ private static final String[] short_names = {
+ "C", "F", "D", "B", "S", "I", "L"
+ };
+
+ /**
+ * @deprecated (since 6.0) will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
+ protected ClassGen cg;
+
+ /**
+ * @deprecated (since 6.0) will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
+ protected ConstantPoolGen cp;
+
+
+ public InstructionFactory(final ClassGen cg, final ConstantPoolGen cp) {
+ this.cg = cg;
+ this.cp = cp;
+ }
+
+
+ /** Initialize with ClassGen object
+ */
+ public InstructionFactory(final ClassGen cg) {
+ this(cg, cg.getConstantPool());
+ }
+
+
+ /** Initialize just with ConstantPoolGen object
+ */
+ public InstructionFactory(final ConstantPoolGen cp) {
+ this(null, cp);
+ }
+
+
+ /** Create an invoke instruction. (Except for invokedynamic.)
+ *
+ * @param class_name name of the called class
+ * @param name name of the called method
+ * @param ret_type return type of method
+ * @param arg_types argument types of method
+ * @param kind how to invoke, i.e., INVOKEINTERFACE, INVOKESTATIC, INVOKEVIRTUAL,
+ * or INVOKESPECIAL
+ * @see Const
+ */
+ public InvokeInstruction createInvoke( final String class_name, final String name, final Type ret_type,
+ final Type[] arg_types, final short kind ) {
+ int index;
+ int nargs = 0;
+ final String signature = Type.getMethodSignature(ret_type, arg_types);
+ for (final Type arg_type : arg_types) {
+ nargs += arg_type.getSize();
+ }
+ if (kind == Const.INVOKEINTERFACE) {
+ index = cp.addInterfaceMethodref(class_name, name, signature);
+ } else {
+ index = cp.addMethodref(class_name, name, signature);
+ }
+ switch (kind) {
+ case Const.INVOKESPECIAL:
+ return new INVOKESPECIAL(index);
+ case Const.INVOKEVIRTUAL:
+ return new INVOKEVIRTUAL(index);
+ case Const.INVOKESTATIC:
+ return new INVOKESTATIC(index);
+ case Const.INVOKEINTERFACE:
+ return new INVOKEINTERFACE(index, nargs + 1);
+ case Const.INVOKEDYNAMIC:
+ return new INVOKEDYNAMIC(index);
+ default:
+ throw new RuntimeException("Oops: Unknown invoke kind: " + kind);
+ }
+ }
+
+ /** Create an invokedynamic instruction.
+ *
+ * @param bootstrap_index index into the bootstrap_methods array
+ * @param name name of the called method
+ * @param ret_type return type of method
+ * @param arg_types argument types of method
+ * @see Constants
+ */
+/*
+ * createInvokeDynamic only needed if instrumention code wants to generate
+ * a new invokedynamic instruction. I don't think we need. (markro)
+ *
+ public InvokeInstruction createInvokeDynamic( int bootstrap_index, String name, Type ret_type,
+ Type[] arg_types) {
+ int index;
+ int nargs = 0;
+ String signature = Type.getMethodSignature(ret_type, arg_types);
+ for (int i = 0; i < arg_types.length; i++) {
+ nargs += arg_types[i].getSize();
+ }
+ // UNDONE - needs to be added to ConstantPoolGen
+ //index = cp.addInvokeDynamic(bootstrap_index, name, signature);
+ index = 0;
+ return new INVOKEDYNAMIC(index);
+ }
+ */
+
+ /** Create a call to the most popular System.out.println() method.
+ *
+ * @param s the string to print
+ */
+ public InstructionList createPrintln( final String s ) {
+ final InstructionList il = new InstructionList();
+ final int out = cp.addFieldref("java.lang.System", "out", "Ljava/io/PrintStream;");
+ final int println = cp.addMethodref("java.io.PrintStream", "println", "(Ljava/lang/String;)V");
+ il.append(new GETSTATIC(out));
+ il.append(new PUSH(cp, s));
+ il.append(new INVOKEVIRTUAL(println));
+ return il;
+ }
+
+
+ /** Uses PUSH to push a constant value onto the stack.
+ * @param value must be of type Number, Boolean, Character or String
+ */
+ public Instruction createConstant( final Object value ) {
+ PUSH push;
+ if (value instanceof Number) {
+ push = new PUSH(cp, (Number) value);
+ } else if (value instanceof String) {
+ push = new PUSH(cp, (String) value);
+ } else if (value instanceof Boolean) {
+ push = new PUSH(cp, (Boolean) value);
+ } else if (value instanceof Character) {
+ push = new PUSH(cp, (Character) value);
+ } else {
+ throw new ClassGenException("Illegal type: " + value.getClass());
+ }
+ return push.getInstruction();
+ }
+
+ private static class MethodObject {
+
+ final Type[] arg_types;
+ final Type result_type;
+ final String class_name;
+ final String name;
+
+
+ MethodObject(final String c, final String n, final Type r, final Type[] a) {
+ class_name = c;
+ name = n;
+ result_type = r;
+ arg_types = a;
+ }
+ }
+
+
+ private InvokeInstruction createInvoke( final MethodObject m, final short kind ) {
+ return createInvoke(m.class_name, m.name, m.result_type, m.arg_types, kind);
+ }
+
+ private static final MethodObject[] append_mos = {
+ new MethodObject("java.lang.StringBuffer", "append", Type.STRINGBUFFER, new Type[] {
+ Type.STRING
+ }),
+ new MethodObject("java.lang.StringBuffer", "append", Type.STRINGBUFFER, new Type[] {
+ Type.OBJECT
+ }),
+ null,
+ null, // indices 2, 3
+ new MethodObject("java.lang.StringBuffer", "append", Type.STRINGBUFFER, new Type[] {
+ Type.BOOLEAN
+ }),
+ new MethodObject("java.lang.StringBuffer", "append", Type.STRINGBUFFER, new Type[] {
+ Type.CHAR
+ }),
+ new MethodObject("java.lang.StringBuffer", "append", Type.STRINGBUFFER, new Type[] {
+ Type.FLOAT
+ }),
+ new MethodObject("java.lang.StringBuffer", "append", Type.STRINGBUFFER, new Type[] {
+ Type.DOUBLE
+ }),
+ new MethodObject("java.lang.StringBuffer", "append", Type.STRINGBUFFER, new Type[] {
+ Type.INT
+ }),
+ new MethodObject("java.lang.StringBuffer", "append", Type.STRINGBUFFER, // No append(byte)
+ new Type[] {
+ Type.INT
+ }),
+ new MethodObject("java.lang.StringBuffer", "append", Type.STRINGBUFFER, // No append(short)
+ new Type[] {
+ Type.INT
+ }),
+ new MethodObject("java.lang.StringBuffer", "append", Type.STRINGBUFFER, new Type[] {
+ Type.LONG
+ })
+ };
+
+
+ private static boolean isString( final Type type ) {
+ return (type instanceof ObjectType) &&
+ ((ObjectType) type).getClassName().equals("java.lang.String");
+ }
+
+
+ public Instruction createAppend( final Type type ) {
+ final byte t = type.getType();
+ if (isString(type)) {
+ return createInvoke(append_mos[0], Const.INVOKEVIRTUAL);
+ }
+ switch (t) {
+ case Const.T_BOOLEAN:
+ case Const.T_CHAR:
+ case Const.T_FLOAT:
+ case Const.T_DOUBLE:
+ case Const.T_BYTE:
+ case Const.T_SHORT:
+ case Const.T_INT:
+ case Const.T_LONG:
+ return createInvoke(append_mos[t], Const.INVOKEVIRTUAL);
+ case Const.T_ARRAY:
+ case Const.T_OBJECT:
+ return createInvoke(append_mos[1], Const.INVOKEVIRTUAL);
+ default:
+ throw new RuntimeException("Oops: No append for this type? " + type);
+ }
+ }
+
+
+ /** Create a field instruction.
+ *
+ * @param class_name name of the accessed class
+ * @param name name of the referenced field
+ * @param type type of field
+ * @param kind how to access, i.e., GETFIELD, PUTFIELD, GETSTATIC, PUTSTATIC
+ * @see Const
+ */
+ public FieldInstruction createFieldAccess( final String class_name, final String name, final Type type, final short kind ) {
+ int index;
+ final String signature = type.getSignature();
+ index = cp.addFieldref(class_name, name, signature);
+ switch (kind) {
+ case Const.GETFIELD:
+ return new GETFIELD(index);
+ case Const.PUTFIELD:
+ return new PUTFIELD(index);
+ case Const.GETSTATIC:
+ return new GETSTATIC(index);
+ case Const.PUTSTATIC:
+ return new PUTSTATIC(index);
+ default:
+ throw new RuntimeException("Oops: Unknown getfield kind:" + kind);
+ }
+ }
+
+
+ /** Create reference to `this'
+ */
+ public static Instruction createThis() {
+ return new ALOAD(0);
+ }
+
+
+ /** Create typed return
+ */
+ public static ReturnInstruction createReturn( final Type type ) {
+ switch (type.getType()) {
+ case Const.T_ARRAY:
+ case Const.T_OBJECT:
+ return InstructionConst.ARETURN;
+ case Const.T_INT:
+ case Const.T_SHORT:
+ case Const.T_BOOLEAN:
+ case Const.T_CHAR:
+ case Const.T_BYTE:
+ return InstructionConst.IRETURN;
+ case Const.T_FLOAT:
+ return InstructionConst.FRETURN;
+ case Const.T_DOUBLE:
+ return InstructionConst.DRETURN;
+ case Const.T_LONG:
+ return InstructionConst.LRETURN;
+ case Const.T_VOID:
+ return InstructionConst.RETURN;
+ default:
+ throw new RuntimeException("Invalid type: " + type);
+ }
+ }
+
+
+ private static ArithmeticInstruction createBinaryIntOp( final char first, final String op ) {
+ switch (first) {
+ case '-':
+ return InstructionConst.ISUB;
+ case '+':
+ return InstructionConst.IADD;
+ case '%':
+ return InstructionConst.IREM;
+ case '*':
+ return InstructionConst.IMUL;
+ case '/':
+ return InstructionConst.IDIV;
+ case '&':
+ return InstructionConst.IAND;
+ case '|':
+ return InstructionConst.IOR;
+ case '^':
+ return InstructionConst.IXOR;
+ case '<':
+ return InstructionConst.ISHL;
+ case '>':
+ return op.equals(">>>") ? InstructionConst.IUSHR : InstructionConst.ISHR;
+ default:
+ throw new RuntimeException("Invalid operand " + op);
+ }
+ }
+
+
+ private static ArithmeticInstruction createBinaryLongOp( final char first, final String op ) {
+ switch (first) {
+ case '-':
+ return InstructionConst.LSUB;
+ case '+':
+ return InstructionConst.LADD;
+ case '%':
+ return InstructionConst.LREM;
+ case '*':
+ return InstructionConst.LMUL;
+ case '/':
+ return InstructionConst.LDIV;
+ case '&':
+ return InstructionConst.LAND;
+ case '|':
+ return InstructionConst.LOR;
+ case '^':
+ return InstructionConst.LXOR;
+ case '<':
+ return InstructionConst.LSHL;
+ case '>':
+ return op.equals(">>>") ? InstructionConst.LUSHR : InstructionConst.LSHR;
+ default:
+ throw new RuntimeException("Invalid operand " + op);
+ }
+ }
+
+
+ private static ArithmeticInstruction createBinaryFloatOp( final char op ) {
+ switch (op) {
+ case '-':
+ return InstructionConst.FSUB;
+ case '+':
+ return InstructionConst.FADD;
+ case '*':
+ return InstructionConst.FMUL;
+ case '/':
+ return InstructionConst.FDIV;
+ case '%':
+ return InstructionConst.FREM;
+ default:
+ throw new RuntimeException("Invalid operand " + op);
+ }
+ }
+
+
+ private static ArithmeticInstruction createBinaryDoubleOp( final char op ) {
+ switch (op) {
+ case '-':
+ return InstructionConst.DSUB;
+ case '+':
+ return InstructionConst.DADD;
+ case '*':
+ return InstructionConst.DMUL;
+ case '/':
+ return InstructionConst.DDIV;
+ case '%':
+ return InstructionConst.DREM;
+ default:
+ throw new RuntimeException("Invalid operand " + op);
+ }
+ }
+
+
+ /**
+ * Create binary operation for simple basic types, such as int and float.
+ *
+ * @param op operation, such as "+", "*", "<<", etc.
+ */
+ public static ArithmeticInstruction createBinaryOperation( final String op, final Type type ) {
+ final char first = op.charAt(0);
+ switch (type.getType()) {
+ case Const.T_BYTE:
+ case Const.T_SHORT:
+ case Const.T_INT:
+ case Const.T_CHAR:
+ return createBinaryIntOp(first, op);
+ case Const.T_LONG:
+ return createBinaryLongOp(first, op);
+ case Const.T_FLOAT:
+ return createBinaryFloatOp(first);
+ case Const.T_DOUBLE:
+ return createBinaryDoubleOp(first);
+ default:
+ throw new RuntimeException("Invalid type " + type);
+ }
+ }
+
+
+ /**
+ * @param size size of operand, either 1 (int, e.g.) or 2 (double)
+ */
+ public static StackInstruction createPop( final int size ) {
+ return (size == 2) ? InstructionConst.POP2 : InstructionConst.POP;
+ }
+
+
+ /**
+ * @param size size of operand, either 1 (int, e.g.) or 2 (double)
+ */
+ public static StackInstruction createDup( final int size ) {
+ return (size == 2) ? InstructionConst.DUP2 : InstructionConst.DUP;
+ }
+
+
+ /**
+ * @param size size of operand, either 1 (int, e.g.) or 2 (double)
+ */
+ public static StackInstruction createDup_2( final int size ) {
+ return (size == 2) ? InstructionConst.DUP2_X2 : InstructionConst.DUP_X2;
+ }
+
+
+ /**
+ * @param size size of operand, either 1 (int, e.g.) or 2 (double)
+ */
+ public static StackInstruction createDup_1( final int size ) {
+ return (size == 2) ? InstructionConst.DUP2_X1 : InstructionConst.DUP_X1;
+ }
+
+
+ /**
+ * @param index index of local variable
+ */
+ public static LocalVariableInstruction createStore( final Type type, final int index ) {
+ switch (type.getType()) {
+ case Const.T_BOOLEAN:
+ case Const.T_CHAR:
+ case Const.T_BYTE:
+ case Const.T_SHORT:
+ case Const.T_INT:
+ return new ISTORE(index);
+ case Const.T_FLOAT:
+ return new FSTORE(index);
+ case Const.T_DOUBLE:
+ return new DSTORE(index);
+ case Const.T_LONG:
+ return new LSTORE(index);
+ case Const.T_ARRAY:
+ case Const.T_OBJECT:
+ return new ASTORE(index);
+ default:
+ throw new RuntimeException("Invalid type " + type);
+ }
+ }
+
+
+ /**
+ * @param index index of local variable
+ */
+ public static LocalVariableInstruction createLoad( final Type type, final int index ) {
+ switch (type.getType()) {
+ case Const.T_BOOLEAN:
+ case Const.T_CHAR:
+ case Const.T_BYTE:
+ case Const.T_SHORT:
+ case Const.T_INT:
+ return new ILOAD(index);
+ case Const.T_FLOAT:
+ return new FLOAD(index);
+ case Const.T_DOUBLE:
+ return new DLOAD(index);
+ case Const.T_LONG:
+ return new LLOAD(index);
+ case Const.T_ARRAY:
+ case Const.T_OBJECT:
+ return new ALOAD(index);
+ default:
+ throw new RuntimeException("Invalid type " + type);
+ }
+ }
+
+
+ /**
+ * @param type type of elements of array, i.e., array.getElementType()
+ */
+ public static ArrayInstruction createArrayLoad( final Type type ) {
+ switch (type.getType()) {
+ case Const.T_BOOLEAN:
+ case Const.T_BYTE:
+ return InstructionConst.BALOAD;
+ case Const.T_CHAR:
+ return InstructionConst.CALOAD;
+ case Const.T_SHORT:
+ return InstructionConst.SALOAD;
+ case Const.T_INT:
+ return InstructionConst.IALOAD;
+ case Const.T_FLOAT:
+ return InstructionConst.FALOAD;
+ case Const.T_DOUBLE:
+ return InstructionConst.DALOAD;
+ case Const.T_LONG:
+ return InstructionConst.LALOAD;
+ case Const.T_ARRAY:
+ case Const.T_OBJECT:
+ return InstructionConst.AALOAD;
+ default:
+ throw new RuntimeException("Invalid type " + type);
+ }
+ }
+
+
+ /**
+ * @param type type of elements of array, i.e., array.getElementType()
+ */
+ public static ArrayInstruction createArrayStore( final Type type ) {
+ switch (type.getType()) {
+ case Const.T_BOOLEAN:
+ case Const.T_BYTE:
+ return InstructionConst.BASTORE;
+ case Const.T_CHAR:
+ return InstructionConst.CASTORE;
+ case Const.T_SHORT:
+ return InstructionConst.SASTORE;
+ case Const.T_INT:
+ return InstructionConst.IASTORE;
+ case Const.T_FLOAT:
+ return InstructionConst.FASTORE;
+ case Const.T_DOUBLE:
+ return InstructionConst.DASTORE;
+ case Const.T_LONG:
+ return InstructionConst.LASTORE;
+ case Const.T_ARRAY:
+ case Const.T_OBJECT:
+ return InstructionConst.AASTORE;
+ default:
+ throw new RuntimeException("Invalid type " + type);
+ }
+ }
+
+
+ /** Create conversion operation for two stack operands, this may be an I2C, instruction, e.g.,
+ * if the operands are basic types and CHECKCAST if they are reference types.
+ */
+ public Instruction createCast( final Type src_type, final Type dest_type ) {
+ if ((src_type instanceof BasicType) && (dest_type instanceof BasicType)) {
+ final byte dest = dest_type.getType();
+ byte src = src_type.getType();
+ if (dest == Const.T_LONG
+ && (src == Const.T_CHAR || src == Const.T_BYTE || src == Const.T_SHORT)) {
+ src = Const.T_INT;
+ }
+ final String name = "org.apache.bcel.generic." + short_names[src - Const.T_CHAR] + "2"
+ + short_names[dest - Const.T_CHAR];
+ Instruction i = null;
+ try {
+ i = (Instruction) java.lang.Class.forName(name).newInstance();
+ } catch (final Exception e) {
+ throw new RuntimeException("Could not find instruction: " + name, e);
+ }
+ return i;
+ } else if ((src_type instanceof ReferenceType) && (dest_type instanceof ReferenceType)) {
+ if (dest_type instanceof ArrayType) {
+ return new CHECKCAST(cp.addArrayClass((ArrayType) dest_type));
+ }
+ return new CHECKCAST(cp.addClass(((ObjectType) dest_type).getClassName()));
+ } else {
+ throw new RuntimeException("Can not cast " + src_type + " to " + dest_type);
+ }
+ }
+
+
+ public GETFIELD createGetField( final String class_name, final String name, final Type t ) {
+ return new GETFIELD(cp.addFieldref(class_name, name, t.getSignature()));
+ }
+
+
+ public GETSTATIC createGetStatic( final String class_name, final String name, final Type t ) {
+ return new GETSTATIC(cp.addFieldref(class_name, name, t.getSignature()));
+ }
+
+
+ public PUTFIELD createPutField( final String class_name, final String name, final Type t ) {
+ return new PUTFIELD(cp.addFieldref(class_name, name, t.getSignature()));
+ }
+
+
+ public PUTSTATIC createPutStatic( final String class_name, final String name, final Type t ) {
+ return new PUTSTATIC(cp.addFieldref(class_name, name, t.getSignature()));
+ }
+
+
+ public CHECKCAST createCheckCast( final ReferenceType t ) {
+ if (t instanceof ArrayType) {
+ return new CHECKCAST(cp.addArrayClass((ArrayType) t));
+ }
+ return new CHECKCAST(cp.addClass((ObjectType) t));
+ }
+
+
+ public INSTANCEOF createInstanceOf( final ReferenceType t ) {
+ if (t instanceof ArrayType) {
+ return new INSTANCEOF(cp.addArrayClass((ArrayType) t));
+ }
+ return new INSTANCEOF(cp.addClass((ObjectType) t));
+ }
+
+
+ public NEW createNew( final ObjectType t ) {
+ return new NEW(cp.addClass(t));
+ }
+
+
+ public NEW createNew( final String s ) {
+ return createNew(ObjectType.getInstance(s));
+ }
+
+
+ /** Create new array of given size and type.
+ * @return an instruction that creates the corresponding array at runtime, i.e. is an AllocationInstruction
+ */
+ public Instruction createNewArray( final Type t, final short dim ) {
+ if (dim == 1) {
+ if (t instanceof ObjectType) {
+ return new ANEWARRAY(cp.addClass((ObjectType) t));
+ } else if (t instanceof ArrayType) {
+ return new ANEWARRAY(cp.addArrayClass((ArrayType) t));
+ } else {
+ return new NEWARRAY(t.getType());
+ }
+ }
+ ArrayType at;
+ if (t instanceof ArrayType) {
+ at = (ArrayType) t;
+ } else {
+ at = new ArrayType(t, dim);
+ }
+ return new MULTIANEWARRAY(cp.addArrayClass(at), dim);
+ }
+
+
+ /** Create "null" value for reference types, 0 for basic types like int
+ */
+ public static Instruction createNull( final Type type ) {
+ switch (type.getType()) {
+ case Const.T_ARRAY:
+ case Const.T_OBJECT:
+ return InstructionConst.ACONST_NULL;
+ case Const.T_INT:
+ case Const.T_SHORT:
+ case Const.T_BOOLEAN:
+ case Const.T_CHAR:
+ case Const.T_BYTE:
+ return InstructionConst.ICONST_0;
+ case Const.T_FLOAT:
+ return InstructionConst.FCONST_0;
+ case Const.T_DOUBLE:
+ return InstructionConst.DCONST_0;
+ case Const.T_LONG:
+ return InstructionConst.LCONST_0;
+ case Const.T_VOID:
+ return InstructionConst.NOP;
+ default:
+ throw new RuntimeException("Invalid type: " + type);
+ }
+ }
+
+
+ /** Create branch instruction by given opcode, except LOOKUPSWITCH and TABLESWITCH.
+ * For those you should use the SWITCH compound instruction.
+ */
+ public static BranchInstruction createBranchInstruction( final short opcode, final InstructionHandle target ) {
+ switch (opcode) {
+ case Const.IFEQ:
+ return new IFEQ(target);
+ case Const.IFNE:
+ return new IFNE(target);
+ case Const.IFLT:
+ return new IFLT(target);
+ case Const.IFGE:
+ return new IFGE(target);
+ case Const.IFGT:
+ return new IFGT(target);
+ case Const.IFLE:
+ return new IFLE(target);
+ case Const.IF_ICMPEQ:
+ return new IF_ICMPEQ(target);
+ case Const.IF_ICMPNE:
+ return new IF_ICMPNE(target);
+ case Const.IF_ICMPLT:
+ return new IF_ICMPLT(target);
+ case Const.IF_ICMPGE:
+ return new IF_ICMPGE(target);
+ case Const.IF_ICMPGT:
+ return new IF_ICMPGT(target);
+ case Const.IF_ICMPLE:
+ return new IF_ICMPLE(target);
+ case Const.IF_ACMPEQ:
+ return new IF_ACMPEQ(target);
+ case Const.IF_ACMPNE:
+ return new IF_ACMPNE(target);
+ case Const.GOTO:
+ return new GOTO(target);
+ case Const.JSR:
+ return new JSR(target);
+ case Const.IFNULL:
+ return new IFNULL(target);
+ case Const.IFNONNULL:
+ return new IFNONNULL(target);
+ case Const.GOTO_W:
+ return new GOTO_W(target);
+ case Const.JSR_W:
+ return new JSR_W(target);
+ default:
+ throw new RuntimeException("Invalid opcode: " + opcode);
+ }
+ }
+
+
+ public void setClassGen( final ClassGen c ) {
+ cg = c;
+ }
+
+
+ public ClassGen getClassGen() {
+ return cg;
+ }
+
+
+ public void setConstantPool( final ConstantPoolGen c ) {
+ cp = c;
+ }
+
+
+ public ConstantPoolGen getConstantPool() {
+ return cp;
+ }
+}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/InstructionHandle.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionHandle.java
old mode 100755
new mode 100644
similarity index 64%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/InstructionHandle.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionHandle.java
index 8e5db5c1..457fe4c4
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel5_2_0/generic/InstructionHandle.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionHandle.java
@@ -1,291 +1,324 @@
-/*
- * Copyright 2000-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.bcel5_2_0.generic;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.bcel5_2_0.classfile.Utility;
-
-/**
- * Instances of this class give users a handle to the instructions contained in
- * an InstructionList. Instruction objects may be used more than once within a
- * list, this is useful because it saves memory and may be much faster.
- *
- * Within an InstructionList an InstructionHandle object is wrapped
- * around all instructions, i.e., it implements a cell in a
- * doubly-linked list. From the outside only the next and the
- * previous instruction (handle) are accessible. One
- * can traverse the list via an Enumeration returned by
- * InstructionList.elements().
- *
- * @version $Id: InstructionHandle.java 386056 2006-03-15 11:31:56Z tcurdt $
- * @author M. Dahm
- * @see Instruction
- * @see BranchHandle
- * @see InstructionList
- */
-public class InstructionHandle implements java.io.Serializable {
-
- InstructionHandle next, prev; // Will be set from the outside
- Instruction instruction;
- protected int i_position = -1; // byte code offset of instruction
- private Set targeters;
- private Map attributes;
-
-
- public final InstructionHandle getNext() {
- return next;
- }
-
-
- public final InstructionHandle getPrev() {
- return prev;
- }
-
-
- public final Instruction getInstruction() {
- return instruction;
- }
-
-
- /**
- * Replace current instruction contained in this handle.
- * Old instruction is disposed using Instruction.dispose().
- */
- public void setInstruction( Instruction i ) { // Overridden in BranchHandle
- if (i == null) {
- throw new ClassGenException("Assigning null to handle");
- }
- if ((this.getClass() != BranchHandle.class) && (i instanceof BranchInstruction)) {
- throw new ClassGenException("Assigning branch instruction " + i + " to plain handle");
- }
- if (instruction != null) {
- instruction.dispose();
- }
- instruction = i;
- }
-
-
- /**
- * Temporarily swap the current instruction, without disturbing
- * anything. Meant to be used by a debugger, implementing
- * breakpoints. Current instruction is returned.
- */
- public Instruction swapInstruction( Instruction i ) {
- Instruction oldInstruction = instruction;
- instruction = i;
- return oldInstruction;
- }
-
-
- /*private*/protected InstructionHandle(Instruction i) {
- setInstruction(i);
- }
-
- private static InstructionHandle ih_list = null; // List of reusable handles
-
-
- /** Factory method.
- */
- static final InstructionHandle getInstructionHandle( Instruction i ) {
- if (ih_list == null) {
- return new InstructionHandle(i);
- } else {
- InstructionHandle ih = ih_list;
- ih_list = ih.next;
- ih.setInstruction(i);
- return ih;
- }
- }
-
-
- /**
- * Called by InstructionList.setPositions when setting the position for every
- * instruction. In the presence of variable length instructions `setPositions()'
- * performs multiple passes over the instruction list to calculate the
- * correct (byte) positions and offsets by calling this function.
- *
- * @param offset additional offset caused by preceding (variable length) instructions
- * @param max_offset the maximum offset that may be caused by these instructions
- * @return additional offset caused by possible change of this instruction's length
- */
- protected int updatePosition( int offset, int max_offset ) {
- i_position += offset;
- return 0;
- }
-
-
- /** @return the position, i.e., the byte code offset of the contained
- * instruction. This is accurate only after
- * InstructionList.setPositions() has been called.
- */
- public int getPosition() {
- return i_position;
- }
-
-
- /** Set the position, i.e., the byte code offset of the contained
- * instruction.
- */
- void setPosition( int pos ) {
- i_position = pos;
- }
-
-
- /** Overridden in BranchHandle
- */
- protected void addHandle() {
- next = ih_list;
- ih_list = this;
- }
-
-
- /**
- * Delete contents, i.e., remove user access and make handle reusable.
- */
- void dispose() {
- next = prev = null;
- instruction.dispose();
- instruction = null;
- i_position = -1;
- attributes = null;
- removeAllTargeters();
- addHandle();
- }
-
-
- /** Remove all targeters, if any.
- */
- public void removeAllTargeters() {
- if (targeters != null) {
- targeters.clear();
- }
- }
-
-
- /**
- * Denote this handle isn't referenced anymore by t.
- */
- public void removeTargeter( InstructionTargeter t ) {
- if (targeters != null) {
- targeters.remove(t);
- }
- }
-
-
- /**
- * Denote this handle is being referenced by t.
- */
- public void addTargeter( InstructionTargeter t ) {
- if (targeters == null) {
- targeters = new HashSet();
- }
- //if(!targeters.contains(t))
- targeters.add(t);
- }
-
-
- public boolean hasTargeters() {
- return (targeters != null) && (targeters.size() > 0);
- }
-
-
- /**
- * @return null, if there are no targeters
- */
- public InstructionTargeter[] getTargeters() {
- if (!hasTargeters()) {
- return null;
- }
- InstructionTargeter[] t = new InstructionTargeter[targeters.size()];
- targeters.toArray(t);
- return t;
- }
-
-
- /** @return a (verbose) string representation of the contained instruction.
- */
- public String toString( boolean verbose ) {
- return Utility.format(i_position, 4, false, ' ') + ": " + instruction.toString(verbose);
- }
-
-
- /** @return a string representation of the contained instruction.
- */
- public String toString() {
- return toString(true);
- }
-
-
- /** Add an attribute to an instruction handle.
- *
- * @param key the key object to store/retrieve the attribute
- * @param attr the attribute to associate with this handle
- */
- public void addAttribute( Object key, Object attr ) {
- if (attributes == null) {
- attributes = new HashMap(3);
- }
- attributes.put(key, attr);
- }
-
-
- /** Delete an attribute of an instruction handle.
- *
- * @param key the key object to retrieve the attribute
- */
- public void removeAttribute( Object key ) {
- if (attributes != null) {
- attributes.remove(key);
- }
- }
-
-
- /** Get attribute of an instruction handle.
- *
- * @param key the key object to store/retrieve the attribute
- */
- public Object getAttribute( Object key ) {
- if (attributes != null) {
- return attributes.get(key);
- }
- return null;
- }
-
-
- /** @return all attributes associated with this handle
- */
- public Collection getAttributes() {
- if (attributes == null) {
- attributes = new HashMap(3);
- }
- return attributes.values();
- }
-
-
- /** Convenience method, simply calls accept() on the contained instruction.
- *
- * @param v Visitor object
- */
- public void accept( Visitor v ) {
- instruction.accept(v);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.bcel.generic;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.bcel.classfile.Utility;
+
+/**
+ * Instances of this class give users a handle to the instructions contained in
+ * an InstructionList. Instruction objects may be used more than once within a
+ * list, this is useful because it saves memory and may be much faster.
+ *
+ * Within an InstructionList an InstructionHandle object is wrapped
+ * around all instructions, i.e., it implements a cell in a
+ * doubly-linked list. From the outside only the next and the
+ * previous instruction (handle) are accessible. One
+ * can traverse the list via an Enumeration returned by
+ * InstructionList.elements().
+ *
+ * @version $Id: InstructionHandle.java 1806200 2017-08-25 16:33:06Z ggregory $
+ * @see Instruction
+ * @see BranchHandle
+ * @see InstructionList
+ */
+public class InstructionHandle {
+
+ private InstructionHandle next;
+ private InstructionHandle prev;
+ private Instruction instruction;
+
+ /**
+ * @deprecated (since 6.0) will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
+ protected int i_position = -1; // byte code offset of instruction
+
+ private Set targeters;
+ private Map
-
-
diff --git a/Core/org.emftext.language.java.resource/src/org/emftext/language/java/resource/ClassFileModelLoader.java b/Core/org.emftext.language.java.resource/src/org/emftext/language/java/resource/ClassFileModelLoader.java
index b1f83551..7dbb0322 100755
--- a/Core/org.emftext.language.java.resource/src/org/emftext/language/java/resource/ClassFileModelLoader.java
+++ b/Core/org.emftext.language.java.resource/src/org/emftext/language/java/resource/ClassFileModelLoader.java
@@ -21,11 +21,11 @@
import java.util.Arrays;
import java.util.List;
-import org.apache.bcel5_2_0.classfile.Attribute;
-import org.apache.bcel5_2_0.classfile.ClassParser;
-import org.apache.bcel5_2_0.classfile.JavaClass;
-import org.apache.bcel5_2_0.classfile.Signature;
-import org.apache.bcel5_2_0.classfile.Utility;
+import org.apache.bcel.classfile.Attribute;
+import org.apache.bcel.classfile.ClassParser;
+import org.apache.bcel.classfile.JavaClass;
+import org.apache.bcel.classfile.Signature;
+import org.apache.bcel.classfile.Utility;
import org.eclipse.emf.common.util.BasicEList;
import org.eclipse.emf.common.util.EList;
import org.emftext.language.java.JavaClasspath;
@@ -191,7 +191,7 @@ else if (clazz.isInterface()) {
}
}
- for (org.apache.bcel5_2_0.classfile.Field field : clazz.getFields()) {
+ for (org.apache.bcel.classfile.Field field : clazz.getFields()) {
if (field.isEnum() && emfClassifier instanceof Enumeration) {
((Enumeration)emfClassifier).getConstants().add(constructEnumConstant(field));
}
@@ -200,7 +200,7 @@ else if (clazz.isInterface()) {
}
}
- for (org.apache.bcel5_2_0.classfile.Method method : clazz.getMethods()) {
+ for (org.apache.bcel.classfile.Method method : clazz.getMethods()) {
if (!method.isSynthetic()) {
Member emfMember = constructMethod(method, emfClassifier, false);
//If the last parameter has an array type it could also be a variable length parameter.
@@ -227,7 +227,7 @@ else if (clazz.isInterface()) {
return emfClassifier;
}
- protected Member constructMethod(org.apache.bcel5_2_0.classfile.Method method, ConcreteClassifier emfClassifier, boolean withVariableLength) {
+ protected Member constructMethod(org.apache.bcel.classfile.Method method, ConcreteClassifier emfClassifier, boolean withVariableLength) {
Method emfMethod = null;
if (emfClassifier instanceof Annotation) {
emfMethod = annotationsFactory.createAnnotationAttribute();
@@ -270,7 +270,7 @@ protected Member constructMethod(org.apache.bcel5_2_0.classfile.Method method, C
List parameterNames = extractParameterNames(method);
for(int i = 0; i < method.getArgumentTypes().length; i++) {
- org.apache.bcel5_2_0.generic.Type argType = method.getArgumentTypes()[i];
+ org.apache.bcel.generic.Type argType = method.getArgumentTypes()[i];
String paramName;
if (parameterNames.size() > i) {
paramName = parameterNames.get(i);
@@ -332,7 +332,7 @@ protected Member constructMethod(org.apache.bcel5_2_0.classfile.Method method, C
return (Member) emfMethod;
}
- protected Parameter constructParameter(org.apache.bcel5_2_0.generic.Type attrType, String paramName) {
+ protected Parameter constructParameter(org.apache.bcel.generic.Type attrType, String paramName) {
Parameter emfParameter = parametersFactory.createOrdinaryParameter();
String signature = attrType.getSignature();
TypeReference emfTypeReference = createReferenceToType(signature);
@@ -348,7 +348,7 @@ protected Parameter constructParameter(org.apache.bcel5_2_0.generic.Type attrTyp
return emfParameter;
}
- protected Parameter constructVariableLengthParameter(org.apache.bcel5_2_0.generic.Type attrType, String paramName) {
+ protected Parameter constructVariableLengthParameter(org.apache.bcel.generic.Type attrType, String paramName) {
Parameter emfParameter = parametersFactory.createVariableLengthParameter();
String signature = attrType.getSignature();
TypeReference emfTypeReference = createReferenceToType(signature);
@@ -364,7 +364,7 @@ protected Parameter constructVariableLengthParameter(org.apache.bcel5_2_0.generi
return emfParameter;
}
- protected Field constructField(org.apache.bcel5_2_0.classfile.Field field, ConcreteClassifier emfClassifier) {
+ protected Field constructField(org.apache.bcel.classfile.Field field, ConcreteClassifier emfClassifier) {
Field emfField = membersFactory.createField();
emfField.setName(field.getName());
String signature = field.getType().getSignature();
@@ -403,7 +403,7 @@ protected Field constructField(org.apache.bcel5_2_0.classfile.Field field, Concr
return emfField;
}
- protected void constructModifiers(AnnotableAndModifiable emfMember, org.apache.bcel5_2_0.classfile.AccessFlags member) {
+ protected void constructModifiers(AnnotableAndModifiable emfMember, org.apache.bcel.classfile.AccessFlags member) {
ModifiersFactory f = ModifiersFactory.eINSTANCE;
if (member.isAbstract()) {
emfMember.getAnnotationsAndModifiers().add(f.createAbstract());
@@ -447,7 +447,7 @@ protected void constructModifiers(AnnotableAndModifiable emfMember, org.apache.b
}
protected EnumConstant constructEnumConstant(
- org.apache.bcel5_2_0.classfile.Field field) {
+ org.apache.bcel.classfile.Field field) {
EnumConstant enumConstant = membersFactory.createEnumConstant();
enumConstant.setName(field.getName());
@@ -809,7 +809,7 @@ protected int getArrayDimension(String signature) {
return arrayDimension;
}
- protected List extractParameterNames(final org.apache.bcel5_2_0.classfile.Method method) {
+ protected List extractParameterNames(final org.apache.bcel.classfile.Method method) {
final List names = new ArrayList();
if (method.getLocalVariableTable() == null) {
return names;
@@ -818,7 +818,7 @@ protected List extractParameterNames(final org.apache.bcel5_2_0.classfil
final int start = method.isStatic() ? 0 : 1;
final int stop = method.isStatic() ? method.getArgumentTypes().length
: method.getArgumentTypes().length + 1;
- final org.apache.bcel5_2_0.classfile.LocalVariable[] variables = method
+ final org.apache.bcel.classfile.LocalVariable[] variables = method
.getLocalVariableTable().getLocalVariableTable();
if (variables != null) {
for (int i = start; i < stop && i < variables.length; i++) {
From 2c1c5e91c792f682354dc9d23a80b52146bbf1c7 Mon Sep 17 00:00:00 2001
From: Admin
Date: Thu, 8 Nov 2018 17:30:52 +0100
Subject: [PATCH 2/3] Minimum required Java version is 1.7
---
Core/org.emftext.language.java.resource.bcel/.classpath | 2 +-
.../.settings/org.eclipse.jdt.core.prefs | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/Core/org.emftext.language.java.resource.bcel/.classpath b/Core/org.emftext.language.java.resource.bcel/.classpath
index ea6ef586..805b2684 100644
--- a/Core/org.emftext.language.java.resource.bcel/.classpath
+++ b/Core/org.emftext.language.java.resource.bcel/.classpath
@@ -1,7 +1,7 @@
-
+
diff --git a/Core/org.emftext.language.java.resource.bcel/.settings/org.eclipse.jdt.core.prefs b/Core/org.emftext.language.java.resource.bcel/.settings/org.eclipse.jdt.core.prefs
index 18860117..49320de9 100644
--- a/Core/org.emftext.language.java.resource.bcel/.settings/org.eclipse.jdt.core.prefs
+++ b/Core/org.emftext.language.java.resource.bcel/.settings/org.eclipse.jdt.core.prefs
@@ -1,8 +1,8 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -78,4 +78,4 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disa
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.source=1.7
From 7213e703326dc18f60ef280f17caeef458ce81bd Mon Sep 17 00:00:00 2001
From: Admin
Date: Sat, 10 Nov 2018 20:24:23 +0100
Subject: [PATCH 3/3] Renamed the updated BCEL package to contain its version
(6.2).
---
.../org/apache/{bcel => bcel6_2_0}/Const.java | 2 +-
.../apache/{bcel => bcel6_2_0}/Constants.java | 2 +-
.../{bcel => bcel6_2_0}/ExceptionConst.java | 2 +-
.../ExceptionConstants.java | 2 +-
.../{bcel => bcel6_2_0}/Repository.java | 16 +-
.../classfile/AccessFlags.java | 4 +-
.../classfile/AnnotationDefault.java | 4 +-
.../classfile/AnnotationElementValue.java | 2 +-
.../classfile/AnnotationEntry.java | 4 +-
.../classfile/Annotations.java | 2 +-
.../classfile/ArrayElementValue.java | 2 +-
.../classfile/Attribute.java | 4 +-
.../classfile/AttributeReader.java | 2 +-
.../classfile/BootstrapMethod.java | 4 +-
.../classfile/BootstrapMethods.java | 4 +-
.../classfile/ClassElementValue.java | 4 +-
.../classfile/ClassFormatException.java | 2 +-
.../classfile/ClassParser.java | 4 +-
.../{bcel => bcel6_2_0}/classfile/Code.java | 4 +-
.../classfile/CodeException.java | 6 +-
.../classfile/Constant.java | 6 +-
.../classfile/ConstantCP.java | 4 +-
.../classfile/ConstantClass.java | 4 +-
.../classfile/ConstantDouble.java | 4 +-
.../classfile/ConstantFieldref.java | 4 +-
.../classfile/ConstantFloat.java | 4 +-
.../classfile/ConstantInteger.java | 4 +-
.../classfile/ConstantInterfaceMethodref.java | 4 +-
.../classfile/ConstantInvokeDynamic.java | 4 +-
.../classfile/ConstantLong.java | 4 +-
.../classfile/ConstantMethodHandle.java | 4 +-
.../classfile/ConstantMethodType.java | 4 +-
.../classfile/ConstantMethodref.java | 4 +-
.../classfile/ConstantModule.java | 4 +-
.../classfile/ConstantNameAndType.java | 4 +-
.../classfile/ConstantObject.java | 2 +-
.../classfile/ConstantPackage.java | 4 +-
.../classfile/ConstantPool.java | 6 +-
.../classfile/ConstantString.java | 4 +-
.../classfile/ConstantUtf8.java | 4 +-
.../classfile/ConstantValue.java | 4 +-
.../classfile/Deprecated.java | 4 +-
.../classfile/DescendingVisitor.java | 2 +-
.../classfile/ElementValue.java | 2 +-
.../classfile/ElementValuePair.java | 4 +-
.../classfile/EmptyVisitor.java | 2 +-
.../classfile/EnclosingMethod.java | 4 +-
.../classfile/EnumElementValue.java | 4 +-
.../classfile/ExceptionTable.java | 4 +-
.../{bcel => bcel6_2_0}/classfile/Field.java | 8 +-
.../classfile/FieldOrMethod.java | 4 +-
.../classfile/InnerClass.java | 4 +-
.../classfile/InnerClasses.java | 4 +-
.../classfile/JavaClass.java | 20 +--
.../classfile/LineNumber.java | 2 +-
.../classfile/LineNumberTable.java | 4 +-
.../classfile/LocalVariable.java | 6 +-
.../classfile/LocalVariableTable.java | 4 +-
.../classfile/LocalVariableTypeTable.java | 4 +-
.../{bcel => bcel6_2_0}/classfile/Method.java | 8 +-
.../classfile/MethodParameter.java | 4 +-
.../classfile/MethodParameters.java | 4 +-
.../{bcel => bcel6_2_0}/classfile/Node.java | 2 +-
.../classfile/PMGClass.java | 4 +-
.../classfile/ParameterAnnotationEntry.java | 2 +-
.../classfile/ParameterAnnotations.java | 2 +-
.../RuntimeInvisibleAnnotations.java | 4 +-
.../RuntimeInvisibleParameterAnnotations.java | 4 +-
.../classfile/RuntimeVisibleAnnotations.java | 4 +-
.../RuntimeVisibleParameterAnnotations.java | 4 +-
.../classfile/Signature.java | 4 +-
.../classfile/SimpleElementValue.java | 4 +-
.../classfile/SourceFile.java | 4 +-
.../classfile/StackMap.java | 4 +-
.../classfile/StackMapEntry.java | 5 +-
.../classfile/StackMapType.java | 4 +-
.../classfile/Synthetic.java | 4 +-
.../classfile/Unknown.java | 4 +-
.../classfile/UnknownAttributeReader.java | 2 +-
.../classfile/Utility.java | 6 +-
.../classfile/Visitor.java | 2 +-
.../classfile/package.html | 0
.../{bcel => bcel6_2_0}/generic/AALOAD.java | 4 +-
.../{bcel => bcel6_2_0}/generic/AASTORE.java | 4 +-
.../generic/ACONST_NULL.java | 4 +-
.../{bcel => bcel6_2_0}/generic/ALOAD.java | 6 +-
.../generic/ANEWARRAY.java | 6 +-
.../{bcel => bcel6_2_0}/generic/ARETURN.java | 4 +-
.../generic/ARRAYLENGTH.java | 6 +-
.../{bcel => bcel6_2_0}/generic/ASTORE.java | 6 +-
.../{bcel => bcel6_2_0}/generic/ATHROW.java | 6 +-
.../generic/AllocationInstruction.java | 2 +-
.../generic/AnnotationElementValueGen.java | 6 +-
.../generic/AnnotationEntryGen.java | 18 +-
.../generic/ArithmeticInstruction.java | 4 +-
.../generic/ArrayElementValueGen.java | 6 +-
.../generic/ArrayInstruction.java | 36 ++--
.../generic/ArrayType.java | 4 +-
.../{bcel => bcel6_2_0}/generic/BALOAD.java | 4 +-
.../{bcel => bcel6_2_0}/generic/BASTORE.java | 4 +-
.../{bcel => bcel6_2_0}/generic/BIPUSH.java | 6 +-
.../generic/BREAKPOINT.java | 4 +-
.../generic/BasicType.java | 4 +-
.../generic/BranchHandle.java | 2 +-
.../generic/BranchInstruction.java | 4 +-
.../{bcel => bcel6_2_0}/generic/CALOAD.java | 4 +-
.../{bcel => bcel6_2_0}/generic/CASTORE.java | 4 +-
.../generic/CHECKCAST.java | 6 +-
.../generic/CPInstruction.java | 14 +-
.../generic/ClassElementValueGen.java | 8 +-
.../{bcel => bcel6_2_0}/generic/ClassGen.java | 28 +--
.../generic/ClassGenException.java | 2 +-
.../generic/ClassObserver.java | 2 +-
.../generic/CodeExceptionGen.java | 4 +-
.../generic/CompoundInstruction.java | 2 +-
.../generic/ConstantPoolGen.java | 38 ++--
.../generic/ConstantPushInstruction.java | 2 +-
.../generic/ConversionInstruction.java | 4 +-
.../{bcel => bcel6_2_0}/generic/D2F.java | 4 +-
.../{bcel => bcel6_2_0}/generic/D2I.java | 4 +-
.../{bcel => bcel6_2_0}/generic/D2L.java | 4 +-
.../{bcel => bcel6_2_0}/generic/DADD.java | 4 +-
.../{bcel => bcel6_2_0}/generic/DALOAD.java | 4 +-
.../{bcel => bcel6_2_0}/generic/DASTORE.java | 4 +-
.../{bcel => bcel6_2_0}/generic/DCMPG.java | 4 +-
.../{bcel => bcel6_2_0}/generic/DCMPL.java | 4 +-
.../{bcel => bcel6_2_0}/generic/DCONST.java | 8 +-
.../{bcel => bcel6_2_0}/generic/DDIV.java | 4 +-
.../{bcel => bcel6_2_0}/generic/DLOAD.java | 6 +-
.../{bcel => bcel6_2_0}/generic/DMUL.java | 4 +-
.../{bcel => bcel6_2_0}/generic/DNEG.java | 4 +-
.../{bcel => bcel6_2_0}/generic/DREM.java | 4 +-
.../{bcel => bcel6_2_0}/generic/DRETURN.java | 4 +-
.../{bcel => bcel6_2_0}/generic/DSTORE.java | 6 +-
.../{bcel => bcel6_2_0}/generic/DSUB.java | 4 +-
.../{bcel => bcel6_2_0}/generic/DUP.java | 4 +-
.../{bcel => bcel6_2_0}/generic/DUP2.java | 4 +-
.../{bcel => bcel6_2_0}/generic/DUP2_X1.java | 4 +-
.../{bcel => bcel6_2_0}/generic/DUP2_X2.java | 4 +-
.../{bcel => bcel6_2_0}/generic/DUP_X1.java | 4 +-
.../{bcel => bcel6_2_0}/generic/DUP_X2.java | 4 +-
.../generic/ElementValueGen.java | 16 +-
.../generic/ElementValuePairGen.java | 8 +-
.../generic/EmptyVisitor.java | 2 +-
.../generic/EnumElementValueGen.java | 8 +-
.../generic/ExceptionThrower.java | 2 +-
.../{bcel => bcel6_2_0}/generic/F2D.java | 4 +-
.../{bcel => bcel6_2_0}/generic/F2I.java | 4 +-
.../{bcel => bcel6_2_0}/generic/F2L.java | 4 +-
.../{bcel => bcel6_2_0}/generic/FADD.java | 4 +-
.../{bcel => bcel6_2_0}/generic/FALOAD.java | 4 +-
.../{bcel => bcel6_2_0}/generic/FASTORE.java | 4 +-
.../{bcel => bcel6_2_0}/generic/FCMPG.java | 4 +-
.../{bcel => bcel6_2_0}/generic/FCMPL.java | 4 +-
.../{bcel => bcel6_2_0}/generic/FCONST.java | 10 +-
.../{bcel => bcel6_2_0}/generic/FDIV.java | 4 +-
.../{bcel => bcel6_2_0}/generic/FLOAD.java | 6 +-
.../{bcel => bcel6_2_0}/generic/FMUL.java | 4 +-
.../{bcel => bcel6_2_0}/generic/FNEG.java | 4 +-
.../{bcel => bcel6_2_0}/generic/FREM.java | 4 +-
.../{bcel => bcel6_2_0}/generic/FRETURN.java | 4 +-
.../{bcel => bcel6_2_0}/generic/FSTORE.java | 6 +-
.../{bcel => bcel6_2_0}/generic/FSUB.java | 4 +-
.../{bcel => bcel6_2_0}/generic/FieldGen.java | 24 +--
.../generic/FieldGenOrMethodGen.java | 8 +-
.../generic/FieldInstruction.java | 8 +-
.../generic/FieldObserver.java | 2 +-
.../generic/FieldOrMethod.java | 12 +-
.../{bcel => bcel6_2_0}/generic/GETFIELD.java | 6 +-
.../generic/GETSTATIC.java | 6 +-
.../{bcel => bcel6_2_0}/generic/GOTO.java | 8 +-
.../{bcel => bcel6_2_0}/generic/GOTO_W.java | 6 +-
.../generic/GotoInstruction.java | 2 +-
.../{bcel => bcel6_2_0}/generic/I2B.java | 4 +-
.../{bcel => bcel6_2_0}/generic/I2C.java | 4 +-
.../{bcel => bcel6_2_0}/generic/I2D.java | 4 +-
.../{bcel => bcel6_2_0}/generic/I2F.java | 4 +-
.../{bcel => bcel6_2_0}/generic/I2L.java | 4 +-
.../{bcel => bcel6_2_0}/generic/I2S.java | 4 +-
.../{bcel => bcel6_2_0}/generic/IADD.java | 4 +-
.../{bcel => bcel6_2_0}/generic/IALOAD.java | 4 +-
.../{bcel => bcel6_2_0}/generic/IAND.java | 4 +-
.../{bcel => bcel6_2_0}/generic/IASTORE.java | 4 +-
.../{bcel => bcel6_2_0}/generic/ICONST.java | 6 +-
.../{bcel => bcel6_2_0}/generic/IDIV.java | 6 +-
.../{bcel => bcel6_2_0}/generic/IFEQ.java | 4 +-
.../{bcel => bcel6_2_0}/generic/IFGE.java | 4 +-
.../{bcel => bcel6_2_0}/generic/IFGT.java | 4 +-
.../{bcel => bcel6_2_0}/generic/IFLE.java | 4 +-
.../{bcel => bcel6_2_0}/generic/IFLT.java | 4 +-
.../{bcel => bcel6_2_0}/generic/IFNE.java | 4 +-
.../generic/IFNONNULL.java | 4 +-
.../{bcel => bcel6_2_0}/generic/IFNULL.java | 4 +-
.../generic/IF_ACMPEQ.java | 4 +-
.../generic/IF_ACMPNE.java | 4 +-
.../generic/IF_ICMPEQ.java | 4 +-
.../generic/IF_ICMPGE.java | 4 +-
.../generic/IF_ICMPGT.java | 4 +-
.../generic/IF_ICMPLE.java | 4 +-
.../generic/IF_ICMPLT.java | 4 +-
.../generic/IF_ICMPNE.java | 4 +-
.../{bcel => bcel6_2_0}/generic/IINC.java | 10 +-
.../{bcel => bcel6_2_0}/generic/ILOAD.java | 6 +-
.../{bcel => bcel6_2_0}/generic/IMPDEP1.java | 4 +-
.../{bcel => bcel6_2_0}/generic/IMPDEP2.java | 4 +-
.../{bcel => bcel6_2_0}/generic/IMUL.java | 4 +-
.../{bcel => bcel6_2_0}/generic/INEG.java | 4 +-
.../generic/INSTANCEOF.java | 6 +-
.../generic/INVOKEDYNAMIC.java | 14 +-
.../generic/INVOKEINTERFACE.java | 10 +-
.../generic/INVOKESPECIAL.java | 6 +-
.../generic/INVOKESTATIC.java | 6 +-
.../generic/INVOKEVIRTUAL.java | 6 +-
.../{bcel => bcel6_2_0}/generic/IOR.java | 4 +-
.../{bcel => bcel6_2_0}/generic/IREM.java | 6 +-
.../{bcel => bcel6_2_0}/generic/IRETURN.java | 4 +-
.../{bcel => bcel6_2_0}/generic/ISHL.java | 4 +-
.../{bcel => bcel6_2_0}/generic/ISHR.java | 4 +-
.../{bcel => bcel6_2_0}/generic/ISTORE.java | 6 +-
.../{bcel => bcel6_2_0}/generic/ISUB.java | 4 +-
.../{bcel => bcel6_2_0}/generic/IUSHR.java | 4 +-
.../{bcel => bcel6_2_0}/generic/IXOR.java | 4 +-
.../generic/IfInstruction.java | 2 +-
.../generic/IndexedInstruction.java | 2 +-
.../generic/Instruction.java | 8 +-
.../generic/InstructionComparator.java | 2 +-
.../generic/InstructionConst.java | 4 +-
.../generic/InstructionConstants.java | 4 +-
.../generic/InstructionFactory.java | 4 +-
.../generic/InstructionHandle.java | 4 +-
.../generic/InstructionList.java | 8 +-
.../generic/InstructionListObserver.java | 2 +-
.../generic/InstructionTargeter.java | 2 +-
.../generic/InvokeInstruction.java | 10 +-
.../{bcel => bcel6_2_0}/generic/JSR.java | 8 +-
.../{bcel => bcel6_2_0}/generic/JSR_W.java | 6 +-
.../generic/JsrInstruction.java | 2 +-
.../{bcel => bcel6_2_0}/generic/L2D.java | 4 +-
.../{bcel => bcel6_2_0}/generic/L2F.java | 4 +-
.../{bcel => bcel6_2_0}/generic/L2I.java | 4 +-
.../{bcel => bcel6_2_0}/generic/LADD.java | 4 +-
.../{bcel => bcel6_2_0}/generic/LALOAD.java | 4 +-
.../{bcel => bcel6_2_0}/generic/LAND.java | 4 +-
.../{bcel => bcel6_2_0}/generic/LASTORE.java | 4 +-
.../{bcel => bcel6_2_0}/generic/LCMP.java | 4 +-
.../{bcel => bcel6_2_0}/generic/LCONST.java | 8 +-
.../{bcel => bcel6_2_0}/generic/LDC.java | 44 ++---
.../{bcel => bcel6_2_0}/generic/LDC2_W.java | 18 +-
.../{bcel => bcel6_2_0}/generic/LDC_W.java | 6 +-
.../{bcel => bcel6_2_0}/generic/LDIV.java | 6 +-
.../{bcel => bcel6_2_0}/generic/LLOAD.java | 6 +-
.../{bcel => bcel6_2_0}/generic/LMUL.java | 4 +-
.../{bcel => bcel6_2_0}/generic/LNEG.java | 4 +-
.../generic/LOOKUPSWITCH.java | 6 +-
.../{bcel => bcel6_2_0}/generic/LOR.java | 4 +-
.../{bcel => bcel6_2_0}/generic/LREM.java | 6 +-
.../{bcel => bcel6_2_0}/generic/LRETURN.java | 4 +-
.../{bcel => bcel6_2_0}/generic/LSHL.java | 4 +-
.../{bcel => bcel6_2_0}/generic/LSHR.java | 4 +-
.../{bcel => bcel6_2_0}/generic/LSTORE.java | 6 +-
.../{bcel => bcel6_2_0}/generic/LSUB.java | 4 +-
.../{bcel => bcel6_2_0}/generic/LUSHR.java | 4 +-
.../{bcel => bcel6_2_0}/generic/LXOR.java | 4 +-
.../generic/LineNumberGen.java | 4 +-
.../generic/LoadClass.java | 2 +-
.../generic/LoadInstruction.java | 2 +-
.../generic/LocalVariableGen.java | 6 +-
.../generic/LocalVariableInstruction.java | 6 +-
.../generic/MONITORENTER.java | 6 +-
.../generic/MONITOREXIT.java | 6 +-
.../generic/MULTIANEWARRAY.java | 10 +-
.../generic/MethodGen.java | 38 ++--
.../generic/MethodObserver.java | 2 +-
.../{bcel => bcel6_2_0}/generic/NEW.java | 6 +-
.../{bcel => bcel6_2_0}/generic/NEWARRAY.java | 10 +-
.../{bcel => bcel6_2_0}/generic/NOP.java | 4 +-
.../generic/NameSignatureInstruction.java | 10 +-
.../generic/NamedAndTyped.java | 2 +-
.../generic/ObjectType.java | 8 +-
.../{bcel => bcel6_2_0}/generic/POP.java | 4 +-
.../{bcel => bcel6_2_0}/generic/POP2.java | 4 +-
.../{bcel => bcel6_2_0}/generic/PUSH.java | 4 +-
.../{bcel => bcel6_2_0}/generic/PUTFIELD.java | 6 +-
.../generic/PUTSTATIC.java | 6 +-
.../generic/PopInstruction.java | 2 +-
.../generic/PushInstruction.java | 2 +-
.../{bcel => bcel6_2_0}/generic/RET.java | 10 +-
.../{bcel => bcel6_2_0}/generic/RETURN.java | 4 +-
.../generic/ReferenceType.java | 8 +-
.../generic/ReturnInstruction.java | 6 +-
.../generic/ReturnaddressType.java | 4 +-
.../{bcel => bcel6_2_0}/generic/SALOAD.java | 4 +-
.../{bcel => bcel6_2_0}/generic/SASTORE.java | 4 +-
.../{bcel => bcel6_2_0}/generic/SIPUSH.java | 6 +-
.../{bcel => bcel6_2_0}/generic/SWAP.java | 4 +-
.../{bcel => bcel6_2_0}/generic/SWITCH.java | 2 +-
.../{bcel => bcel6_2_0}/generic/Select.java | 4 +-
.../generic/SimpleElementValueGen.java | 16 +-
.../generic/StackConsumer.java | 2 +-
.../generic/StackInstruction.java | 2 +-
.../generic/StackProducer.java | 2 +-
.../generic/StoreInstruction.java | 2 +-
.../generic/TABLESWITCH.java | 6 +-
.../generic/TargetLostException.java | 2 +-
.../{bcel => bcel6_2_0}/generic/Type.java | 8 +-
.../generic/TypedInstruction.java | 2 +-
.../generic/UnconditionalBranch.java | 2 +-
.../generic/VariableLengthInstruction.java | 2 +-
.../{bcel => bcel6_2_0}/generic/Visitor.java | 2 +-
.../{bcel => bcel6_2_0}/generic/package.html | 0
.../apache/{bcel => bcel6_2_0}/package.html | 0
.../util/AttributeHTML.java | 34 ++--
.../util/BCELComparator.java | 2 +-
.../{bcel => bcel6_2_0}/util/BCELFactory.java | 64 +++----
.../{bcel => bcel6_2_0}/util/BCELifier.java | 28 +--
.../util/ByteSequence.java | 2 +-
.../{bcel => bcel6_2_0}/util/Class2HTML.java | 18 +-
.../{bcel => bcel6_2_0}/util/ClassLoader.java | 16 +-
.../util/ClassLoaderRepository.java | 8 +-
.../{bcel => bcel6_2_0}/util/ClassPath.java | 2 +-
.../util/ClassPathRepository.java | 8 +-
.../{bcel => bcel6_2_0}/util/ClassQueue.java | 4 +-
.../{bcel => bcel6_2_0}/util/ClassSet.java | 4 +-
.../{bcel => bcel6_2_0}/util/ClassStack.java | 4 +-
.../{bcel => bcel6_2_0}/util/ClassVector.java | 4 +-
.../{bcel => bcel6_2_0}/util/CodeHTML.java | 30 ++--
.../util/ConstantHTML.java | 24 +--
.../util/InstructionFinder.java | 12 +-
.../{bcel => bcel6_2_0}/util/JavaWrapper.java | 2 +-
.../MemorySensitiveClassPathRepository.java | 8 +-
.../{bcel => bcel6_2_0}/util/MethodHTML.java | 18 +-
.../{bcel => bcel6_2_0}/util/Repository.java | 6 +-
.../util/SyntheticRepository.java | 4 +-
.../{bcel => bcel6_2_0}/util/package.html | 0
.../verifier/GraphicalVerifier.java | 4 +-
.../verifier/NativeVerifier.java | 2 +-
.../verifier/PassVerifier.java | 2 +-
.../verifier/TransitiveHull.java | 6 +-
.../verifier/VerificationResult.java | 2 +-
.../verifier/Verifier.java | 20 +--
.../verifier/VerifierAppFrame.java | 6 +-
.../verifier/VerifierFactory.java | 2 +-
.../verifier/VerifierFactoryListModel.java | 2 +-
.../verifier/VerifierFactoryObserver.java | 2 +-
.../verifier/VerifyDialog.java | 6 +-
.../exc/AssertionViolatedException.java | 2 +-
.../exc/ClassConstraintException.java | 2 +-
.../verifier/exc/CodeConstraintException.java | 2 +-
.../verifier/exc/InvalidMethodException.java | 2 +-
.../exc/LinkingConstraintException.java | 2 +-
.../verifier/exc/LoadingException.java | 2 +-
...ocalVariableInfoInconsistentException.java | 2 +-
.../exc/StaticCodeConstraintException.java | 2 +-
...ticCodeInstructionConstraintException.java | 2 +-
...InstructionOperandConstraintException.java | 2 +-
.../StructuralCodeConstraintException.java | 2 +-
.../verifier/exc/Utility.java | 2 +-
.../verifier/exc/VerificationException.java | 2 +-
.../VerifierConstraintViolatedException.java | 2 +-
.../verifier/exc/package.html | 0
.../{bcel => bcel6_2_0}/verifier/package.html | 0
.../verifier/statics/DOUBLE_Upper.java | 6 +-
.../verifier/statics/IntList.java | 2 +-
.../verifier/statics/LONG_Upper.java | 6 +-
.../verifier/statics/LocalVariableInfo.java | 6 +-
.../verifier/statics/LocalVariablesInfo.java | 8 +-
.../verifier/statics/Pass1Verifier.java | 22 +--
.../verifier/statics/Pass2Verifier.java | 102 +++++------
.../verifier/statics/Pass3aVerifier.java | 170 +++++++++---------
.../statics/StringRepresentation.java | 100 +++++------
.../verifier/statics/package.html | 0
.../structurals/ControlFlowGraph.java | 26 +--
.../structurals/ExceptionHandler.java | 6 +-
.../structurals/ExceptionHandlers.java | 8 +-
.../structurals/ExecutionVisitor.java | 22 ++-
.../verifier/structurals/Frame.java | 2 +-
.../verifier/structurals/GenericArray.java | 2 +-
.../structurals/InstConstraintVisitor.java | 44 +++--
.../structurals/InstructionContext.java | 4 +-
.../verifier/structurals/LocalVariables.java | 10 +-
.../verifier/structurals/OperandStack.java | 12 +-
.../verifier/structurals/Pass3bVerifier.java | 48 ++---
.../verifier/structurals/Subroutine.java | 4 +-
.../verifier/structurals/Subroutines.java | 34 ++--
.../structurals/UninitializedObjectType.java | 10 +-
.../verifier/structurals/package.html | 0
.../java/resource/ClassFileModelLoader.java | 32 ++--
387 files changed, 1348 insertions(+), 1351 deletions(-)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/Const.java (97%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/Constants.java (98%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/ExceptionConst.java (97%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/ExceptionConstants.java (97%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/Repository.java (91%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/AccessFlags.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/AnnotationDefault.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/AnnotationElementValue.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/AnnotationEntry.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/Annotations.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ArrayElementValue.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/Attribute.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/AttributeReader.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/BootstrapMethod.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/BootstrapMethods.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ClassElementValue.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ClassFormatException.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ClassParser.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/Code.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/CodeException.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/Constant.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ConstantCP.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ConstantClass.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ConstantDouble.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ConstantFieldref.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ConstantFloat.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ConstantInteger.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ConstantInterfaceMethodref.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ConstantInvokeDynamic.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ConstantLong.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ConstantMethodHandle.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ConstantMethodType.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ConstantMethodref.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ConstantModule.java (97%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ConstantNameAndType.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ConstantObject.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ConstantPackage.java (97%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ConstantPool.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ConstantString.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ConstantUtf8.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ConstantValue.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/Deprecated.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/DescendingVisitor.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ElementValue.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ElementValuePair.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/EmptyVisitor.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/EnclosingMethod.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/EnumElementValue.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ExceptionTable.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/Field.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/FieldOrMethod.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/InnerClass.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/InnerClasses.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/JavaClass.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/LineNumber.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/LineNumberTable.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/LocalVariable.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/LocalVariableTable.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/LocalVariableTypeTable.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/Method.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/MethodParameter.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/MethodParameters.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/Node.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/PMGClass.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ParameterAnnotationEntry.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/ParameterAnnotations.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/RuntimeInvisibleAnnotations.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/RuntimeInvisibleParameterAnnotations.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/RuntimeVisibleAnnotations.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/RuntimeVisibleParameterAnnotations.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/Signature.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/SimpleElementValue.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/SourceFile.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/StackMap.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/StackMapEntry.java (97%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/StackMapType.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/Synthetic.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/Unknown.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/UnknownAttributeReader.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/Utility.java (97%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/Visitor.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/classfile/package.html (100%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/AALOAD.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/AASTORE.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ACONST_NULL.java (91%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ALOAD.java (86%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ANEWARRAY.java (91%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ARETURN.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ARRAYLENGTH.java (90%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ASTORE.java (86%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ATHROW.java (89%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/AllocationInstruction.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/AnnotationElementValueGen.java (91%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/AnnotationEntryGen.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ArithmeticInstruction.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ArrayElementValueGen.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ArrayInstruction.java (68%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ArrayType.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/BALOAD.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/BASTORE.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/BIPUSH.java (91%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/BREAKPOINT.java (90%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/BasicType.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/BranchHandle.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/BranchInstruction.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/CALOAD.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/CASTORE.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/CHECKCAST.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/CPInstruction.java (88%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ClassElementValueGen.java (90%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ClassGen.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ClassGenException.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ClassObserver.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/CodeExceptionGen.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/CompoundInstruction.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ConstantPoolGen.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ConstantPushInstruction.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ConversionInstruction.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/D2F.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/D2I.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/D2L.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/DADD.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/DALOAD.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/DASTORE.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/DCMPG.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/DCMPL.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/DCONST.java (87%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/DDIV.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/DLOAD.java (86%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/DMUL.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/DNEG.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/DREM.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/DRETURN.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/DSTORE.java (86%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/DSUB.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/DUP.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/DUP2.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/DUP2_X1.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/DUP2_X2.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/DUP_X1.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/DUP_X2.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ElementValueGen.java (91%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ElementValuePairGen.java (91%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/EmptyVisitor.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/EnumElementValueGen.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ExceptionThrower.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/F2D.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/F2I.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/F2L.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/FADD.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/FALOAD.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/FASTORE.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/FCMPG.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/FCMPL.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/FCONST.java (85%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/FDIV.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/FLOAD.java (86%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/FMUL.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/FNEG.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/FREM.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/FRETURN.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/FSTORE.java (86%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/FSUB.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/FieldGen.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/FieldGenOrMethodGen.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/FieldInstruction.java (88%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/FieldObserver.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/FieldOrMethod.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/GETFIELD.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/GETSTATIC.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/GOTO.java (91%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/GOTO_W.java (91%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/GotoInstruction.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/I2B.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/I2C.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/I2D.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/I2F.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/I2L.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/I2S.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IADD.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IALOAD.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IAND.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IASTORE.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ICONST.java (88%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IDIV.java (90%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IFEQ.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IFGE.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IFGT.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IFLE.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IFLT.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IFNE.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IFNONNULL.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IFNULL.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IF_ACMPEQ.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IF_ACMPNE.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IF_ICMPEQ.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IF_ICMPGE.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IF_ICMPGT.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IF_ICMPLE.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IF_ICMPLT.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IF_ICMPNE.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IINC.java (90%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ILOAD.java (86%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IMPDEP1.java (90%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IMPDEP2.java (90%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IMUL.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/INEG.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/INSTANCEOF.java (91%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/INVOKEDYNAMIC.java (90%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/INVOKEINTERFACE.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/INVOKESPECIAL.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/INVOKESTATIC.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/INVOKEVIRTUAL.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IOR.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IREM.java (90%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IRETURN.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ISHL.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ISHR.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ISTORE.java (86%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ISUB.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IUSHR.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IXOR.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IfInstruction.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/IndexedInstruction.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/Instruction.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/InstructionComparator.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/InstructionConst.java (97%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/InstructionConstants.java (97%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/InstructionFactory.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/InstructionHandle.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/InstructionList.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/InstructionListObserver.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/InstructionTargeter.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/InvokeInstruction.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/JSR.java (89%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/JSR_W.java (91%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/JsrInstruction.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/L2D.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/L2F.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/L2I.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LADD.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LALOAD.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LAND.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LASTORE.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LCMP.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LCONST.java (87%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LDC.java (69%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LDC2_W.java (76%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LDC_W.java (88%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LDIV.java (90%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LLOAD.java (86%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LMUL.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LNEG.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LOOKUPSWITCH.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LOR.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LREM.java (90%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LRETURN.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LSHL.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LSHR.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LSTORE.java (85%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LSUB.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LUSHR.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LXOR.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LineNumberGen.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LoadClass.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LoadInstruction.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LocalVariableGen.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/LocalVariableInstruction.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/MONITORENTER.java (89%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/MONITOREXIT.java (89%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/MULTIANEWARRAY.java (91%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/MethodGen.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/MethodObserver.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/NEW.java (91%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/NEWARRAY.java (88%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/NOP.java (90%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/NameSignatureInstruction.java (89%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/NamedAndTyped.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ObjectType.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/POP.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/POP2.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/PUSH.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/PUTFIELD.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/PUTSTATIC.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/PopInstruction.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/PushInstruction.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/RET.java (89%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/RETURN.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ReferenceType.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ReturnInstruction.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/ReturnaddressType.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/SALOAD.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/SASTORE.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/SIPUSH.java (91%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/SWAP.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/SWITCH.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/Select.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/SimpleElementValueGen.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/StackConsumer.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/StackInstruction.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/StackProducer.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/StoreInstruction.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/TABLESWITCH.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/TargetLostException.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/Type.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/TypedInstruction.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/UnconditionalBranch.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/VariableLengthInstruction.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/Visitor.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/generic/package.html (100%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/package.html (100%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/util/AttributeHTML.java (89%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/util/BCELComparator.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/util/BCELFactory.java (85%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/util/BCELifier.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/util/ByteSequence.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/util/Class2HTML.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/util/ClassLoader.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/util/ClassLoaderRepository.java (91%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/util/ClassPath.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/util/ClassPathRepository.java (97%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/util/ClassQueue.java (91%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/util/ClassSet.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/util/ClassStack.java (90%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/util/ClassVector.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/util/CodeHTML.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/util/ConstantHTML.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/util/InstructionFinder.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/util/JavaWrapper.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/util/MemorySensitiveClassPathRepository.java (97%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/util/MethodHTML.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/util/Repository.java (91%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/util/SyntheticRepository.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/util/package.html (100%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/GraphicalVerifier.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/NativeVerifier.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/PassVerifier.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/TransitiveHull.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/VerificationResult.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/Verifier.java (90%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/VerifierAppFrame.java (97%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/VerifierFactory.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/VerifierFactoryListModel.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/VerifierFactoryObserver.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/VerifyDialog.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/exc/AssertionViolatedException.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/exc/ClassConstraintException.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/exc/CodeConstraintException.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/exc/InvalidMethodException.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/exc/LinkingConstraintException.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/exc/LoadingException.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/exc/LocalVariableInfoInconsistentException.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/exc/StaticCodeConstraintException.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/exc/StaticCodeInstructionConstraintException.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/exc/StaticCodeInstructionOperandConstraintException.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/exc/StructuralCodeConstraintException.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/exc/Utility.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/exc/VerificationException.java (95%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/exc/VerifierConstraintViolatedException.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/exc/package.html (100%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/package.html (100%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/statics/DOUBLE_Upper.java (89%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/statics/IntList.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/statics/LONG_Upper.java (89%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/statics/LocalVariableInfo.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/statics/LocalVariablesInfo.java (90%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/statics/Pass1Verifier.java (92%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/statics/Pass2Verifier.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/statics/Pass3aVerifier.java (91%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/statics/StringRepresentation.java (76%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/statics/package.html (100%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/structurals/ControlFlowGraph.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/structurals/ExceptionHandler.java (90%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/structurals/ExceptionHandlers.java (90%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/structurals/ExecutionVisitor.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/structurals/Frame.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/structurals/GenericArray.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/structurals/InstConstraintVisitor.java (96%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/structurals/InstructionContext.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/structurals/LocalVariables.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/structurals/OperandStack.java (93%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/structurals/Pass3bVerifier.java (91%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/structurals/Subroutine.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/structurals/Subroutines.java (94%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/structurals/UninitializedObjectType.java (88%)
rename Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/{bcel => bcel6_2_0}/verifier/structurals/package.html (100%)
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/Const.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/Const.java
similarity index 97%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/Const.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/Const.java
index 98003940..f60769c6 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/Const.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/Const.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel;
+package org.apache.bcel6_2_0;
import java.util.Arrays;
import java.util.Collections;
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/Constants.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/Constants.java
similarity index 98%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/Constants.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/Constants.java
index 951a7b1c..8562d0bb 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/Constants.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/Constants.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel;
+package org.apache.bcel6_2_0;
/**
* Constants for the project, mostly defined in the JVM specification.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/ExceptionConst.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/ExceptionConst.java
similarity index 97%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/ExceptionConst.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/ExceptionConst.java
index b8345c9e..72355968 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/ExceptionConst.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/ExceptionConst.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel;
+package org.apache.bcel6_2_0;
/**
* Exception constants.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/ExceptionConstants.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/ExceptionConstants.java
similarity index 97%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/ExceptionConstants.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/ExceptionConstants.java
index 262e3d45..b551008d 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/ExceptionConstants.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/ExceptionConstants.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel;
+package org.apache.bcel6_2_0;
/**
* Exception constants.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/Repository.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/Repository.java
similarity index 91%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/Repository.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/Repository.java
index 44d6879a..9925709c 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/Repository.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/Repository.java
@@ -15,39 +15,39 @@
* limitations under the License.
*
*/
-package org.apache.bcel;
+package org.apache.bcel6_2_0;
import java.io.IOException;
-import org.apache.bcel.classfile.JavaClass;
-import org.apache.bcel.util.ClassPath;
-import org.apache.bcel.util.SyntheticRepository;
+import org.apache.bcel6_2_0.classfile.JavaClass;
+import org.apache.bcel6_2_0.util.ClassPath;
+import org.apache.bcel6_2_0.util.SyntheticRepository;
/**
* The repository maintains informations about class interdependencies, e.g.,
* whether a class is a sub-class of another. Delegates actual class loading
* to SyntheticRepository with current class path by default.
*
- * @see org.apache.bcel.util.Repository
+ * @see org.apache.bcel6_2_0.util.Repository
* @see SyntheticRepository
*
* @version $Id: Repository.java 1749603 2016-06-21 20:50:19Z ggregory $
*/
public abstract class Repository {
- private static org.apache.bcel.util.Repository repository = SyntheticRepository.getInstance();
+ private static org.apache.bcel6_2_0.util.Repository repository = SyntheticRepository.getInstance();
/** @return currently used repository instance
*/
- public static org.apache.bcel.util.Repository getRepository() {
+ public static org.apache.bcel6_2_0.util.Repository getRepository() {
return repository;
}
/** Set repository instance to be used for class loading
*/
- public static void setRepository( final org.apache.bcel.util.Repository rep ) {
+ public static void setRepository( final org.apache.bcel6_2_0.util.Repository rep ) {
repository = rep;
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AccessFlags.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/AccessFlags.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AccessFlags.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/AccessFlags.java
index 179274b2..3f92a88c 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AccessFlags.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/AccessFlags.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* Super class for all objects that have modifiers like private, final, ... I.e. classes, fields, and methods.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AnnotationDefault.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/AnnotationDefault.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AnnotationDefault.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/AnnotationDefault.java
index 1ac4f921..bbfe58bc 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AnnotationDefault.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/AnnotationDefault.java
@@ -15,13 +15,13 @@
* limitations under the License.
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* Represents the default value of a annotation for a method info
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AnnotationElementValue.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/AnnotationElementValue.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AnnotationElementValue.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/AnnotationElementValue.java
index 2ad29998..43aa7a56 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AnnotationElementValue.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/AnnotationElementValue.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataOutputStream;
import java.io.IOException;
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AnnotationEntry.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/AnnotationEntry.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AnnotationEntry.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/AnnotationEntry.java
index 5d6d5578..107949fc 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AnnotationEntry.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/AnnotationEntry.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
@@ -24,7 +24,7 @@
import java.util.Collections;
import java.util.List;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* represents one annotation in the annotation table
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Annotations.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Annotations.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Annotations.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Annotations.java
index 878db32b..3590b6d7 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Annotations.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Annotations.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ArrayElementValue.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ArrayElementValue.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ArrayElementValue.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ArrayElementValue.java
index 07d57ea7..2da4471a 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ArrayElementValue.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ArrayElementValue.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataOutputStream;
import java.io.IOException;
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Attribute.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Attribute.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Attribute.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Attribute.java
index 0afe641d..d0bcdd07 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Attribute.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Attribute.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataInputStream;
@@ -24,7 +24,7 @@
import java.util.HashMap;
import java.util.Map;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* Abstract super class for Attribute objects. Currently the
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AttributeReader.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/AttributeReader.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AttributeReader.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/AttributeReader.java
index 7b897d62..6e2df1aa 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/AttributeReader.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/AttributeReader.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
/**
* Unknown (non-standard) attributes may be read via user-defined factory
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/BootstrapMethod.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/BootstrapMethod.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/BootstrapMethod.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/BootstrapMethod.java
index 988e15c9..c28a1252 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/BootstrapMethod.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/BootstrapMethod.java
@@ -15,14 +15,14 @@
* limitations under the License.
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class represents a bootstrap method attribute, i.e., the bootstrap
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/BootstrapMethods.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/BootstrapMethods.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/BootstrapMethods.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/BootstrapMethods.java
index 994cb759..ee611768 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/BootstrapMethods.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/BootstrapMethods.java
@@ -15,13 +15,13 @@
* limitations under the License.
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class represents a BootstrapMethods attribute.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ClassElementValue.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ClassElementValue.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ClassElementValue.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ClassElementValue.java
index 16820161..7e7fa3e3 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ClassElementValue.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ClassElementValue.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* @since 6.0
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ClassFormatException.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ClassFormatException.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ClassFormatException.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ClassFormatException.java
index ec52dc27..93fa61eb 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ClassFormatException.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ClassFormatException.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
/**
* Thrown when the BCEL attempts to read a class file and determines
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ClassParser.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ClassParser.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ClassParser.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ClassParser.java
index 37d3a34e..96983efc 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ClassParser.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ClassParser.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.BufferedInputStream;
import java.io.DataInputStream;
@@ -25,7 +25,7 @@
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* Wrapper class that parses a given Java .class file. The method Code
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Constant.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Constant.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Constant.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Constant.java
index 7199dd1b..41795584 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Constant.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Constant.java
@@ -15,14 +15,14 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
-import org.apache.bcel.util.BCELComparator;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.util.BCELComparator;
/**
* Abstract superclass for classes to represent the different constant types
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantCP.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantCP.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantCP.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantCP.java
index 485fbc13..45caf61d 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantCP.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantCP.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* Abstract super class for Fieldref, Methodref, InterfaceMethodref and
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantClass.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantClass.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantClass.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantClass.java
index 5b10110f..e870d3cd 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantClass.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantClass.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class is derived from the abstract {@link Constant}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantDouble.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantDouble.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantDouble.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantDouble.java
index e2622332..95cf78e7 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantDouble.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantDouble.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class is derived from the abstract {@link Constant}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantFieldref.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantFieldref.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantFieldref.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantFieldref.java
index 1b13742b..8777c78e 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantFieldref.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantFieldref.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class represents a constant pool reference to a field.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantFloat.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantFloat.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantFloat.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantFloat.java
index 259fe48f..a41f01a2 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantFloat.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantFloat.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class is derived from the abstract {@link Constant}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantInteger.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantInteger.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantInteger.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantInteger.java
index e5cab54b..5e3a9f63 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantInteger.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantInteger.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class is derived from the abstract {@link Constant}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantInterfaceMethodref.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantInterfaceMethodref.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantInterfaceMethodref.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantInterfaceMethodref.java
index bf7620f8..b9d19389 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantInterfaceMethodref.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantInterfaceMethodref.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class represents a constant pool reference to an interface method.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantInvokeDynamic.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantInvokeDynamic.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantInvokeDynamic.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantInvokeDynamic.java
index 5c23745f..375bec1b 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantInvokeDynamic.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantInvokeDynamic.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class is derived from the abstract {@link Constant}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantLong.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantLong.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantLong.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantLong.java
index ec44efac..a13fb9be 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantLong.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantLong.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class is derived from the abstract {@link Constant}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantMethodHandle.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantMethodHandle.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantMethodHandle.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantMethodHandle.java
index 29fc2248..59dc03ce 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantMethodHandle.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantMethodHandle.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class is derived from the abstract {@link Constant}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantMethodType.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantMethodType.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantMethodType.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantMethodType.java
index 72234051..a43a5a9d 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantMethodType.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantMethodType.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class is derived from the abstract {@link Constant}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantMethodref.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantMethodref.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantMethodref.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantMethodref.java
index 959c479b..a695cdf0 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantMethodref.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantMethodref.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class represents a constant pool reference to a method.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantModule.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantModule.java
similarity index 97%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantModule.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantModule.java
index 2d746aea..2a05abe7 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantModule.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantModule.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class is derived from the abstract {@link Constant}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantNameAndType.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantNameAndType.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantNameAndType.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantNameAndType.java
index 3267fa60..b9b3ae9e 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantNameAndType.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantNameAndType.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class is derived from the abstract {@link Constant}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantObject.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantObject.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantObject.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantObject.java
index 8c056e58..faf9e8e8 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantObject.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantObject.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
/**
* This interface denotes those constants that have a "natural" value,
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantPackage.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantPackage.java
similarity index 97%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantPackage.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantPackage.java
index ed432847..78d16ca1 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantPackage.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantPackage.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class is derived from the abstract {@link Constant}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantPool.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantPool.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantPool.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantPool.java
index 0ce9a528..00efa0e8 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantPool.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantPool.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class represents the constant pool, i.e., a table of constants, of
@@ -33,7 +33,7 @@
* @version $Id: ConstantPool.java 1806200 2017-08-25 16:33:06Z ggregory $
* @see Constant
- * @see org.apache.bcel.generic.ConstantPoolGen
+ * @see org.apache.bcel6_2_0.generic.ConstantPoolGen
*/
public class ConstantPool implements Cloneable, Node {
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantString.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantString.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantString.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantString.java
index 17bc0b77..a12766ad 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantString.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantString.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class is derived from the abstract {@link Constant}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantUtf8.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantUtf8.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantUtf8.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantUtf8.java
index 82d5aff6..5023b235 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantUtf8.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantUtf8.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
@@ -24,7 +24,7 @@
import java.util.LinkedHashMap;
import java.util.Map;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class is derived from the abstract {@link Constant}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantValue.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantValue.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantValue.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantValue.java
index c5b0d2e6..0035ab31 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ConstantValue.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ConstantValue.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class is derived from Attribute and represents a constant
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Deprecated.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Deprecated.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Deprecated.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Deprecated.java
index a5aba52c..e9acfc2e 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Deprecated.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Deprecated.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class is derived from Attribute and denotes that this is a
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/DescendingVisitor.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/DescendingVisitor.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/DescendingVisitor.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/DescendingVisitor.java
index 1c3f70f6..b8a91cf1 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/DescendingVisitor.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/DescendingVisitor.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.util.Stack;
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ElementValue.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ElementValue.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ElementValue.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ElementValue.java
index ffd7bb96..a7082a3e 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ElementValue.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ElementValue.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ElementValuePair.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ElementValuePair.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ElementValuePair.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ElementValuePair.java
index 672aebe5..20c9cca2 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ElementValuePair.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ElementValuePair.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* an annotation's element value pair
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/EmptyVisitor.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/EmptyVisitor.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/EmptyVisitor.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/EmptyVisitor.java
index 89b343b5..7b17f279 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/EmptyVisitor.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/EmptyVisitor.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
/**
* Visitor with empty method bodies, can be extended and used in conjunction
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/EnclosingMethod.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/EnclosingMethod.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/EnclosingMethod.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/EnclosingMethod.java
index 88cbd507..6f71294f 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/EnclosingMethod.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/EnclosingMethod.java
@@ -14,13 +14,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This attribute exists for local or
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/EnumElementValue.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/EnumElementValue.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/EnumElementValue.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/EnumElementValue.java
index ec5d82dc..0b863fb5 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/EnumElementValue.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/EnumElementValue.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* @since 6.0
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ExceptionTable.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ExceptionTable.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ExceptionTable.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ExceptionTable.java
index db7bb8b3..af0b4606 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ExceptionTable.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ExceptionTable.java
@@ -15,13 +15,13 @@
* limitations under the License.
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class represents the table of exceptions that are thrown by a
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Field.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Field.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Field.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Field.java
index 96da080a..d6679945 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Field.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Field.java
@@ -15,14 +15,14 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.IOException;
-import org.apache.bcel.Const;
-import org.apache.bcel.generic.Type;
-import org.apache.bcel.util.BCELComparator;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.generic.Type;
+import org.apache.bcel6_2_0.util.BCELComparator;
/**
* This class represents the field info structure, i.e., the representation
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/FieldOrMethod.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/FieldOrMethod.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/FieldOrMethod.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/FieldOrMethod.java
index 331d9835..ebd2ccd1 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/FieldOrMethod.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/FieldOrMethod.java
@@ -15,14 +15,14 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* Abstract super class for fields and methods.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/InnerClass.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/InnerClass.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/InnerClass.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/InnerClass.java
index ca34f1c8..04da9146 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/InnerClass.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/InnerClass.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class represents a inner class attribute, i.e., the class
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/InnerClasses.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/InnerClasses.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/InnerClasses.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/InnerClasses.java
index 9faaf6ab..094c78cd 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/InnerClasses.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/InnerClasses.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class is derived from Attribute and denotes that this class
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/JavaClass.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/JavaClass.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/JavaClass.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/JavaClass.java
index fe615c8a..4e40035a 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/JavaClass.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/JavaClass.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
@@ -29,11 +29,11 @@
import java.util.StringTokenizer;
import java.util.TreeSet;
-import org.apache.bcel.Const;
-import org.apache.bcel.generic.Type;
-import org.apache.bcel.util.BCELComparator;
-import org.apache.bcel.util.ClassQueue;
-import org.apache.bcel.util.SyntheticRepository;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.generic.Type;
+import org.apache.bcel6_2_0.util.BCELComparator;
+import org.apache.bcel6_2_0.util.ClassQueue;
+import org.apache.bcel6_2_0.util.SyntheticRepository;
/**
* Represents a Java class, i.e., the data structures, constant pool,
@@ -44,7 +44,7 @@
* should see the ClassGen class.
* @version $Id: JavaClass.java 1806200 2017-08-25 16:33:06Z ggregory $
- * @see org.apache.bcel.generic.ClassGen
+ * @see org.apache.bcel6_2_0.generic.ClassGen
*/
public class JavaClass extends AccessFlags implements Cloneable, Node, Comparable {
@@ -94,7 +94,7 @@ public int hashCode( final Object o ) {
* use the default SyntheticRepository, because we
* don't know any better.
*/
- private transient org.apache.bcel.util.Repository repository = SyntheticRepository
+ private transient org.apache.bcel6_2_0.util.Repository repository = SyntheticRepository
.getInstance();
@@ -750,7 +750,7 @@ public final byte getSource() {
* Gets the ClassRepository which holds its definition. By default
* this is the same as SyntheticRepository.getInstance();
*/
- public org.apache.bcel.util.Repository getRepository() {
+ public org.apache.bcel6_2_0.util.Repository getRepository() {
return repository;
}
@@ -759,7 +759,7 @@ public org.apache.bcel.util.Repository getRepository() {
* Sets the ClassRepository which loaded the JavaClass.
* Should be called immediately after parsing is done.
*/
- public void setRepository( final org.apache.bcel.util.Repository repository ) { // TODO make protected?
+ public void setRepository( final org.apache.bcel6_2_0.util.Repository repository ) { // TODO make protected?
this.repository = repository;
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/LineNumber.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/LineNumber.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/LineNumber.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/LineNumber.java
index 6d6f86b9..2ac82ba3 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/LineNumber.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/LineNumber.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/LineNumberTable.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/LineNumberTable.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/LineNumberTable.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/LineNumberTable.java
index 698b37cb..38711a3c 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/LineNumberTable.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/LineNumberTable.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class represents a table of line numbers for debugging
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/LocalVariable.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/LocalVariable.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/LocalVariable.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/LocalVariable.java
index 5c14904d..b9e91c8c 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/LocalVariable.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/LocalVariable.java
@@ -15,14 +15,14 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
-import org.apache.bcel.Constants;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.Constants;
/**
* This class represents a local variable within a method. It contains its
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/LocalVariableTable.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/LocalVariableTable.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/LocalVariableTable.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/LocalVariableTable.java
index 9e9822c8..330f0df2 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/LocalVariableTable.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/LocalVariableTable.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class represents colection of local variables in a
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/LocalVariableTypeTable.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/LocalVariableTypeTable.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/LocalVariableTypeTable.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/LocalVariableTypeTable.java
index 1ed60ba9..de222617 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/LocalVariableTypeTable.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/LocalVariableTypeTable.java
@@ -15,13 +15,13 @@
* limitations under the License.
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
// The new table is used when generic types are about...
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Method.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Method.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Method.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Method.java
index a490f11f..2c422b4b 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Method.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Method.java
@@ -15,14 +15,14 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.IOException;
-import org.apache.bcel.Const;
-import org.apache.bcel.generic.Type;
-import org.apache.bcel.util.BCELComparator;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.generic.Type;
+import org.apache.bcel6_2_0.util.BCELComparator;
/**
* This class represents the method info structure, i.e., the representation
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/MethodParameter.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/MethodParameter.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/MethodParameter.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/MethodParameter.java
index 4d2a1481..9d19ffa0 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/MethodParameter.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/MethodParameter.java
@@ -15,13 +15,13 @@
* limitations under the License.
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* Entry of the parameters table.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/MethodParameters.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/MethodParameters.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/MethodParameters.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/MethodParameters.java
index f27ccba4..8264a0cd 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/MethodParameters.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/MethodParameters.java
@@ -15,13 +15,13 @@
* limitations under the License.
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class represents a MethodParameters attribute.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Node.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Node.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Node.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Node.java
index 32c27907..e3c53ba5 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Node.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Node.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
/**
* Denote class to have an accept method();
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/PMGClass.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/PMGClass.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/PMGClass.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/PMGClass.java
index 40ede360..e3c90e94 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/PMGClass.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/PMGClass.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class is derived from Attribute and represents a reference
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ParameterAnnotationEntry.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ParameterAnnotationEntry.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ParameterAnnotationEntry.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ParameterAnnotationEntry.java
index 339ef7be..fb94f2d7 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ParameterAnnotationEntry.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ParameterAnnotationEntry.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ParameterAnnotations.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ParameterAnnotations.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ParameterAnnotations.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ParameterAnnotations.java
index 83cc95d2..8a9643a6 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/ParameterAnnotations.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/ParameterAnnotations.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/RuntimeInvisibleAnnotations.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/RuntimeInvisibleAnnotations.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/RuntimeInvisibleAnnotations.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/RuntimeInvisibleAnnotations.java
index b71d720e..e832b93a 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/RuntimeInvisibleAnnotations.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/RuntimeInvisibleAnnotations.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* represents an annotation that is represented in the class file but is not
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/RuntimeInvisibleParameterAnnotations.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/RuntimeInvisibleParameterAnnotations.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/RuntimeInvisibleParameterAnnotations.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/RuntimeInvisibleParameterAnnotations.java
index 1910bd7b..6941e89b 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/RuntimeInvisibleParameterAnnotations.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/RuntimeInvisibleParameterAnnotations.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* Represents a parameter annotation that is represented in the class file
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/RuntimeVisibleAnnotations.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/RuntimeVisibleAnnotations.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/RuntimeVisibleAnnotations.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/RuntimeVisibleAnnotations.java
index 3cfdcf60..a99968dc 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/RuntimeVisibleAnnotations.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/RuntimeVisibleAnnotations.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* represents an annotation that is represented in the class file and is
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/RuntimeVisibleParameterAnnotations.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/RuntimeVisibleParameterAnnotations.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/RuntimeVisibleParameterAnnotations.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/RuntimeVisibleParameterAnnotations.java
index 306bdee0..6488662e 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/RuntimeVisibleParameterAnnotations.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/RuntimeVisibleParameterAnnotations.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* Represents a parameter annotation that is represented in the class file
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Signature.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Signature.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Signature.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Signature.java
index 82ff4574..fbf4bcb6 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Signature.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Signature.java
@@ -15,14 +15,14 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.ByteArrayInputStream;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class is derived from Attribute and represents a reference
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/SimpleElementValue.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/SimpleElementValue.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/SimpleElementValue.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/SimpleElementValue.java
index 5572452a..8293b26e 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/SimpleElementValue.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/SimpleElementValue.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* @since 6.0
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/SourceFile.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/SourceFile.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/SourceFile.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/SourceFile.java
index 2b183327..e9d97c86 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/SourceFile.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/SourceFile.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class is derived from Attribute and represents a reference
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/StackMap.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/StackMap.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/StackMap.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/StackMap.java
index d83e1c2a..c7aa78c4 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/StackMap.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/StackMap.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class represents a stack map attribute used for
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/StackMapEntry.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/StackMapEntry.java
similarity index 97%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/StackMapEntry.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/StackMapEntry.java
index 4c1ec29e..e4a608d5 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/StackMapEntry.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/StackMapEntry.java
@@ -15,12 +15,13 @@
* limitations under the License.
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+
+import org.apache.bcel6_2_0.Const;
/**
* This class represents a stack map entry recording the types of
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/StackMapType.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/StackMapType.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/StackMapType.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/StackMapType.java
index a7bda56d..7f0886cb 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/StackMapType.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/StackMapType.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class represents the type of a local variable or item on stack
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Synthetic.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Synthetic.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Synthetic.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Synthetic.java
index c3503265..92c51859 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Synthetic.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Synthetic.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class is derived from Attribute and declares this class as
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Unknown.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Unknown.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Unknown.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Unknown.java
index c53511d2..dbf24f6b 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Unknown.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Unknown.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.DataInput;
import java.io.DataOutputStream;
@@ -23,7 +23,7 @@
import java.util.HashMap;
import java.util.Map;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This class represents a reference to an unknown (i.e.,
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/UnknownAttributeReader.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/UnknownAttributeReader.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/UnknownAttributeReader.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/UnknownAttributeReader.java
index a7f56c96..8b60a7b9 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/UnknownAttributeReader.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/UnknownAttributeReader.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
/**
* Unknown (non-standard) attributes may be read via user-defined factory
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Utility.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Utility.java
similarity index 97%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Utility.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Utility.java
index 1e324c16..0c0ef9ce 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Utility.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Utility.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -34,8 +34,8 @@
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
-import org.apache.bcel.Const;
-import org.apache.bcel.util.ByteSequence;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.util.ByteSequence;
/**
* Utility functions that do not really belong to any class in particular.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Visitor.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Visitor.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Visitor.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Visitor.java
index 15004a5b..e1023853 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/Visitor.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/Visitor.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.classfile;
+package org.apache.bcel6_2_0.classfile;
/**
* Interface to make use of the Visitor pattern programming style. I.e. a class
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/package.html b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/package.html
similarity index 100%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/classfile/package.html
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/classfile/package.html
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AALOAD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/AALOAD.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AALOAD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/AALOAD.java
index 55b791b4..f0b185fd 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AALOAD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/AALOAD.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* AALOAD - Load reference from array
@@ -28,7 +28,7 @@ public class AALOAD extends ArrayInstruction implements StackProducer {
/** Load reference from array
*/
public AALOAD() {
- super(org.apache.bcel.Const.AALOAD);
+ super(org.apache.bcel6_2_0.Const.AALOAD);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AASTORE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/AASTORE.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AASTORE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/AASTORE.java
index 5afe322c..a13cf63a 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AASTORE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/AASTORE.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* AASTORE - Store into reference array
@@ -28,7 +28,7 @@ public class AASTORE extends ArrayInstruction implements StackConsumer {
/** Store into reference array
*/
public AASTORE() {
- super(org.apache.bcel.Const.AASTORE);
+ super(org.apache.bcel6_2_0.Const.AASTORE);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ACONST_NULL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ACONST_NULL.java
similarity index 91%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ACONST_NULL.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ACONST_NULL.java
index cabad429..a8502160 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ACONST_NULL.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ACONST_NULL.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* ACONST_NULL - Push null reference
@@ -29,7 +29,7 @@ public class ACONST_NULL extends Instruction implements PushInstruction, TypedIn
* Push null reference
*/
public ACONST_NULL() {
- super(org.apache.bcel.Const.ACONST_NULL, (short) 1);
+ super(org.apache.bcel6_2_0.Const.ACONST_NULL, (short) 1);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ALOAD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ALOAD.java
similarity index 86%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ALOAD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ALOAD.java
index 5971c0e1..df115232 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ALOAD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ALOAD.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* ALOAD - Load reference from local variable
@@ -30,7 +30,7 @@ public class ALOAD extends LoadInstruction {
* Not to be used otherwise.
*/
ALOAD() {
- super(org.apache.bcel.Const.ALOAD, org.apache.bcel.Const.ALOAD_0);
+ super(org.apache.bcel6_2_0.Const.ALOAD, org.apache.bcel6_2_0.Const.ALOAD_0);
}
@@ -38,7 +38,7 @@ public class ALOAD extends LoadInstruction {
* @param n index of local variable
*/
public ALOAD(final int n) {
- super(org.apache.bcel.Const.ALOAD, org.apache.bcel.Const.ALOAD_0, n);
+ super(org.apache.bcel6_2_0.Const.ALOAD, org.apache.bcel6_2_0.Const.ALOAD_0, n);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ANEWARRAY.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ANEWARRAY.java
similarity index 91%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ANEWARRAY.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ANEWARRAY.java
index 3f91b8b6..b68a475d 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ANEWARRAY.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ANEWARRAY.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.ExceptionConst;
+import org.apache.bcel6_2_0.ExceptionConst;
/**
* ANEWARRAY - Create new array of references
@@ -37,7 +37,7 @@ public class ANEWARRAY extends CPInstruction implements LoadClass, AllocationIns
public ANEWARRAY(final int index) {
- super(org.apache.bcel.Const.ANEWARRAY, index);
+ super(org.apache.bcel6_2_0.Const.ANEWARRAY, index);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ARETURN.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ARETURN.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ARETURN.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ARETURN.java
index bea418e3..e5d160fd 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ARETURN.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ARETURN.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* ARETURN - Return reference from method
@@ -29,7 +29,7 @@ public class ARETURN extends ReturnInstruction {
* Return reference from method
*/
public ARETURN() {
- super(org.apache.bcel.Const.ARETURN);
+ super(org.apache.bcel6_2_0.Const.ARETURN);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ARRAYLENGTH.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ARRAYLENGTH.java
similarity index 90%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ARRAYLENGTH.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ARRAYLENGTH.java
index fb7f897f..719edc78 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ARRAYLENGTH.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ARRAYLENGTH.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.ExceptionConst;
+import org.apache.bcel6_2_0.ExceptionConst;
/**
* ARRAYLENGTH - Get length of array
@@ -30,7 +30,7 @@ public class ARRAYLENGTH extends Instruction implements ExceptionThrower, StackP
/** Get length of array
*/
public ARRAYLENGTH() {
- super(org.apache.bcel.Const.ARRAYLENGTH, (short) 1);
+ super(org.apache.bcel6_2_0.Const.ARRAYLENGTH, (short) 1);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ASTORE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ASTORE.java
similarity index 86%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ASTORE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ASTORE.java
index 546fe665..4be10131 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ASTORE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ASTORE.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* ASTORE - Store reference into local variable
@@ -30,7 +30,7 @@ public class ASTORE extends StoreInstruction {
* Not to be used otherwise.
*/
ASTORE() {
- super(org.apache.bcel.Const.ASTORE, org.apache.bcel.Const.ASTORE_0);
+ super(org.apache.bcel6_2_0.Const.ASTORE, org.apache.bcel6_2_0.Const.ASTORE_0);
}
@@ -38,7 +38,7 @@ public class ASTORE extends StoreInstruction {
* @param n index of local variable
*/
public ASTORE(final int n) {
- super(org.apache.bcel.Const.ASTORE, org.apache.bcel.Const.ASTORE_0, n);
+ super(org.apache.bcel6_2_0.Const.ASTORE, org.apache.bcel6_2_0.Const.ASTORE_0, n);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ATHROW.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ATHROW.java
similarity index 89%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ATHROW.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ATHROW.java
index 8cf2b608..d094a4ea 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ATHROW.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ATHROW.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.ExceptionConst;
+import org.apache.bcel6_2_0.ExceptionConst;
/**
* ATHROW - Throw exception
@@ -31,7 +31,7 @@ public class ATHROW extends Instruction implements UnconditionalBranch, Exceptio
* Throw exception
*/
public ATHROW() {
- super(org.apache.bcel.Const.ATHROW, (short) 1);
+ super(org.apache.bcel6_2_0.Const.ATHROW, (short) 1);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AllocationInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/AllocationInstruction.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AllocationInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/AllocationInstruction.java
index 09f2559c..bc6c4a02 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AllocationInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/AllocationInstruction.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Denote family of instructions that allocates space in the heap.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AnnotationElementValueGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/AnnotationElementValueGen.java
similarity index 91%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AnnotationElementValueGen.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/AnnotationElementValueGen.java
index c5461bbb..e128a8d3 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AnnotationElementValueGen.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/AnnotationElementValueGen.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.classfile.AnnotationElementValue;
-import org.apache.bcel.classfile.ElementValue;
+import org.apache.bcel6_2_0.classfile.AnnotationElementValue;
+import org.apache.bcel6_2_0.classfile.ElementValue;
/**
* @since 6.0
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AnnotationEntryGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/AnnotationEntryGen.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AnnotationEntryGen.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/AnnotationEntryGen.java
index 34e75626..c15459c9 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/AnnotationEntryGen.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/AnnotationEntryGen.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -26,14 +26,14 @@
import java.util.ArrayList;
import java.util.List;
-import org.apache.bcel.classfile.AnnotationEntry;
-import org.apache.bcel.classfile.Attribute;
-import org.apache.bcel.classfile.ConstantUtf8;
-import org.apache.bcel.classfile.ElementValuePair;
-import org.apache.bcel.classfile.RuntimeInvisibleAnnotations;
-import org.apache.bcel.classfile.RuntimeInvisibleParameterAnnotations;
-import org.apache.bcel.classfile.RuntimeVisibleAnnotations;
-import org.apache.bcel.classfile.RuntimeVisibleParameterAnnotations;
+import org.apache.bcel6_2_0.classfile.AnnotationEntry;
+import org.apache.bcel6_2_0.classfile.Attribute;
+import org.apache.bcel6_2_0.classfile.ConstantUtf8;
+import org.apache.bcel6_2_0.classfile.ElementValuePair;
+import org.apache.bcel6_2_0.classfile.RuntimeInvisibleAnnotations;
+import org.apache.bcel6_2_0.classfile.RuntimeInvisibleParameterAnnotations;
+import org.apache.bcel6_2_0.classfile.RuntimeVisibleAnnotations;
+import org.apache.bcel6_2_0.classfile.RuntimeVisibleParameterAnnotations;
/**
* @since 6.0
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArithmeticInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ArithmeticInstruction.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArithmeticInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ArithmeticInstruction.java
index 585b7dd4..51fd07e9 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArithmeticInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ArithmeticInstruction.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* Super class for the family of arithmetic instructions.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArrayElementValueGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ArrayElementValueGen.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArrayElementValueGen.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ArrayElementValueGen.java
index 0ffd3ce9..d476a050 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArrayElementValueGen.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ArrayElementValueGen.java
@@ -15,15 +15,15 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
-import org.apache.bcel.classfile.ArrayElementValue;
-import org.apache.bcel.classfile.ElementValue;
+import org.apache.bcel6_2_0.classfile.ArrayElementValue;
+import org.apache.bcel6_2_0.classfile.ElementValue;
/**
* @since 6.0
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArrayInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ArrayInstruction.java
similarity index 68%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArrayInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ArrayInstruction.java
index a5becc55..60a807cb 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArrayInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ArrayInstruction.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.ExceptionConst;
+import org.apache.bcel6_2_0.ExceptionConst;
/**
* Super class for instructions dealing with array access such as IALOAD.
@@ -55,29 +55,29 @@ public Class>[] getExceptions() {
public Type getType( final ConstantPoolGen cp ) {
final short _opcode = super.getOpcode();
switch (_opcode) {
- case org.apache.bcel.Const.IALOAD:
- case org.apache.bcel.Const.IASTORE:
+ case org.apache.bcel6_2_0.Const.IALOAD:
+ case org.apache.bcel6_2_0.Const.IASTORE:
return Type.INT;
- case org.apache.bcel.Const.CALOAD:
- case org.apache.bcel.Const.CASTORE:
+ case org.apache.bcel6_2_0.Const.CALOAD:
+ case org.apache.bcel6_2_0.Const.CASTORE:
return Type.CHAR;
- case org.apache.bcel.Const.BALOAD:
- case org.apache.bcel.Const.BASTORE:
+ case org.apache.bcel6_2_0.Const.BALOAD:
+ case org.apache.bcel6_2_0.Const.BASTORE:
return Type.BYTE;
- case org.apache.bcel.Const.SALOAD:
- case org.apache.bcel.Const.SASTORE:
+ case org.apache.bcel6_2_0.Const.SALOAD:
+ case org.apache.bcel6_2_0.Const.SASTORE:
return Type.SHORT;
- case org.apache.bcel.Const.LALOAD:
- case org.apache.bcel.Const.LASTORE:
+ case org.apache.bcel6_2_0.Const.LALOAD:
+ case org.apache.bcel6_2_0.Const.LASTORE:
return Type.LONG;
- case org.apache.bcel.Const.DALOAD:
- case org.apache.bcel.Const.DASTORE:
+ case org.apache.bcel6_2_0.Const.DALOAD:
+ case org.apache.bcel6_2_0.Const.DASTORE:
return Type.DOUBLE;
- case org.apache.bcel.Const.FALOAD:
- case org.apache.bcel.Const.FASTORE:
+ case org.apache.bcel6_2_0.Const.FALOAD:
+ case org.apache.bcel6_2_0.Const.FASTORE:
return Type.FLOAT;
- case org.apache.bcel.Const.AALOAD:
- case org.apache.bcel.Const.AASTORE:
+ case org.apache.bcel6_2_0.Const.AALOAD:
+ case org.apache.bcel6_2_0.Const.AASTORE:
return Type.OBJECT;
default:
throw new ClassGenException("Oops: unknown case in switch" + _opcode);
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArrayType.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ArrayType.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArrayType.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ArrayType.java
index 54dad25b..8dad4eb5 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ArrayType.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ArrayType.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* Denotes array type, such as int[][]
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BALOAD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/BALOAD.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BALOAD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/BALOAD.java
index 6dbac273..9aa6a3fc 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BALOAD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/BALOAD.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* BALOAD - Load byte or boolean from array
@@ -28,7 +28,7 @@ public class BALOAD extends ArrayInstruction implements StackProducer {
/** Load byte or boolean from array
*/
public BALOAD() {
- super(org.apache.bcel.Const.BALOAD);
+ super(org.apache.bcel6_2_0.Const.BALOAD);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BASTORE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/BASTORE.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BASTORE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/BASTORE.java
index 16d63632..22ca274d 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BASTORE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/BASTORE.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* BASTORE - Store into byte or boolean array
@@ -28,7 +28,7 @@ public class BASTORE extends ArrayInstruction implements StackConsumer {
/** Store byte or boolean into array
*/
public BASTORE() {
- super(org.apache.bcel.Const.BASTORE);
+ super(org.apache.bcel6_2_0.Const.BASTORE);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BIPUSH.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/BIPUSH.java
similarity index 91%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BIPUSH.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/BIPUSH.java
index 859fa442..b8a0a90c 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BIPUSH.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/BIPUSH.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.util.ByteSequence;
+import org.apache.bcel6_2_0.util.ByteSequence;
/**
* BIPUSH - Push byte on stack
@@ -45,7 +45,7 @@ public class BIPUSH extends Instruction implements ConstantPushInstruction {
/** Push byte on stack
*/
public BIPUSH(final byte b) {
- super(org.apache.bcel.Const.BIPUSH, (short) 2);
+ super(org.apache.bcel6_2_0.Const.BIPUSH, (short) 2);
this.b = b;
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BREAKPOINT.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/BREAKPOINT.java
similarity index 90%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BREAKPOINT.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/BREAKPOINT.java
index 7ffb1faf..c6d800d7 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BREAKPOINT.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/BREAKPOINT.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* BREAKPOINT, JVM dependent, ignored by default
@@ -25,7 +25,7 @@
public class BREAKPOINT extends Instruction {
public BREAKPOINT() {
- super(org.apache.bcel.Const.BREAKPOINT, (short) 1);
+ super(org.apache.bcel6_2_0.Const.BREAKPOINT, (short) 1);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BasicType.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/BasicType.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BasicType.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/BasicType.java
index 8afc6f8b..aaa822f6 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BasicType.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/BasicType.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* Denotes basic type such as int.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BranchHandle.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/BranchHandle.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BranchHandle.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/BranchHandle.java
index a6a06890..9c25f9d1 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BranchHandle.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/BranchHandle.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* BranchHandle is returned by specialized InstructionList.append() whenever a
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BranchInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/BranchInstruction.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BranchInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/BranchInstruction.java
index 0f64be16..06a2c450 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/BranchInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/BranchInstruction.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.util.ByteSequence;
+import org.apache.bcel6_2_0.util.ByteSequence;
/**
* Abstract super class for branching instructions like GOTO, IFEQ, etc..
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CALOAD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/CALOAD.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CALOAD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/CALOAD.java
index 97ca1931..e0d94639 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CALOAD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/CALOAD.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* CALOAD - Load char from array
@@ -28,7 +28,7 @@ public class CALOAD extends ArrayInstruction implements StackProducer {
/** Load char from array
*/
public CALOAD() {
- super(org.apache.bcel.Const.CALOAD);
+ super(org.apache.bcel6_2_0.Const.CALOAD);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CASTORE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/CASTORE.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CASTORE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/CASTORE.java
index 91a4600d..2ea5fb6f 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CASTORE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/CASTORE.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* CASTORE - Store into char array
@@ -28,7 +28,7 @@ public class CASTORE extends ArrayInstruction implements StackConsumer {
/** Store char into array
*/
public CASTORE() {
- super(org.apache.bcel.Const.CASTORE);
+ super(org.apache.bcel6_2_0.Const.CASTORE);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CHECKCAST.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/CHECKCAST.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CHECKCAST.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/CHECKCAST.java
index 142adcd5..7723254b 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CHECKCAST.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/CHECKCAST.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.ExceptionConst;
+import org.apache.bcel6_2_0.ExceptionConst;
/**
* CHECKCAST - Check whether object is of given type
@@ -40,7 +40,7 @@ public class CHECKCAST extends CPInstruction implements LoadClass, ExceptionThro
* @param index index to class in constant pool
*/
public CHECKCAST(final int index) {
- super(org.apache.bcel.Const.CHECKCAST, index);
+ super(org.apache.bcel6_2_0.Const.CHECKCAST, index);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CPInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/CPInstruction.java
similarity index 88%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CPInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/CPInstruction.java
index df789e8f..82743421 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CPInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/CPInstruction.java
@@ -15,15 +15,15 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.classfile.Constant;
-import org.apache.bcel.classfile.ConstantClass;
-import org.apache.bcel.classfile.ConstantPool;
-import org.apache.bcel.util.ByteSequence;
+import org.apache.bcel6_2_0.classfile.Constant;
+import org.apache.bcel6_2_0.classfile.ConstantClass;
+import org.apache.bcel6_2_0.classfile.ConstantPool;
+import org.apache.bcel6_2_0.util.ByteSequence;
/**
* Abstract super class for instructions that use an index into the
@@ -98,7 +98,7 @@ public String toString( final ConstantPool cp ) {
if (c instanceof ConstantClass) {
str = str.replace('.', '/');
}
- return org.apache.bcel.Const.getOpcodeName(super.getOpcode()) + " " + str;
+ return org.apache.bcel6_2_0.Const.getOpcodeName(super.getOpcode()) + " " + str;
}
@@ -141,7 +141,7 @@ public void setIndex( final int index ) { // TODO could be package-protected?
@Override
public Type getType( final ConstantPoolGen cpg ) {
final ConstantPool cp = cpg.getConstantPool();
- String name = cp.getConstantString(index, org.apache.bcel.Const.CONSTANT_Class);
+ String name = cp.getConstantString(index, org.apache.bcel6_2_0.Const.CONSTANT_Class);
if (!name.startsWith("[")) {
name = "L" + name + ";";
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassElementValueGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ClassElementValueGen.java
similarity index 90%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassElementValueGen.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ClassElementValueGen.java
index 7317150e..07a1a0f5 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassElementValueGen.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ClassElementValueGen.java
@@ -15,14 +15,14 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.classfile.ClassElementValue;
-import org.apache.bcel.classfile.ConstantUtf8;
-import org.apache.bcel.classfile.ElementValue;
+import org.apache.bcel6_2_0.classfile.ClassElementValue;
+import org.apache.bcel6_2_0.classfile.ConstantUtf8;
+import org.apache.bcel6_2_0.classfile.ElementValue;
/**
* @since 6.0
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ClassGen.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassGen.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ClassGen.java
index 8cc378fc..000e087d 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassGen.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ClassGen.java
@@ -15,24 +15,24 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.util.ArrayList;
import java.util.List;
-import org.apache.bcel.Const;
-import org.apache.bcel.classfile.AccessFlags;
-import org.apache.bcel.classfile.AnnotationEntry;
-import org.apache.bcel.classfile.Annotations;
-import org.apache.bcel.classfile.Attribute;
-import org.apache.bcel.classfile.ConstantPool;
-import org.apache.bcel.classfile.Field;
-import org.apache.bcel.classfile.JavaClass;
-import org.apache.bcel.classfile.Method;
-import org.apache.bcel.classfile.RuntimeInvisibleAnnotations;
-import org.apache.bcel.classfile.RuntimeVisibleAnnotations;
-import org.apache.bcel.classfile.SourceFile;
-import org.apache.bcel.util.BCELComparator;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.classfile.AccessFlags;
+import org.apache.bcel6_2_0.classfile.AnnotationEntry;
+import org.apache.bcel6_2_0.classfile.Annotations;
+import org.apache.bcel6_2_0.classfile.Attribute;
+import org.apache.bcel6_2_0.classfile.ConstantPool;
+import org.apache.bcel6_2_0.classfile.Field;
+import org.apache.bcel6_2_0.classfile.JavaClass;
+import org.apache.bcel6_2_0.classfile.Method;
+import org.apache.bcel6_2_0.classfile.RuntimeInvisibleAnnotations;
+import org.apache.bcel6_2_0.classfile.RuntimeVisibleAnnotations;
+import org.apache.bcel6_2_0.classfile.SourceFile;
+import org.apache.bcel6_2_0.util.BCELComparator;
/**
* Template class for building up a java class. May be initialized with an
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassGenException.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ClassGenException.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassGenException.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ClassGenException.java
index 55fb2147..0cfa9b1d 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassGenException.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ClassGenException.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Thrown on internal errors. Extends RuntimeException so it hasn't to be declared
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassObserver.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ClassObserver.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassObserver.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ClassObserver.java
index cddb9f6b..64bee609 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ClassObserver.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ClassObserver.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Implement this interface if you're interested in changes to a ClassGen object
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CodeExceptionGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/CodeExceptionGen.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CodeExceptionGen.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/CodeExceptionGen.java
index dc7a9c6c..8c27efc3 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CodeExceptionGen.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/CodeExceptionGen.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.classfile.CodeException;
+import org.apache.bcel6_2_0.classfile.CodeException;
/**
* This class represents an exception handler, i.e., specifies the region where
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CompoundInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/CompoundInstruction.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CompoundInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/CompoundInstruction.java
index 4e3a55e5..b8d6f35d 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/CompoundInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/CompoundInstruction.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Wrapper class for `compound' operations, virtual instructions that
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ConstantPoolGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ConstantPoolGen.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ConstantPoolGen.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ConstantPoolGen.java
index afc106c5..dda057a4 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ConstantPoolGen.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ConstantPoolGen.java
@@ -15,27 +15,27 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.util.HashMap;
import java.util.Map;
-import org.apache.bcel.Const;
-import org.apache.bcel.classfile.Constant;
-import org.apache.bcel.classfile.ConstantCP;
-import org.apache.bcel.classfile.ConstantClass;
-import org.apache.bcel.classfile.ConstantDouble;
-import org.apache.bcel.classfile.ConstantFieldref;
-import org.apache.bcel.classfile.ConstantFloat;
-import org.apache.bcel.classfile.ConstantInteger;
-import org.apache.bcel.classfile.ConstantInterfaceMethodref;
-import org.apache.bcel.classfile.ConstantInvokeDynamic;
-import org.apache.bcel.classfile.ConstantLong;
-import org.apache.bcel.classfile.ConstantMethodref;
-import org.apache.bcel.classfile.ConstantNameAndType;
-import org.apache.bcel.classfile.ConstantPool;
-import org.apache.bcel.classfile.ConstantString;
-import org.apache.bcel.classfile.ConstantUtf8;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.classfile.Constant;
+import org.apache.bcel6_2_0.classfile.ConstantCP;
+import org.apache.bcel6_2_0.classfile.ConstantClass;
+import org.apache.bcel6_2_0.classfile.ConstantDouble;
+import org.apache.bcel6_2_0.classfile.ConstantFieldref;
+import org.apache.bcel6_2_0.classfile.ConstantFloat;
+import org.apache.bcel6_2_0.classfile.ConstantInteger;
+import org.apache.bcel6_2_0.classfile.ConstantInterfaceMethodref;
+import org.apache.bcel6_2_0.classfile.ConstantInvokeDynamic;
+import org.apache.bcel6_2_0.classfile.ConstantLong;
+import org.apache.bcel6_2_0.classfile.ConstantMethodref;
+import org.apache.bcel6_2_0.classfile.ConstantNameAndType;
+import org.apache.bcel6_2_0.classfile.ConstantPool;
+import org.apache.bcel6_2_0.classfile.ConstantString;
+import org.apache.bcel6_2_0.classfile.ConstantUtf8;
/**
* This class is used to build up a constant pool. The user adds
@@ -190,9 +190,9 @@ public ConstantPoolGen(final Constant[] cs) {
// nothing to do
} else if (c instanceof ConstantDouble) {
// nothing to do
- } else if (c instanceof org.apache.bcel.classfile.ConstantMethodType) {
+ } else if (c instanceof org.apache.bcel6_2_0.classfile.ConstantMethodType) {
// TODO should this be handled somehow?
- } else if (c instanceof org.apache.bcel.classfile.ConstantMethodHandle) {
+ } else if (c instanceof org.apache.bcel6_2_0.classfile.ConstantMethodHandle) {
// TODO should this be handled somehow?
} else {
assert false : "Unexpected constant type: " + c.getClass().getName();
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ConstantPushInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ConstantPushInstruction.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ConstantPushInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ConstantPushInstruction.java
index bcfd8402..a0f471c3 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ConstantPushInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ConstantPushInstruction.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Denotes a push instruction that produces a literal on the stack
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ConversionInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ConversionInstruction.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ConversionInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ConversionInstruction.java
index febbc906..d9c04df5 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ConversionInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ConversionInstruction.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* Super class for the x2y family of instructions.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/D2F.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/D2F.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/D2F.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/D2F.java
index 6726669a..c1a1e0f4 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/D2F.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/D2F.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* D2F - Convert double to float
@@ -28,7 +28,7 @@ public class D2F extends ConversionInstruction {
/** Convert double to float
*/
public D2F() {
- super(org.apache.bcel.Const.D2F);
+ super(org.apache.bcel6_2_0.Const.D2F);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/D2I.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/D2I.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/D2I.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/D2I.java
index 1f96d874..dc8776cb 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/D2I.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/D2I.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* D2I - Convert double to int
@@ -28,7 +28,7 @@ public class D2I extends ConversionInstruction {
/** Convert double to int
*/
public D2I() {
- super(org.apache.bcel.Const.D2I);
+ super(org.apache.bcel6_2_0.Const.D2I);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/D2L.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/D2L.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/D2L.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/D2L.java
index 213949b0..6ae2f935 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/D2L.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/D2L.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* D2L - Convert double to long
@@ -28,7 +28,7 @@ public class D2L extends ConversionInstruction {
/** Convert double to long
*/
public D2L() {
- super(org.apache.bcel.Const.D2L);
+ super(org.apache.bcel6_2_0.Const.D2L);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DADD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DADD.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DADD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DADD.java
index fcbab2d7..c12f511e 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DADD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DADD.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* DADD - Add doubles
@@ -29,7 +29,7 @@ public class DADD extends ArithmeticInstruction {
/** Add doubles
*/
public DADD() {
- super(org.apache.bcel.Const.DADD);
+ super(org.apache.bcel6_2_0.Const.DADD);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DALOAD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DALOAD.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DALOAD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DALOAD.java
index 1668d9cd..4583c8f0 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DALOAD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DALOAD.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* DALOAD - Load double from array
@@ -28,7 +28,7 @@ public class DALOAD extends ArrayInstruction implements StackProducer {
/** Load double from array
*/
public DALOAD() {
- super(org.apache.bcel.Const.DALOAD);
+ super(org.apache.bcel6_2_0.Const.DALOAD);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DASTORE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DASTORE.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DASTORE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DASTORE.java
index d87db262..192ebdd2 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DASTORE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DASTORE.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* DASTORE - Store into double array
@@ -28,7 +28,7 @@ public class DASTORE extends ArrayInstruction implements StackConsumer {
/** Store double into array
*/
public DASTORE() {
- super(org.apache.bcel.Const.DASTORE);
+ super(org.apache.bcel6_2_0.Const.DASTORE);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DCMPG.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DCMPG.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DCMPG.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DCMPG.java
index 53baea63..a64befe1 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DCMPG.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DCMPG.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* DCMPG - Compare doubles: value1 > value2
@@ -26,7 +26,7 @@
public class DCMPG extends Instruction implements TypedInstruction, StackProducer, StackConsumer {
public DCMPG() {
- super(org.apache.bcel.Const.DCMPG, (short) 1);
+ super(org.apache.bcel6_2_0.Const.DCMPG, (short) 1);
}
/** @return Type.DOUBLE
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DCMPL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DCMPL.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DCMPL.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DCMPL.java
index 26c32804..49d53d14 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DCMPL.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DCMPL.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* DCMPL - Compare doubles: value1 < value2
@@ -26,7 +26,7 @@
public class DCMPL extends Instruction implements TypedInstruction, StackProducer, StackConsumer {
public DCMPL() {
- super(org.apache.bcel.Const.DCMPL, (short) 1);
+ super(org.apache.bcel6_2_0.Const.DCMPL, (short) 1);
}
/** @return Type.DOUBLE
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DCONST.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DCONST.java
similarity index 87%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DCONST.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DCONST.java
index 6a8dda30..16faf895 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DCONST.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DCONST.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* DCONST - Push 0.0 or 1.0, other values cause an exception
@@ -38,11 +38,11 @@ public class DCONST extends Instruction implements ConstantPushInstruction {
public DCONST(final double f) {
- super(org.apache.bcel.Const.DCONST_0, (short) 1);
+ super(org.apache.bcel6_2_0.Const.DCONST_0, (short) 1);
if (f == 0.0) {
- super.setOpcode(org.apache.bcel.Const.DCONST_0);
+ super.setOpcode(org.apache.bcel6_2_0.Const.DCONST_0);
} else if (f == 1.0) {
- super.setOpcode(org.apache.bcel.Const.DCONST_1);
+ super.setOpcode(org.apache.bcel6_2_0.Const.DCONST_1);
} else {
throw new ClassGenException("DCONST can be used only for 0.0 and 1.0: " + f);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DDIV.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DDIV.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DDIV.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DDIV.java
index 68c3cca2..3934b295 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DDIV.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DDIV.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* DDIV - Divide doubles
@@ -29,7 +29,7 @@ public class DDIV extends ArithmeticInstruction {
/** Divide doubles
*/
public DDIV() {
- super(org.apache.bcel.Const.DDIV);
+ super(org.apache.bcel6_2_0.Const.DDIV);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DLOAD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DLOAD.java
similarity index 86%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DLOAD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DLOAD.java
index dc9aad54..04fb2e67 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DLOAD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DLOAD.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* DLOAD - Load double from local variable
@@ -30,7 +30,7 @@ public class DLOAD extends LoadInstruction {
* Not to be used otherwise.
*/
DLOAD() {
- super(org.apache.bcel.Const.DLOAD, org.apache.bcel.Const.DLOAD_0);
+ super(org.apache.bcel6_2_0.Const.DLOAD, org.apache.bcel6_2_0.Const.DLOAD_0);
}
@@ -38,7 +38,7 @@ public class DLOAD extends LoadInstruction {
* @param n index of local variable
*/
public DLOAD(final int n) {
- super(org.apache.bcel.Const.DLOAD, org.apache.bcel.Const.DLOAD_0, n);
+ super(org.apache.bcel6_2_0.Const.DLOAD, org.apache.bcel6_2_0.Const.DLOAD_0, n);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DMUL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DMUL.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DMUL.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DMUL.java
index 8b4edd65..3956b9a5 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DMUL.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DMUL.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* DMUL - Multiply doubles
@@ -29,7 +29,7 @@ public class DMUL extends ArithmeticInstruction {
/** Multiply doubles
*/
public DMUL() {
- super(org.apache.bcel.Const.DMUL);
+ super(org.apache.bcel6_2_0.Const.DMUL);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DNEG.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DNEG.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DNEG.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DNEG.java
index 566b6aba..0666000a 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DNEG.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DNEG.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* DNEG - Negate double
@@ -26,7 +26,7 @@
public class DNEG extends ArithmeticInstruction {
public DNEG() {
- super(org.apache.bcel.Const.DNEG);
+ super(org.apache.bcel6_2_0.Const.DNEG);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DREM.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DREM.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DREM.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DREM.java
index 37fcfdd1..21e4ba55 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DREM.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DREM.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* DREM - Remainder of doubles
@@ -29,7 +29,7 @@ public class DREM extends ArithmeticInstruction {
/** Remainder of doubles
*/
public DREM() {
- super(org.apache.bcel.Const.DREM);
+ super(org.apache.bcel6_2_0.Const.DREM);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DRETURN.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DRETURN.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DRETURN.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DRETURN.java
index ff87dd27..eee8688c 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DRETURN.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DRETURN.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* DRETURN - Return double from method
@@ -28,7 +28,7 @@ public class DRETURN extends ReturnInstruction {
/** Return double from method
*/
public DRETURN() {
- super(org.apache.bcel.Const.DRETURN);
+ super(org.apache.bcel6_2_0.Const.DRETURN);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DSTORE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DSTORE.java
similarity index 86%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DSTORE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DSTORE.java
index 77d0f879..6db5af47 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DSTORE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DSTORE.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* DSTORE - Store double into local variable
@@ -30,7 +30,7 @@ public class DSTORE extends StoreInstruction {
* Not to be used otherwise.
*/
DSTORE() {
- super(org.apache.bcel.Const.DSTORE, org.apache.bcel.Const.DSTORE_0);
+ super(org.apache.bcel6_2_0.Const.DSTORE, org.apache.bcel6_2_0.Const.DSTORE_0);
}
@@ -38,7 +38,7 @@ public class DSTORE extends StoreInstruction {
* @param n index of local variable
*/
public DSTORE(final int n) {
- super(org.apache.bcel.Const.DSTORE, org.apache.bcel.Const.DSTORE_0, n);
+ super(org.apache.bcel6_2_0.Const.DSTORE, org.apache.bcel6_2_0.Const.DSTORE_0, n);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DSUB.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DSUB.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DSUB.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DSUB.java
index 04445c9d..955f9d34 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DSUB.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DSUB.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* DSUB - Substract doubles
@@ -29,7 +29,7 @@ public class DSUB extends ArithmeticInstruction {
/** Substract doubles
*/
public DSUB() {
- super(org.apache.bcel.Const.DSUB);
+ super(org.apache.bcel6_2_0.Const.DSUB);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DUP.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DUP.java
index 8061764e..37f9735f 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DUP.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* DUP - Duplicate top operand stack word
@@ -26,7 +26,7 @@
public class DUP extends StackInstruction implements PushInstruction {
public DUP() {
- super(org.apache.bcel.Const.DUP);
+ super(org.apache.bcel6_2_0.Const.DUP);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP2.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DUP2.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP2.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DUP2.java
index 4fb58329..c7f0d307 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP2.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DUP2.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* DUP2 - Duplicate two top operand stack words
@@ -26,7 +26,7 @@
public class DUP2 extends StackInstruction implements PushInstruction {
public DUP2() {
- super(org.apache.bcel.Const.DUP2);
+ super(org.apache.bcel6_2_0.Const.DUP2);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP2_X1.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DUP2_X1.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP2_X1.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DUP2_X1.java
index 75488539..776957d6 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP2_X1.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DUP2_X1.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* DUP2_X1 - Duplicate two top operand stack words and put three down
@@ -26,7 +26,7 @@
public class DUP2_X1 extends StackInstruction {
public DUP2_X1() {
- super(org.apache.bcel.Const.DUP2_X1);
+ super(org.apache.bcel6_2_0.Const.DUP2_X1);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP2_X2.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DUP2_X2.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP2_X2.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DUP2_X2.java
index 0ebb2075..91db9953 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP2_X2.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DUP2_X2.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* DUP2_X2 - Duplicate two top operand stack words and put four down
@@ -26,7 +26,7 @@
public class DUP2_X2 extends StackInstruction {
public DUP2_X2() {
- super(org.apache.bcel.Const.DUP2_X2);
+ super(org.apache.bcel6_2_0.Const.DUP2_X2);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP_X1.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DUP_X1.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP_X1.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DUP_X1.java
index b3bab424..609b9a75 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP_X1.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DUP_X1.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* DUP_X1 - Duplicate top operand stack word and put two down
@@ -26,7 +26,7 @@
public class DUP_X1 extends StackInstruction {
public DUP_X1() {
- super(org.apache.bcel.Const.DUP_X1);
+ super(org.apache.bcel6_2_0.Const.DUP_X1);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP_X2.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DUP_X2.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP_X2.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DUP_X2.java
index e33d95d5..63c3d451 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/DUP_X2.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/DUP_X2.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* DUP_X2 - Duplicate top operand stack word and put three down
@@ -26,7 +26,7 @@
public class DUP_X2 extends StackInstruction {
public DUP_X2() {
- super(org.apache.bcel.Const.DUP_X2);
+ super(org.apache.bcel6_2_0.Const.DUP_X2);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ElementValueGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ElementValueGen.java
similarity index 91%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ElementValueGen.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ElementValueGen.java
index e357b3eb..293dcb9f 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ElementValueGen.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ElementValueGen.java
@@ -15,19 +15,19 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.classfile.AnnotationElementValue;
-import org.apache.bcel.classfile.AnnotationEntry;
-import org.apache.bcel.classfile.ArrayElementValue;
-import org.apache.bcel.classfile.ClassElementValue;
-import org.apache.bcel.classfile.ElementValue;
-import org.apache.bcel.classfile.EnumElementValue;
-import org.apache.bcel.classfile.SimpleElementValue;
+import org.apache.bcel6_2_0.classfile.AnnotationElementValue;
+import org.apache.bcel6_2_0.classfile.AnnotationEntry;
+import org.apache.bcel6_2_0.classfile.ArrayElementValue;
+import org.apache.bcel6_2_0.classfile.ClassElementValue;
+import org.apache.bcel6_2_0.classfile.ElementValue;
+import org.apache.bcel6_2_0.classfile.EnumElementValue;
+import org.apache.bcel6_2_0.classfile.SimpleElementValue;
/**
* @since 6.0
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ElementValuePairGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ElementValuePairGen.java
similarity index 91%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ElementValuePairGen.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ElementValuePairGen.java
index 7fcb0c8e..b9e7026c 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ElementValuePairGen.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ElementValuePairGen.java
@@ -15,14 +15,14 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.classfile.ConstantUtf8;
-import org.apache.bcel.classfile.ElementValue;
-import org.apache.bcel.classfile.ElementValuePair;
+import org.apache.bcel6_2_0.classfile.ConstantUtf8;
+import org.apache.bcel6_2_0.classfile.ElementValue;
+import org.apache.bcel6_2_0.classfile.ElementValuePair;
/**
* @since 6.0
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/EmptyVisitor.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/EmptyVisitor.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/EmptyVisitor.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/EmptyVisitor.java
index 49ebebdb..68d9abe4 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/EmptyVisitor.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/EmptyVisitor.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Supplies empty method bodies to be overridden by subclasses.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/EnumElementValueGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/EnumElementValueGen.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/EnumElementValueGen.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/EnumElementValueGen.java
index 2d390bfa..8f085aa4 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/EnumElementValueGen.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/EnumElementValueGen.java
@@ -15,14 +15,14 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.classfile.ConstantUtf8;
-import org.apache.bcel.classfile.ElementValue;
-import org.apache.bcel.classfile.EnumElementValue;
+import org.apache.bcel6_2_0.classfile.ConstantUtf8;
+import org.apache.bcel6_2_0.classfile.ElementValue;
+import org.apache.bcel6_2_0.classfile.EnumElementValue;
/**
* @since 6.0
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ExceptionThrower.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ExceptionThrower.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ExceptionThrower.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ExceptionThrower.java
index 8dfcb5d3..50a2bbde 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ExceptionThrower.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ExceptionThrower.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Denote an instruction that may throw a run-time or a linking
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/F2D.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/F2D.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/F2D.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/F2D.java
index 430e30d9..75f59d1e 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/F2D.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/F2D.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* F2D - Convert float to double
@@ -28,7 +28,7 @@ public class F2D extends ConversionInstruction {
/** Convert float to double
*/
public F2D() {
- super(org.apache.bcel.Const.F2D);
+ super(org.apache.bcel6_2_0.Const.F2D);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/F2I.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/F2I.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/F2I.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/F2I.java
index 8b0dbe50..648aaf61 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/F2I.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/F2I.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* F2I - Convert float to int
@@ -28,7 +28,7 @@ public class F2I extends ConversionInstruction {
/** Convert float to int
*/
public F2I() {
- super(org.apache.bcel.Const.F2I);
+ super(org.apache.bcel6_2_0.Const.F2I);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/F2L.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/F2L.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/F2L.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/F2L.java
index fb749419..db6aeb4d 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/F2L.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/F2L.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* F2L - Convert float to long
@@ -28,7 +28,7 @@ public class F2L extends ConversionInstruction {
/** Convert float to long
*/
public F2L() {
- super(org.apache.bcel.Const.F2L);
+ super(org.apache.bcel6_2_0.Const.F2L);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FADD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FADD.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FADD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FADD.java
index 44a10c8b..036d39fa 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FADD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FADD.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* FADD - Add floats
@@ -28,7 +28,7 @@ public class FADD extends ArithmeticInstruction {
/** Add floats
*/
public FADD() {
- super(org.apache.bcel.Const.FADD);
+ super(org.apache.bcel6_2_0.Const.FADD);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FALOAD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FALOAD.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FALOAD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FALOAD.java
index 4f8d0add..2e8b22c0 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FALOAD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FALOAD.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* FALOAD - Load float from array
@@ -28,7 +28,7 @@ public class FALOAD extends ArrayInstruction implements StackProducer {
/** Load float from array
*/
public FALOAD() {
- super(org.apache.bcel.Const.FALOAD);
+ super(org.apache.bcel6_2_0.Const.FALOAD);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FASTORE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FASTORE.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FASTORE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FASTORE.java
index 1d19b20f..319543ee 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FASTORE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FASTORE.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* FASTORE - Store into float array
@@ -28,7 +28,7 @@ public class FASTORE extends ArrayInstruction implements StackConsumer {
/** Store float into array
*/
public FASTORE() {
- super(org.apache.bcel.Const.FASTORE);
+ super(org.apache.bcel6_2_0.Const.FASTORE);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FCMPG.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FCMPG.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FCMPG.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FCMPG.java
index c660f867..2ad96798 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FCMPG.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FCMPG.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* FCMPG - Compare floats: value1 > value2
@@ -26,7 +26,7 @@
public class FCMPG extends Instruction implements TypedInstruction, StackProducer, StackConsumer {
public FCMPG() {
- super(org.apache.bcel.Const.FCMPG, (short) 1);
+ super(org.apache.bcel6_2_0.Const.FCMPG, (short) 1);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FCMPL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FCMPL.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FCMPL.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FCMPL.java
index 19212643..62eb67dd 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FCMPL.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FCMPL.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* FCMPL - Compare floats: value1 < value2
@@ -26,7 +26,7 @@
public class FCMPL extends Instruction implements TypedInstruction, StackProducer, StackConsumer {
public FCMPL() {
- super(org.apache.bcel.Const.FCMPL, (short) 1);
+ super(org.apache.bcel6_2_0.Const.FCMPL, (short) 1);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FCONST.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FCONST.java
similarity index 85%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FCONST.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FCONST.java
index d4537dfe..054801e7 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FCONST.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FCONST.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* FCONST - Push 0.0, 1.0 or 2.0, other values cause an exception
@@ -38,13 +38,13 @@ public class FCONST extends Instruction implements ConstantPushInstruction {
public FCONST(final float f) {
- super(org.apache.bcel.Const.FCONST_0, (short) 1);
+ super(org.apache.bcel6_2_0.Const.FCONST_0, (short) 1);
if (f == 0.0) {
- super.setOpcode(org.apache.bcel.Const.FCONST_0);
+ super.setOpcode(org.apache.bcel6_2_0.Const.FCONST_0);
} else if (f == 1.0) {
- super.setOpcode(org.apache.bcel.Const.FCONST_1);
+ super.setOpcode(org.apache.bcel6_2_0.Const.FCONST_1);
} else if (f == 2.0) {
- super.setOpcode(org.apache.bcel.Const.FCONST_2);
+ super.setOpcode(org.apache.bcel6_2_0.Const.FCONST_2);
} else {
throw new ClassGenException("FCONST can be used only for 0.0, 1.0 and 2.0: " + f);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FDIV.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FDIV.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FDIV.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FDIV.java
index db716f92..cb16848a 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FDIV.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FDIV.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* FDIV - Divide floats
@@ -28,7 +28,7 @@ public class FDIV extends ArithmeticInstruction {
/** Divide floats
*/
public FDIV() {
- super(org.apache.bcel.Const.FDIV);
+ super(org.apache.bcel6_2_0.Const.FDIV);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FLOAD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FLOAD.java
similarity index 86%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FLOAD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FLOAD.java
index 2f249afb..403391f8 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FLOAD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FLOAD.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* FLOAD - Load float from local variable
@@ -30,7 +30,7 @@ public class FLOAD extends LoadInstruction {
* Not to be used otherwise.
*/
FLOAD() {
- super(org.apache.bcel.Const.FLOAD, org.apache.bcel.Const.FLOAD_0);
+ super(org.apache.bcel6_2_0.Const.FLOAD, org.apache.bcel6_2_0.Const.FLOAD_0);
}
@@ -38,7 +38,7 @@ public class FLOAD extends LoadInstruction {
* @param n index of local variable
*/
public FLOAD(final int n) {
- super(org.apache.bcel.Const.FLOAD, org.apache.bcel.Const.FLOAD_0, n);
+ super(org.apache.bcel6_2_0.Const.FLOAD, org.apache.bcel6_2_0.Const.FLOAD_0, n);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FMUL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FMUL.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FMUL.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FMUL.java
index 526f3091..108a23b3 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FMUL.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FMUL.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* FMUL - Multiply floats
@@ -28,7 +28,7 @@ public class FMUL extends ArithmeticInstruction {
/** Multiply floats
*/
public FMUL() {
- super(org.apache.bcel.Const.FMUL);
+ super(org.apache.bcel6_2_0.Const.FMUL);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FNEG.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FNEG.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FNEG.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FNEG.java
index db1dc36a..81ca6179 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FNEG.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FNEG.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* FNEG - Negate float
@@ -26,7 +26,7 @@
public class FNEG extends ArithmeticInstruction {
public FNEG() {
- super(org.apache.bcel.Const.FNEG);
+ super(org.apache.bcel6_2_0.Const.FNEG);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FREM.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FREM.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FREM.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FREM.java
index 38e0609e..36a5dd0a 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FREM.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FREM.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* FREM - Remainder of floats
@@ -28,7 +28,7 @@ public class FREM extends ArithmeticInstruction {
/** Remainder of floats
*/
public FREM() {
- super(org.apache.bcel.Const.FREM);
+ super(org.apache.bcel6_2_0.Const.FREM);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FRETURN.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FRETURN.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FRETURN.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FRETURN.java
index 5fde2263..146ca0e9 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FRETURN.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FRETURN.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* FRETURN - Return float from method
@@ -28,7 +28,7 @@ public class FRETURN extends ReturnInstruction {
/** Return float from method
*/
public FRETURN() {
- super(org.apache.bcel.Const.FRETURN);
+ super(org.apache.bcel6_2_0.Const.FRETURN);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FSTORE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FSTORE.java
similarity index 86%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FSTORE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FSTORE.java
index d5878c6d..9eef44de 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FSTORE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FSTORE.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* FSTORE - Store float into local variable
@@ -30,7 +30,7 @@ public class FSTORE extends StoreInstruction {
* Not to be used otherwise.
*/
FSTORE() {
- super(org.apache.bcel.Const.FSTORE, org.apache.bcel.Const.FSTORE_0);
+ super(org.apache.bcel6_2_0.Const.FSTORE, org.apache.bcel6_2_0.Const.FSTORE_0);
}
@@ -38,7 +38,7 @@ public class FSTORE extends StoreInstruction {
* @param n index of local variable
*/
public FSTORE(final int n) {
- super(org.apache.bcel.Const.FSTORE, org.apache.bcel.Const.FSTORE_0, n);
+ super(org.apache.bcel6_2_0.Const.FSTORE, org.apache.bcel6_2_0.Const.FSTORE_0, n);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FSUB.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FSUB.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FSUB.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FSUB.java
index a0de0109..3e0f05fb 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FSUB.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FSUB.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* FSUB - Substract floats
@@ -28,7 +28,7 @@ public class FSUB extends ArithmeticInstruction {
/** Substract floats
*/
public FSUB() {
- super(org.apache.bcel.Const.FSUB);
+ super(org.apache.bcel6_2_0.Const.FSUB);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FieldGen.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldGen.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FieldGen.java
index 263abdad..b47dbd1d 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldGen.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FieldGen.java
@@ -15,22 +15,22 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.util.ArrayList;
import java.util.List;
-import org.apache.bcel.Const;
-import org.apache.bcel.classfile.AnnotationEntry;
-import org.apache.bcel.classfile.Annotations;
-import org.apache.bcel.classfile.Attribute;
-import org.apache.bcel.classfile.Constant;
-import org.apache.bcel.classfile.ConstantObject;
-import org.apache.bcel.classfile.ConstantPool;
-import org.apache.bcel.classfile.ConstantValue;
-import org.apache.bcel.classfile.Field;
-import org.apache.bcel.classfile.Utility;
-import org.apache.bcel.util.BCELComparator;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.classfile.AnnotationEntry;
+import org.apache.bcel6_2_0.classfile.Annotations;
+import org.apache.bcel6_2_0.classfile.Attribute;
+import org.apache.bcel6_2_0.classfile.Constant;
+import org.apache.bcel6_2_0.classfile.ConstantObject;
+import org.apache.bcel6_2_0.classfile.ConstantPool;
+import org.apache.bcel6_2_0.classfile.ConstantValue;
+import org.apache.bcel6_2_0.classfile.Field;
+import org.apache.bcel6_2_0.classfile.Utility;
+import org.apache.bcel6_2_0.util.BCELComparator;
/**
* Template class for building up a field. The only extraordinary thing
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldGenOrMethodGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FieldGenOrMethodGen.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldGenOrMethodGen.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FieldGenOrMethodGen.java
index 7e9a0d42..cec3b61d 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldGenOrMethodGen.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FieldGenOrMethodGen.java
@@ -15,14 +15,14 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.util.ArrayList;
import java.util.List;
-import org.apache.bcel.Const;
-import org.apache.bcel.classfile.AccessFlags;
-import org.apache.bcel.classfile.Attribute;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.classfile.AccessFlags;
+import org.apache.bcel6_2_0.classfile.Attribute;
/**
* Super class for FieldGen and MethodGen objects, since they have
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FieldInstruction.java
similarity index 88%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FieldInstruction.java
index a61a679f..4004261f 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FieldInstruction.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.classfile.ConstantPool;
+import org.apache.bcel6_2_0.classfile.ConstantPool;
/**
* Super class for the GET/PUTxxx family of instructions.
@@ -47,8 +47,8 @@ protected FieldInstruction(final short opcode, final int index) {
*/
@Override
public String toString( final ConstantPool cp ) {
- return org.apache.bcel.Const.getOpcodeName(super.getOpcode()) + " "
- + cp.constantToString(super.getIndex(), org.apache.bcel.Const.CONSTANT_Fieldref);
+ return org.apache.bcel6_2_0.Const.getOpcodeName(super.getOpcode()) + " "
+ + cp.constantToString(super.getIndex(), org.apache.bcel6_2_0.Const.CONSTANT_Fieldref);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldObserver.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FieldObserver.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldObserver.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FieldObserver.java
index c82c3c91..7bf3f006 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldObserver.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FieldObserver.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Imnplement this interface if you're interested in changes to a FieldGen object
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldOrMethod.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FieldOrMethod.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldOrMethod.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FieldOrMethod.java
index 0a952b00..d630c8be 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/FieldOrMethod.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/FieldOrMethod.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.Const;
-import org.apache.bcel.classfile.ConstantCP;
-import org.apache.bcel.classfile.ConstantNameAndType;
-import org.apache.bcel.classfile.ConstantPool;
-import org.apache.bcel.classfile.ConstantUtf8;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.classfile.ConstantCP;
+import org.apache.bcel6_2_0.classfile.ConstantNameAndType;
+import org.apache.bcel6_2_0.classfile.ConstantPool;
+import org.apache.bcel6_2_0.classfile.ConstantUtf8;
/**
* Super class for InvokeInstruction and FieldInstruction, since they have
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GETFIELD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/GETFIELD.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GETFIELD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/GETFIELD.java
index c6136430..c6ae178a 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GETFIELD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/GETFIELD.java
@@ -15,10 +15,10 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.Const;
-import org.apache.bcel.ExceptionConst;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.ExceptionConst;
/**
* GETFIELD - Fetch field from object
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GETSTATIC.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/GETSTATIC.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GETSTATIC.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/GETSTATIC.java
index 7323fc04..dd244d29 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GETSTATIC.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/GETSTATIC.java
@@ -15,10 +15,10 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.Const;
-import org.apache.bcel.ExceptionConst;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.ExceptionConst;
/**
* GETSTATIC - Fetch static field from class
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GOTO.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/GOTO.java
similarity index 91%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GOTO.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/GOTO.java
index 15ded296..c93296cc 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GOTO.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/GOTO.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
@@ -36,7 +36,7 @@ public class GOTO extends GotoInstruction implements VariableLengthInstruction {
public GOTO(final InstructionHandle target) {
- super(org.apache.bcel.Const.GOTO, target);
+ super(org.apache.bcel6_2_0.Const.GOTO, target);
}
@@ -48,7 +48,7 @@ public GOTO(final InstructionHandle target) {
public void dump( final DataOutputStream out ) throws IOException {
super.setIndex(getTargetOffset());
final short _opcode = getOpcode();
- if (_opcode == org.apache.bcel.Const.GOTO) {
+ if (_opcode == org.apache.bcel6_2_0.Const.GOTO) {
super.dump(out);
} else { // GOTO_W
super.setIndex(getTargetOffset());
@@ -71,7 +71,7 @@ protected int updatePosition( final int offset, final int max_offset ) {
final int i = getTargetOffset(); // Depending on old position value
setPosition(getPosition() + offset); // Position may be shifted by preceding expansions
if (Math.abs(i) >= (Short.MAX_VALUE - max_offset)) { // to large for short (estimate)
- super.setOpcode(org.apache.bcel.Const.GOTO_W);
+ super.setOpcode(org.apache.bcel6_2_0.Const.GOTO_W);
final short old_length = (short) super.getLength();
super.setLength(5);
return super.getLength() - old_length;
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GOTO_W.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/GOTO_W.java
similarity index 91%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GOTO_W.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/GOTO_W.java
index 9955e9d1..3991160a 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GOTO_W.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/GOTO_W.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.util.ByteSequence;
+import org.apache.bcel6_2_0.util.ByteSequence;
/**
* GOTO_W - Branch always (to relative offset, not absolute address)
@@ -38,7 +38,7 @@ public class GOTO_W extends GotoInstruction {
public GOTO_W(final InstructionHandle target) {
- super(org.apache.bcel.Const.GOTO_W, target);
+ super(org.apache.bcel6_2_0.Const.GOTO_W, target);
super.setLength(5);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GotoInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/GotoInstruction.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GotoInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/GotoInstruction.java
index 1a5afa65..3734f8a9 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/GotoInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/GotoInstruction.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Super class for GOTO
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2B.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/I2B.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2B.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/I2B.java
index 5a027644..a7dd6ab7 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2B.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/I2B.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* I2B - Convert int to byte
@@ -28,7 +28,7 @@ public class I2B extends ConversionInstruction {
/** Convert int to byte
*/
public I2B() {
- super(org.apache.bcel.Const.I2B);
+ super(org.apache.bcel6_2_0.Const.I2B);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2C.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/I2C.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2C.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/I2C.java
index df97da64..c488f4d7 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2C.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/I2C.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* I2C - Convert int to char
@@ -28,7 +28,7 @@ public class I2C extends ConversionInstruction {
/** Convert int to char
*/
public I2C() {
- super(org.apache.bcel.Const.I2C);
+ super(org.apache.bcel6_2_0.Const.I2C);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2D.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/I2D.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2D.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/I2D.java
index 7d12f659..999fa075 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2D.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/I2D.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* I2D - Convert int to double
@@ -28,7 +28,7 @@ public class I2D extends ConversionInstruction {
/** Convert int to double
*/
public I2D() {
- super(org.apache.bcel.Const.I2D);
+ super(org.apache.bcel6_2_0.Const.I2D);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2F.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/I2F.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2F.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/I2F.java
index 730dbb80..8285f377 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2F.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/I2F.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* I2F - Convert int to float
@@ -28,7 +28,7 @@ public class I2F extends ConversionInstruction {
/** Convert int to float
*/
public I2F() {
- super(org.apache.bcel.Const.I2F);
+ super(org.apache.bcel6_2_0.Const.I2F);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2L.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/I2L.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2L.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/I2L.java
index 70997c13..8a7cb26e 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2L.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/I2L.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* I2L - Convert int to long
@@ -28,7 +28,7 @@ public class I2L extends ConversionInstruction {
/** Convert int to long
*/
public I2L() {
- super(org.apache.bcel.Const.I2L);
+ super(org.apache.bcel6_2_0.Const.I2L);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2S.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/I2S.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2S.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/I2S.java
index c2952a17..54b71746 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/I2S.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/I2S.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* I2S - Convert int to short
@@ -26,7 +26,7 @@
public class I2S extends ConversionInstruction {
public I2S() {
- super(org.apache.bcel.Const.I2S);
+ super(org.apache.bcel6_2_0.Const.I2S);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IADD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IADD.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IADD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IADD.java
index d8d1e07d..08b90e34 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IADD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IADD.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IADD - Add ints
@@ -28,7 +28,7 @@ public class IADD extends ArithmeticInstruction {
/** Add ints
*/
public IADD() {
- super(org.apache.bcel.Const.IADD);
+ super(org.apache.bcel6_2_0.Const.IADD);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IALOAD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IALOAD.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IALOAD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IALOAD.java
index ceab7fcd..43dfabeb 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IALOAD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IALOAD.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IALOAD - Load int from array
@@ -29,7 +29,7 @@ public class IALOAD extends ArrayInstruction implements StackProducer {
* Load int from array
*/
public IALOAD() {
- super(org.apache.bcel.Const.IALOAD);
+ super(org.apache.bcel6_2_0.Const.IALOAD);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IAND.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IAND.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IAND.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IAND.java
index e2f4a2d1..0b8dfd9e 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IAND.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IAND.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IAND - Bitwise AND int
@@ -26,7 +26,7 @@
public class IAND extends ArithmeticInstruction {
public IAND() {
- super(org.apache.bcel.Const.IAND);
+ super(org.apache.bcel6_2_0.Const.IAND);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IASTORE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IASTORE.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IASTORE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IASTORE.java
index 97695196..654022eb 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IASTORE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IASTORE.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IASTORE - Store into int array
@@ -29,7 +29,7 @@ public class IASTORE extends ArrayInstruction implements StackConsumer {
* Store into int array
*/
public IASTORE() {
- super(org.apache.bcel.Const.IASTORE);
+ super(org.apache.bcel6_2_0.Const.IASTORE);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ICONST.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ICONST.java
similarity index 88%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ICONST.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ICONST.java
index cc602854..44ef90de 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ICONST.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ICONST.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* ICONST - Push value between -1, ..., 5, other values cause an exception
@@ -38,9 +38,9 @@ public class ICONST extends Instruction implements ConstantPushInstruction {
public ICONST(final int i) {
- super(org.apache.bcel.Const.ICONST_0, (short) 1);
+ super(org.apache.bcel6_2_0.Const.ICONST_0, (short) 1);
if ((i >= -1) && (i <= 5)) {
- super.setOpcode((short) (org.apache.bcel.Const.ICONST_0 + i)); // Even works for i == -1
+ super.setOpcode((short) (org.apache.bcel6_2_0.Const.ICONST_0 + i)); // Even works for i == -1
} else {
throw new ClassGenException("ICONST can be used only for value between -1 and 5: " + i);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IDIV.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IDIV.java
similarity index 90%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IDIV.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IDIV.java
index 8c169e24..6dc51115 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IDIV.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IDIV.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.ExceptionConst;
+import org.apache.bcel6_2_0.ExceptionConst;
/**
* IDIV - Divide ints
@@ -30,7 +30,7 @@ public class IDIV extends ArithmeticInstruction implements ExceptionThrower {
/** Divide ints
*/
public IDIV() {
- super(org.apache.bcel.Const.IDIV);
+ super(org.apache.bcel6_2_0.Const.IDIV);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFEQ.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFEQ.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFEQ.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFEQ.java
index e6f1378b..bd2b753c 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFEQ.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFEQ.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IFEQ - Branch if int comparison with zero succeeds
@@ -35,7 +35,7 @@ public class IFEQ extends IfInstruction {
public IFEQ(final InstructionHandle target) {
- super(org.apache.bcel.Const.IFEQ, target);
+ super(org.apache.bcel6_2_0.Const.IFEQ, target);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFGE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFGE.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFGE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFGE.java
index edd6a6a7..c98964be 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFGE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFGE.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IFGE - Branch if int comparison with zero succeeds
@@ -35,7 +35,7 @@ public class IFGE extends IfInstruction {
public IFGE(final InstructionHandle target) {
- super(org.apache.bcel.Const.IFGE, target);
+ super(org.apache.bcel6_2_0.Const.IFGE, target);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFGT.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFGT.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFGT.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFGT.java
index 0e37a531..798b72df 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFGT.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFGT.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IFGT - Branch if int comparison with zero succeeds
@@ -35,7 +35,7 @@ public class IFGT extends IfInstruction {
public IFGT(final InstructionHandle target) {
- super(org.apache.bcel.Const.IFGT, target);
+ super(org.apache.bcel6_2_0.Const.IFGT, target);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFLE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFLE.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFLE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFLE.java
index 7b696e20..280be130 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFLE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFLE.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IFLE - Branch if int comparison with zero succeeds
@@ -35,7 +35,7 @@ public class IFLE extends IfInstruction {
public IFLE(final InstructionHandle target) {
- super(org.apache.bcel.Const.IFLE, target);
+ super(org.apache.bcel6_2_0.Const.IFLE, target);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFLT.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFLT.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFLT.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFLT.java
index 520b67e1..43c774fb 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFLT.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFLT.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IFLT - Branch if int comparison with zero succeeds
@@ -35,7 +35,7 @@ public class IFLT extends IfInstruction {
public IFLT(final InstructionHandle target) {
- super(org.apache.bcel.Const.IFLT, target);
+ super(org.apache.bcel6_2_0.Const.IFLT, target);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFNE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFNE.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFNE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFNE.java
index 7b4d536e..06bfc13a 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFNE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFNE.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IFNE - Branch if int comparison with zero succeeds
@@ -35,7 +35,7 @@ public class IFNE extends IfInstruction {
public IFNE(final InstructionHandle target) {
- super(org.apache.bcel.Const.IFNE, target);
+ super(org.apache.bcel6_2_0.Const.IFNE, target);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFNONNULL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFNONNULL.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFNONNULL.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFNONNULL.java
index 25e62b50..aa2521df 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFNONNULL.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFNONNULL.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IFNONNULL - Branch if reference is not null
@@ -35,7 +35,7 @@ public class IFNONNULL extends IfInstruction {
public IFNONNULL(final InstructionHandle target) {
- super(org.apache.bcel.Const.IFNONNULL, target);
+ super(org.apache.bcel6_2_0.Const.IFNONNULL, target);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFNULL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFNULL.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFNULL.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFNULL.java
index 702d469a..7b22161a 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IFNULL.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IFNULL.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IFNULL - Branch if reference is not null
@@ -35,7 +35,7 @@ public class IFNULL extends IfInstruction {
public IFNULL(final InstructionHandle target) {
- super(org.apache.bcel.Const.IFNULL, target);
+ super(org.apache.bcel6_2_0.Const.IFNULL, target);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ACMPEQ.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ACMPEQ.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ACMPEQ.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ACMPEQ.java
index ce5a8594..30974a45 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ACMPEQ.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ACMPEQ.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IF_ACMPEQ - Branch if reference comparison succeeds
@@ -35,7 +35,7 @@ public class IF_ACMPEQ extends IfInstruction {
public IF_ACMPEQ(final InstructionHandle target) {
- super(org.apache.bcel.Const.IF_ACMPEQ, target);
+ super(org.apache.bcel6_2_0.Const.IF_ACMPEQ, target);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ACMPNE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ACMPNE.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ACMPNE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ACMPNE.java
index 1ad7c2f5..df6b676e 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ACMPNE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ACMPNE.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IF_ACMPNE - Branch if reference comparison doesn't succeed
@@ -35,7 +35,7 @@ public class IF_ACMPNE extends IfInstruction {
public IF_ACMPNE(final InstructionHandle target) {
- super(org.apache.bcel.Const.IF_ACMPNE, target);
+ super(org.apache.bcel6_2_0.Const.IF_ACMPNE, target);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPEQ.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ICMPEQ.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPEQ.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ICMPEQ.java
index f1018140..6d49cdfb 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPEQ.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ICMPEQ.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IF_ICMPEQ - Branch if int comparison succeeds
@@ -35,7 +35,7 @@ public class IF_ICMPEQ extends IfInstruction {
public IF_ICMPEQ(final InstructionHandle target) {
- super(org.apache.bcel.Const.IF_ICMPEQ, target);
+ super(org.apache.bcel6_2_0.Const.IF_ICMPEQ, target);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPGE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ICMPGE.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPGE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ICMPGE.java
index a31dda68..8e3a5440 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPGE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ICMPGE.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IF_ICMPGE - Branch if int comparison succeeds
@@ -35,7 +35,7 @@ public class IF_ICMPGE extends IfInstruction {
public IF_ICMPGE(final InstructionHandle target) {
- super(org.apache.bcel.Const.IF_ICMPGE, target);
+ super(org.apache.bcel6_2_0.Const.IF_ICMPGE, target);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPGT.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ICMPGT.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPGT.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ICMPGT.java
index 64af7dbc..c56692ea 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPGT.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ICMPGT.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IF_ICMPGT - Branch if int comparison succeeds
@@ -35,7 +35,7 @@ public class IF_ICMPGT extends IfInstruction {
public IF_ICMPGT(final InstructionHandle target) {
- super(org.apache.bcel.Const.IF_ICMPGT, target);
+ super(org.apache.bcel6_2_0.Const.IF_ICMPGT, target);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPLE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ICMPLE.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPLE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ICMPLE.java
index 0cd2db5e..8004ab29 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPLE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ICMPLE.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IF_ICMPLE - Branch if int comparison succeeds
@@ -35,7 +35,7 @@ public class IF_ICMPLE extends IfInstruction {
public IF_ICMPLE(final InstructionHandle target) {
- super(org.apache.bcel.Const.IF_ICMPLE, target);
+ super(org.apache.bcel6_2_0.Const.IF_ICMPLE, target);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPLT.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ICMPLT.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPLT.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ICMPLT.java
index ce5cec1b..503a8f5e 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPLT.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ICMPLT.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IF_ICMPLT - Branch if int comparison succeeds
@@ -35,7 +35,7 @@ public class IF_ICMPLT extends IfInstruction {
public IF_ICMPLT(final InstructionHandle target) {
- super(org.apache.bcel.Const.IF_ICMPLT, target);
+ super(org.apache.bcel6_2_0.Const.IF_ICMPLT, target);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPNE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ICMPNE.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPNE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ICMPNE.java
index e9e139b4..b7fe4b4b 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IF_ICMPNE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IF_ICMPNE.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IF_ICMPNE - Branch if int comparison doesn't succeed
@@ -35,7 +35,7 @@ public class IF_ICMPNE extends IfInstruction {
public IF_ICMPNE(final InstructionHandle target) {
- super(org.apache.bcel.Const.IF_ICMPNE, target);
+ super(org.apache.bcel6_2_0.Const.IF_ICMPNE, target);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IINC.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IINC.java
similarity index 90%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IINC.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IINC.java
index bc4411e8..91334278 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IINC.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IINC.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.util.ByteSequence;
+import org.apache.bcel6_2_0.util.ByteSequence;
/**
* IINC - Increment local variable by constant
@@ -47,7 +47,7 @@ public class IINC extends LocalVariableInstruction {
*/
public IINC(final int n, final int c) {
super(); // Default behaviour of LocalVariableInstruction causes error
- super.setOpcode(org.apache.bcel.Const.IINC);
+ super.setOpcode(org.apache.bcel6_2_0.Const.IINC);
super.setLength((short) 3);
setIndex(n); // May set wide as side effect
setIncrement(c);
@@ -61,7 +61,7 @@ public IINC(final int n, final int c) {
@Override
public void dump( final DataOutputStream out ) throws IOException {
if (wide) {
- out.writeByte(org.apache.bcel.Const.WIDE);
+ out.writeByte(org.apache.bcel6_2_0.Const.WIDE);
}
out.writeByte(super.getOpcode());
if (wide) {
@@ -75,7 +75,7 @@ public void dump( final DataOutputStream out ) throws IOException {
private void setWide() {
- wide = super.getIndex() > org.apache.bcel.Const.MAX_BYTE;
+ wide = super.getIndex() > org.apache.bcel6_2_0.Const.MAX_BYTE;
if (c > 0) {
wide = wide || (c > Byte.MAX_VALUE);
} else {
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ILOAD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ILOAD.java
similarity index 86%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ILOAD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ILOAD.java
index 44c3391b..58985aa7 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ILOAD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ILOAD.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* ILOAD - Load int from local variable onto stack
@@ -30,7 +30,7 @@ public class ILOAD extends LoadInstruction {
* Not to be used otherwise.
*/
ILOAD() {
- super(org.apache.bcel.Const.ILOAD, org.apache.bcel.Const.ILOAD_0);
+ super(org.apache.bcel6_2_0.Const.ILOAD, org.apache.bcel6_2_0.Const.ILOAD_0);
}
@@ -38,7 +38,7 @@ public class ILOAD extends LoadInstruction {
* @param n index of local variable
*/
public ILOAD(final int n) {
- super(org.apache.bcel.Const.ILOAD, org.apache.bcel.Const.ILOAD_0, n);
+ super(org.apache.bcel6_2_0.Const.ILOAD, org.apache.bcel6_2_0.Const.ILOAD_0, n);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IMPDEP1.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IMPDEP1.java
similarity index 90%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IMPDEP1.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IMPDEP1.java
index 05241539..815f2ad1 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IMPDEP1.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IMPDEP1.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IMPDEP1 - Implementation dependent
@@ -25,7 +25,7 @@
public class IMPDEP1 extends Instruction {
public IMPDEP1() {
- super(org.apache.bcel.Const.IMPDEP1, (short) 1);
+ super(org.apache.bcel6_2_0.Const.IMPDEP1, (short) 1);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IMPDEP2.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IMPDEP2.java
similarity index 90%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IMPDEP2.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IMPDEP2.java
index dbf9402a..11651fbf 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IMPDEP2.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IMPDEP2.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IMPDEP2 - Implementation dependent
@@ -25,7 +25,7 @@
public class IMPDEP2 extends Instruction {
public IMPDEP2() {
- super(org.apache.bcel.Const.IMPDEP2, (short) 1);
+ super(org.apache.bcel6_2_0.Const.IMPDEP2, (short) 1);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IMUL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IMUL.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IMUL.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IMUL.java
index 29699a61..69f53068 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IMUL.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IMUL.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IMUL - Multiply ints
@@ -28,7 +28,7 @@ public class IMUL extends ArithmeticInstruction {
/** Multiply ints
*/
public IMUL() {
- super(org.apache.bcel.Const.IMUL);
+ super(org.apache.bcel6_2_0.Const.IMUL);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INEG.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/INEG.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INEG.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/INEG.java
index e2c71717..6ca1e2d4 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INEG.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/INEG.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* INEG - Negate int
@@ -26,7 +26,7 @@
public class INEG extends ArithmeticInstruction {
public INEG() {
- super(org.apache.bcel.Const.INEG);
+ super(org.apache.bcel6_2_0.Const.INEG);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INSTANCEOF.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/INSTANCEOF.java
similarity index 91%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INSTANCEOF.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/INSTANCEOF.java
index 19f42b88..d6446e28 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INSTANCEOF.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/INSTANCEOF.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.ExceptionConst;
+import org.apache.bcel6_2_0.ExceptionConst;
/**
* INSTANCEOF - Determine if object is of given type
@@ -37,7 +37,7 @@ public class INSTANCEOF extends CPInstruction implements LoadClass, ExceptionThr
public INSTANCEOF(final int index) {
- super(org.apache.bcel.Const.INSTANCEOF, index);
+ super(org.apache.bcel6_2_0.Const.INSTANCEOF, index);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKEDYNAMIC.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/INVOKEDYNAMIC.java
similarity index 90%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKEDYNAMIC.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/INVOKEDYNAMIC.java
index d512574e..86a50e0e 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKEDYNAMIC.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/INVOKEDYNAMIC.java
@@ -15,17 +15,17 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
-import org.apache.bcel.ExceptionConst;
-import org.apache.bcel.classfile.ConstantInvokeDynamic;
-import org.apache.bcel.classfile.ConstantNameAndType;
-import org.apache.bcel.classfile.ConstantPool;
-import org.apache.bcel.util.ByteSequence;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.ExceptionConst;
+import org.apache.bcel6_2_0.classfile.ConstantInvokeDynamic;
+import org.apache.bcel6_2_0.classfile.ConstantNameAndType;
+import org.apache.bcel6_2_0.classfile.ConstantPool;
+import org.apache.bcel6_2_0.util.ByteSequence;
/**
* Class for INVOKEDYNAMIC. Not an instance of InvokeInstruction, since that class
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKEINTERFACE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/INVOKEINTERFACE.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKEINTERFACE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/INVOKEINTERFACE.java
index f2660704..10ff2024 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKEINTERFACE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/INVOKEINTERFACE.java
@@ -15,15 +15,15 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
-import org.apache.bcel.ExceptionConst;
-import org.apache.bcel.classfile.ConstantPool;
-import org.apache.bcel.util.ByteSequence;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.ExceptionConst;
+import org.apache.bcel6_2_0.classfile.ConstantPool;
+import org.apache.bcel6_2_0.util.ByteSequence;
/**
* INVOKEINTERFACE - Invoke interface method
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKESPECIAL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/INVOKESPECIAL.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKESPECIAL.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/INVOKESPECIAL.java
index 9fe379bc..f5650f4a 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKESPECIAL.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/INVOKESPECIAL.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
-import org.apache.bcel.ExceptionConst;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.ExceptionConst;
/**
* INVOKESPECIAL - Invoke instance method; special handling for superclass, private
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKESTATIC.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/INVOKESTATIC.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKESTATIC.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/INVOKESTATIC.java
index bdeb328b..783af65d 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKESTATIC.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/INVOKESTATIC.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
-import org.apache.bcel.ExceptionConst;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.ExceptionConst;
/**
* INVOKESTATIC - Invoke a class (static) method
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKEVIRTUAL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/INVOKEVIRTUAL.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKEVIRTUAL.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/INVOKEVIRTUAL.java
index f6b0d905..4a883bb1 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/INVOKEVIRTUAL.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/INVOKEVIRTUAL.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
-import org.apache.bcel.ExceptionConst;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.ExceptionConst;
/**
* INVOKEVIRTUAL - Invoke instance method; dispatch based on class
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IOR.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IOR.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IOR.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IOR.java
index 9ec1f823..e2701a4c 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IOR.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IOR.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IOR - Bitwise OR int
@@ -26,7 +26,7 @@
public class IOR extends ArithmeticInstruction {
public IOR() {
- super(org.apache.bcel.Const.IOR);
+ super(org.apache.bcel6_2_0.Const.IOR);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IREM.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IREM.java
similarity index 90%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IREM.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IREM.java
index 9c71111a..e2a56f03 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IREM.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IREM.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.ExceptionConst;
+import org.apache.bcel6_2_0.ExceptionConst;
/**
* IREM - Remainder of int
@@ -30,7 +30,7 @@ public class IREM extends ArithmeticInstruction implements ExceptionThrower {
/** Remainder of ints
*/
public IREM() {
- super(org.apache.bcel.Const.IREM);
+ super(org.apache.bcel6_2_0.Const.IREM);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IRETURN.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IRETURN.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IRETURN.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IRETURN.java
index 8bea094f..f3100f0b 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IRETURN.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IRETURN.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IRETURN - Return int from method
@@ -28,7 +28,7 @@ public class IRETURN extends ReturnInstruction {
/** Return int from method
*/
public IRETURN() {
- super(org.apache.bcel.Const.IRETURN);
+ super(org.apache.bcel6_2_0.Const.IRETURN);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISHL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ISHL.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISHL.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ISHL.java
index 1060c188..b5928122 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISHL.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ISHL.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* ISHL - Arithmetic shift left int
@@ -26,7 +26,7 @@
public class ISHL extends ArithmeticInstruction {
public ISHL() {
- super(org.apache.bcel.Const.ISHL);
+ super(org.apache.bcel6_2_0.Const.ISHL);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISHR.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ISHR.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISHR.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ISHR.java
index 00f17eee..04820eb6 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISHR.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ISHR.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* ISHR - Arithmetic shift right int
@@ -26,7 +26,7 @@
public class ISHR extends ArithmeticInstruction {
public ISHR() {
- super(org.apache.bcel.Const.ISHR);
+ super(org.apache.bcel6_2_0.Const.ISHR);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISTORE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ISTORE.java
similarity index 86%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISTORE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ISTORE.java
index 289fc405..d9e4c4f4 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISTORE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ISTORE.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* ISTORE - Store int from stack into local variable
@@ -30,7 +30,7 @@ public class ISTORE extends StoreInstruction {
* Not to be used otherwise.
*/
ISTORE() {
- super(org.apache.bcel.Const.ISTORE, org.apache.bcel.Const.ISTORE_0);
+ super(org.apache.bcel6_2_0.Const.ISTORE, org.apache.bcel6_2_0.Const.ISTORE_0);
}
@@ -38,7 +38,7 @@ public class ISTORE extends StoreInstruction {
* @param n index of local variable
*/
public ISTORE(final int n) {
- super(org.apache.bcel.Const.ISTORE, org.apache.bcel.Const.ISTORE_0, n);
+ super(org.apache.bcel6_2_0.Const.ISTORE, org.apache.bcel6_2_0.Const.ISTORE_0, n);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISUB.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ISUB.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISUB.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ISUB.java
index 537bc22b..6f88bd6f 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ISUB.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ISUB.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* ISUB - Substract ints
@@ -28,7 +28,7 @@ public class ISUB extends ArithmeticInstruction {
/** Substract ints
*/
public ISUB() {
- super(org.apache.bcel.Const.ISUB);
+ super(org.apache.bcel6_2_0.Const.ISUB);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IUSHR.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IUSHR.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IUSHR.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IUSHR.java
index 2d134769..76d2833d 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IUSHR.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IUSHR.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IUSHR - Logical shift right int
@@ -26,7 +26,7 @@
public class IUSHR extends ArithmeticInstruction {
public IUSHR() {
- super(org.apache.bcel.Const.IUSHR);
+ super(org.apache.bcel6_2_0.Const.IUSHR);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IXOR.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IXOR.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IXOR.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IXOR.java
index 8b83c13b..5b680c25 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IXOR.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IXOR.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* IXOR - Bitwise XOR int
@@ -26,7 +26,7 @@
public class IXOR extends ArithmeticInstruction {
public IXOR() {
- super(org.apache.bcel.Const.IXOR);
+ super(org.apache.bcel6_2_0.Const.IXOR);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IfInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IfInstruction.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IfInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IfInstruction.java
index bab15627..e5b6ff1b 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IfInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IfInstruction.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Super class for the IFxxx family of instructions.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IndexedInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IndexedInstruction.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IndexedInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IndexedInstruction.java
index 2a40694d..2ab0d9d4 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/IndexedInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/IndexedInstruction.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Denote entity that refers to an index, e.g. local variable instructions,
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/Instruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/Instruction.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/Instruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/Instruction.java
index 2fe0f407..7de63e5f 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/Instruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/Instruction.java
@@ -15,14 +15,14 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
-import org.apache.bcel.classfile.ConstantPool;
-import org.apache.bcel.util.ByteSequence;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.classfile.ConstantPool;
+import org.apache.bcel6_2_0.util.ByteSequence;
/**
* Abstract super class for all Java byte codes.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionComparator.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionComparator.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionComparator.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionComparator.java
index 65efe70e..347ffd16 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionComparator.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionComparator.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Equality of instructions isn't clearly to be defined. You might
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionConst.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionConst.java
similarity index 97%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionConst.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionConst.java
index df198194..b240804d 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionConst.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionConst.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This interface contains shareable instruction objects.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionConstants.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionConstants.java
similarity index 97%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionConstants.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionConstants.java
index 2fb0521f..b49a6bb6 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionConstants.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionConstants.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* This interface contains shareable instruction objects.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionFactory.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionFactory.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionFactory.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionFactory.java
index f53d1df1..5ed8ec54 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionFactory.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionFactory.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* Instances of this class may be used, e.g., to generate typed
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionHandle.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionHandle.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionHandle.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionHandle.java
index 457fe4c4..1d6c2efa 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionHandle.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionHandle.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.util.Collection;
import java.util.HashMap;
@@ -23,7 +23,7 @@
import java.util.Map;
import java.util.Set;
-import org.apache.bcel.classfile.Utility;
+import org.apache.bcel6_2_0.classfile.Utility;
/**
* Instances of this class give users a handle to the instructions contained in
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionList.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionList.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionList.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionList.java
index cfee431c..ef10f40f 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionList.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionList.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
@@ -27,9 +27,9 @@
import java.util.Map;
import java.util.NoSuchElementException;
-import org.apache.bcel.Const;
-import org.apache.bcel.classfile.Constant;
-import org.apache.bcel.util.ByteSequence;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.classfile.Constant;
+import org.apache.bcel6_2_0.util.ByteSequence;
/**
* This class is a container for a list of Instruction objects. Instructions can be appended, inserted, moved, deleted, etc..
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionListObserver.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionListObserver.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionListObserver.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionListObserver.java
index 32e00628..3b9fc765 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionListObserver.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionListObserver.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Implement this interface if you're interested in changes to an InstructionList object
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionTargeter.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionTargeter.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionTargeter.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionTargeter.java
index 9a487f65..0cccb925 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InstructionTargeter.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InstructionTargeter.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Denote that a class targets InstructionHandles within an InstructionList. Namely
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InvokeInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InvokeInstruction.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InvokeInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InvokeInstruction.java
index 6f835e8f..f02fdff7 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/InvokeInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/InvokeInstruction.java
@@ -15,14 +15,14 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.util.StringTokenizer;
-import org.apache.bcel.Const;
-import org.apache.bcel.classfile.Constant;
-import org.apache.bcel.classfile.ConstantCP;
-import org.apache.bcel.classfile.ConstantPool;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.classfile.Constant;
+import org.apache.bcel6_2_0.classfile.ConstantCP;
+import org.apache.bcel6_2_0.classfile.ConstantPool;
/**
* Super class for the INVOKExxx family of instructions.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/JSR.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/JSR.java
similarity index 89%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/JSR.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/JSR.java
index d1e83430..28136db6 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/JSR.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/JSR.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
@@ -36,7 +36,7 @@ public class JSR extends JsrInstruction implements VariableLengthInstruction {
public JSR(final InstructionHandle target) {
- super(org.apache.bcel.Const.JSR, target);
+ super(org.apache.bcel6_2_0.Const.JSR, target);
}
@@ -47,7 +47,7 @@ public JSR(final InstructionHandle target) {
@Override
public void dump( final DataOutputStream out ) throws IOException {
super.setIndex(getTargetOffset());
- if (super.getOpcode() == org.apache.bcel.Const.JSR) {
+ if (super.getOpcode() == org.apache.bcel6_2_0.Const.JSR) {
super.dump(out);
} else { // JSR_W
super.setIndex(getTargetOffset());
@@ -62,7 +62,7 @@ protected int updatePosition( final int offset, final int max_offset ) {
final int i = getTargetOffset(); // Depending on old position value
setPosition(getPosition() + offset); // Position may be shifted by preceding expansions
if (Math.abs(i) >= (Short.MAX_VALUE - max_offset)) { // to large for short (estimate)
- super.setOpcode(org.apache.bcel.Const.JSR_W);
+ super.setOpcode(org.apache.bcel6_2_0.Const.JSR_W);
final short old_length = (short) super.getLength();
super.setLength(5);
return super.getLength() - old_length;
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/JSR_W.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/JSR_W.java
similarity index 91%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/JSR_W.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/JSR_W.java
index 954d7c7f..b01ea554 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/JSR_W.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/JSR_W.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.util.ByteSequence;
+import org.apache.bcel6_2_0.util.ByteSequence;
/**
* JSR_W - Jump to subroutine
@@ -38,7 +38,7 @@ public class JSR_W extends JsrInstruction {
public JSR_W(final InstructionHandle target) {
- super(org.apache.bcel.Const.JSR_W, target);
+ super(org.apache.bcel6_2_0.Const.JSR_W, target);
super.setLength(5);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/JsrInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/JsrInstruction.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/JsrInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/JsrInstruction.java
index 409971f8..9a1fc053 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/JsrInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/JsrInstruction.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Super class for JSR - Jump to subroutine
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/L2D.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/L2D.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/L2D.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/L2D.java
index 2b91cf23..9a227e4b 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/L2D.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/L2D.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* L2D - Convert long to double
@@ -26,7 +26,7 @@
public class L2D extends ConversionInstruction {
public L2D() {
- super(org.apache.bcel.Const.L2D);
+ super(org.apache.bcel6_2_0.Const.L2D);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/L2F.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/L2F.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/L2F.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/L2F.java
index b44f542c..200bf8f9 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/L2F.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/L2F.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* L2F - Convert long to float
@@ -26,7 +26,7 @@
public class L2F extends ConversionInstruction {
public L2F() {
- super(org.apache.bcel.Const.L2F);
+ super(org.apache.bcel6_2_0.Const.L2F);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/L2I.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/L2I.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/L2I.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/L2I.java
index e1223b5b..64d0993a 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/L2I.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/L2I.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* L2I - Convert long to int
@@ -26,7 +26,7 @@
public class L2I extends ConversionInstruction {
public L2I() {
- super(org.apache.bcel.Const.L2I);
+ super(org.apache.bcel6_2_0.Const.L2I);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LADD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LADD.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LADD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LADD.java
index d3dc450a..7eec4379 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LADD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LADD.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* LADD - Add longs
@@ -27,7 +27,7 @@
public class LADD extends ArithmeticInstruction {
public LADD() {
- super(org.apache.bcel.Const.LADD);
+ super(org.apache.bcel6_2_0.Const.LADD);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LALOAD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LALOAD.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LALOAD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LALOAD.java
index 24a4e48c..8e132114 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LALOAD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LALOAD.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* LALOAD - Load long from array
@@ -28,7 +28,7 @@ public class LALOAD extends ArrayInstruction implements StackProducer {
/** Load long from array
*/
public LALOAD() {
- super(org.apache.bcel.Const.LALOAD);
+ super(org.apache.bcel6_2_0.Const.LALOAD);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LAND.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LAND.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LAND.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LAND.java
index 38183598..601c8252 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LAND.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LAND.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* LAND - Bitwise AND longs
@@ -27,7 +27,7 @@
public class LAND extends ArithmeticInstruction {
public LAND() {
- super(org.apache.bcel.Const.LAND);
+ super(org.apache.bcel6_2_0.Const.LAND);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LASTORE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LASTORE.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LASTORE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LASTORE.java
index 821c71c4..0464221d 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LASTORE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LASTORE.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* LASTORE - Store into long array
@@ -28,7 +28,7 @@ public class LASTORE extends ArrayInstruction implements StackConsumer {
/** Store long into array
*/
public LASTORE() {
- super(org.apache.bcel.Const.LASTORE);
+ super(org.apache.bcel6_2_0.Const.LASTORE);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LCMP.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LCMP.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LCMP.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LCMP.java
index b8563695..203acd27 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LCMP.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LCMP.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* LCMP - Compare longs:
@@ -27,7 +27,7 @@
public class LCMP extends Instruction implements TypedInstruction, StackProducer, StackConsumer {
public LCMP() {
- super(org.apache.bcel.Const.LCMP, (short) 1);
+ super(org.apache.bcel6_2_0.Const.LCMP, (short) 1);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LCONST.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LCONST.java
similarity index 87%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LCONST.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LCONST.java
index c2b5d2fa..dd7e7624 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LCONST.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LCONST.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* LCONST - Push 0 or 1, other values cause an exception
@@ -38,11 +38,11 @@ public class LCONST extends Instruction implements ConstantPushInstruction {
public LCONST(final long l) {
- super(org.apache.bcel.Const.LCONST_0, (short) 1);
+ super(org.apache.bcel6_2_0.Const.LCONST_0, (short) 1);
if (l == 0) {
- super.setOpcode(org.apache.bcel.Const.LCONST_0);
+ super.setOpcode(org.apache.bcel6_2_0.Const.LCONST_0);
} else if (l == 1) {
- super.setOpcode(org.apache.bcel.Const.LCONST_1);
+ super.setOpcode(org.apache.bcel6_2_0.Const.LCONST_1);
} else {
throw new ClassGenException("LCONST can be used only for 0 and 1: " + l);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LDC.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LDC.java
similarity index 69%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LDC.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LDC.java
index df574300..951effbd 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LDC.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LDC.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.ExceptionConst;
-import org.apache.bcel.util.ByteSequence;
+import org.apache.bcel6_2_0.ExceptionConst;
+import org.apache.bcel6_2_0.util.ByteSequence;
/**
* LDC - Push item from constant pool.
@@ -41,18 +41,18 @@ public class LDC extends CPInstruction implements PushInstruction, ExceptionThro
public LDC(final int index) {
- super(org.apache.bcel.Const.LDC_W, index);
+ super(org.apache.bcel6_2_0.Const.LDC_W, index);
setSize();
}
// Adjust to proper size
protected final void setSize() {
- if (super.getIndex() <= org.apache.bcel.Const.MAX_BYTE) { // Fits in one byte?
- super.setOpcode(org.apache.bcel.Const.LDC);
+ if (super.getIndex() <= org.apache.bcel6_2_0.Const.MAX_BYTE) { // Fits in one byte?
+ super.setOpcode(org.apache.bcel6_2_0.Const.LDC);
super.setLength(2);
} else {
- super.setOpcode(org.apache.bcel.Const.LDC_W);
+ super.setOpcode(org.apache.bcel6_2_0.Const.LDC_W);
super.setLength(3);
}
}
@@ -94,20 +94,20 @@ protected void initFromFile( final ByteSequence bytes, final boolean wide ) thro
public Object getValue( final ConstantPoolGen cpg ) {
- org.apache.bcel.classfile.Constant c = cpg.getConstantPool().getConstant(super.getIndex());
+ org.apache.bcel6_2_0.classfile.Constant c = cpg.getConstantPool().getConstant(super.getIndex());
switch (c.getTag()) {
- case org.apache.bcel.Const.CONSTANT_String:
- final int i = ((org.apache.bcel.classfile.ConstantString) c).getStringIndex();
+ case org.apache.bcel6_2_0.Const.CONSTANT_String:
+ final int i = ((org.apache.bcel6_2_0.classfile.ConstantString) c).getStringIndex();
c = cpg.getConstantPool().getConstant(i);
- return ((org.apache.bcel.classfile.ConstantUtf8) c).getBytes();
- case org.apache.bcel.Const.CONSTANT_Float:
- return new Float(((org.apache.bcel.classfile.ConstantFloat) c).getBytes());
- case org.apache.bcel.Const.CONSTANT_Integer:
- return Integer.valueOf(((org.apache.bcel.classfile.ConstantInteger) c).getBytes());
- case org.apache.bcel.Const.CONSTANT_Class:
- final int nameIndex = ((org.apache.bcel.classfile.ConstantClass) c).getNameIndex();
+ return ((org.apache.bcel6_2_0.classfile.ConstantUtf8) c).getBytes();
+ case org.apache.bcel6_2_0.Const.CONSTANT_Float:
+ return new Float(((org.apache.bcel6_2_0.classfile.ConstantFloat) c).getBytes());
+ case org.apache.bcel6_2_0.Const.CONSTANT_Integer:
+ return Integer.valueOf(((org.apache.bcel6_2_0.classfile.ConstantInteger) c).getBytes());
+ case org.apache.bcel6_2_0.Const.CONSTANT_Class:
+ final int nameIndex = ((org.apache.bcel6_2_0.classfile.ConstantClass) c).getNameIndex();
c = cpg.getConstantPool().getConstant(nameIndex);
- return new ObjectType(((org.apache.bcel.classfile.ConstantUtf8) c).getBytes());
+ return new ObjectType(((org.apache.bcel6_2_0.classfile.ConstantUtf8) c).getBytes());
default: // Never reached
throw new RuntimeException("Unknown or invalid constant type at " + super.getIndex());
}
@@ -117,13 +117,13 @@ public Object getValue( final ConstantPoolGen cpg ) {
@Override
public Type getType( final ConstantPoolGen cpg ) {
switch (cpg.getConstantPool().getConstant(super.getIndex()).getTag()) {
- case org.apache.bcel.Const.CONSTANT_String:
+ case org.apache.bcel6_2_0.Const.CONSTANT_String:
return Type.STRING;
- case org.apache.bcel.Const.CONSTANT_Float:
+ case org.apache.bcel6_2_0.Const.CONSTANT_Float:
return Type.FLOAT;
- case org.apache.bcel.Const.CONSTANT_Integer:
+ case org.apache.bcel6_2_0.Const.CONSTANT_Integer:
return Type.INT;
- case org.apache.bcel.Const.CONSTANT_Class:
+ case org.apache.bcel6_2_0.Const.CONSTANT_Class:
return Type.CLASS;
default: // Never reached
throw new RuntimeException("Unknown or invalid constant type at " + super.getIndex());
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LDC2_W.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LDC2_W.java
similarity index 76%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LDC2_W.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LDC2_W.java
index f020ff32..5cde6481 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LDC2_W.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LDC2_W.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* LDC2_W - Push long or double from constant pool
@@ -35,16 +35,16 @@ public class LDC2_W extends CPInstruction implements PushInstruction {
public LDC2_W(final int index) {
- super(org.apache.bcel.Const.LDC2_W, index);
+ super(org.apache.bcel6_2_0.Const.LDC2_W, index);
}
@Override
public Type getType( final ConstantPoolGen cpg ) {
switch (cpg.getConstantPool().getConstant(super.getIndex()).getTag()) {
- case org.apache.bcel.Const.CONSTANT_Long:
+ case org.apache.bcel6_2_0.Const.CONSTANT_Long:
return Type.LONG;
- case org.apache.bcel.Const.CONSTANT_Double:
+ case org.apache.bcel6_2_0.Const.CONSTANT_Double:
return Type.DOUBLE;
default: // Never reached
throw new RuntimeException("Unknown constant type " + super.getOpcode());
@@ -53,12 +53,12 @@ public Type getType( final ConstantPoolGen cpg ) {
public Number getValue( final ConstantPoolGen cpg ) {
- final org.apache.bcel.classfile.Constant c = cpg.getConstantPool().getConstant(super.getIndex());
+ final org.apache.bcel6_2_0.classfile.Constant c = cpg.getConstantPool().getConstant(super.getIndex());
switch (c.getTag()) {
- case org.apache.bcel.Const.CONSTANT_Long:
- return Long.valueOf(((org.apache.bcel.classfile.ConstantLong) c).getBytes());
- case org.apache.bcel.Const.CONSTANT_Double:
- return new Double(((org.apache.bcel.classfile.ConstantDouble) c).getBytes());
+ case org.apache.bcel6_2_0.Const.CONSTANT_Long:
+ return Long.valueOf(((org.apache.bcel6_2_0.classfile.ConstantLong) c).getBytes());
+ case org.apache.bcel6_2_0.Const.CONSTANT_Double:
+ return new Double(((org.apache.bcel6_2_0.classfile.ConstantDouble) c).getBytes());
default: // Never reached
throw new RuntimeException("Unknown or invalid constant type at " + super.getIndex());
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LDC_W.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LDC_W.java
similarity index 88%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LDC_W.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LDC_W.java
index f0c0a836..78c66e2b 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LDC_W.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LDC_W.java
@@ -15,11 +15,11 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.IOException;
-import org.apache.bcel.util.ByteSequence;
+import org.apache.bcel6_2_0.util.ByteSequence;
/**
* LDC_W - Push item from constant pool (wide index)
@@ -50,7 +50,7 @@ public LDC_W(final int index) {
protected void initFromFile( final ByteSequence bytes, final boolean wide ) throws IOException {
setIndex(bytes.readUnsignedShort());
// Override just in case it has been changed
- super.setOpcode(org.apache.bcel.Const.LDC_W);
+ super.setOpcode(org.apache.bcel6_2_0.Const.LDC_W);
super.setLength(3);
}
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LDIV.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LDIV.java
similarity index 90%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LDIV.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LDIV.java
index eddd4340..a4b661af 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LDIV.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LDIV.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.ExceptionConst;
+import org.apache.bcel6_2_0.ExceptionConst;
/**
* LDIV - Divide longs
@@ -29,7 +29,7 @@
public class LDIV extends ArithmeticInstruction implements ExceptionThrower {
public LDIV() {
- super(org.apache.bcel.Const.LDIV);
+ super(org.apache.bcel6_2_0.Const.LDIV);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LLOAD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LLOAD.java
similarity index 86%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LLOAD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LLOAD.java
index a84aaeaa..ec745863 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LLOAD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LLOAD.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* LLOAD - Load long from local variable
@@ -30,12 +30,12 @@ public class LLOAD extends LoadInstruction {
* Not to be used otherwise.
*/
LLOAD() {
- super(org.apache.bcel.Const.LLOAD, org.apache.bcel.Const.LLOAD_0);
+ super(org.apache.bcel6_2_0.Const.LLOAD, org.apache.bcel6_2_0.Const.LLOAD_0);
}
public LLOAD(final int n) {
- super(org.apache.bcel.Const.LLOAD, org.apache.bcel.Const.LLOAD_0, n);
+ super(org.apache.bcel6_2_0.Const.LLOAD, org.apache.bcel6_2_0.Const.LLOAD_0, n);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LMUL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LMUL.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LMUL.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LMUL.java
index 6a642a89..1eb48395 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LMUL.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LMUL.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* LMUL - Multiply longs
@@ -27,7 +27,7 @@
public class LMUL extends ArithmeticInstruction {
public LMUL() {
- super(org.apache.bcel.Const.LMUL);
+ super(org.apache.bcel6_2_0.Const.LMUL);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LNEG.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LNEG.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LNEG.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LNEG.java
index 03327603..b4029d0e 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LNEG.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LNEG.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* LNEG - Negate long
@@ -26,7 +26,7 @@
public class LNEG extends ArithmeticInstruction {
public LNEG() {
- super(org.apache.bcel.Const.LNEG);
+ super(org.apache.bcel6_2_0.Const.LNEG);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LOOKUPSWITCH.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LOOKUPSWITCH.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LOOKUPSWITCH.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LOOKUPSWITCH.java
index b34db911..31276411 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LOOKUPSWITCH.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LOOKUPSWITCH.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.util.ByteSequence;
+import org.apache.bcel6_2_0.util.ByteSequence;
/**
* LOOKUPSWITCH - Switch with unordered set of values
@@ -39,7 +39,7 @@ public class LOOKUPSWITCH extends Select {
public LOOKUPSWITCH(final int[] match, final InstructionHandle[] targets, final InstructionHandle defaultTarget) {
- super(org.apache.bcel.Const.LOOKUPSWITCH, match, targets, defaultTarget);
+ super(org.apache.bcel6_2_0.Const.LOOKUPSWITCH, match, targets, defaultTarget);
/* alignment remainder assumed 0 here, until dump time. */
final short _length = (short) (9 + getMatch_length() * 8);
super.setLength(_length);
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LOR.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LOR.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LOR.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LOR.java
index 876aa4b6..71570563 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LOR.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LOR.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* LOR - Bitwise OR long
@@ -26,7 +26,7 @@
public class LOR extends ArithmeticInstruction {
public LOR() {
- super(org.apache.bcel.Const.LOR);
+ super(org.apache.bcel6_2_0.Const.LOR);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LREM.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LREM.java
similarity index 90%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LREM.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LREM.java
index 513d120c..983b0b2f 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LREM.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LREM.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.ExceptionConst;
+import org.apache.bcel6_2_0.ExceptionConst;
/**
* LREM - Remainder of long
@@ -28,7 +28,7 @@
public class LREM extends ArithmeticInstruction implements ExceptionThrower {
public LREM() {
- super(org.apache.bcel.Const.LREM);
+ super(org.apache.bcel6_2_0.Const.LREM);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LRETURN.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LRETURN.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LRETURN.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LRETURN.java
index 1708c5dd..eea2c4d8 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LRETURN.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LRETURN.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* LRETURN - Return long from method
@@ -26,7 +26,7 @@
public class LRETURN extends ReturnInstruction {
public LRETURN() {
- super(org.apache.bcel.Const.LRETURN);
+ super(org.apache.bcel6_2_0.Const.LRETURN);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LSHL.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LSHL.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LSHL.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LSHL.java
index 5a853a3d..0eddedd2 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LSHL.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LSHL.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* LSHL - Arithmetic shift left long
@@ -26,7 +26,7 @@
public class LSHL extends ArithmeticInstruction {
public LSHL() {
- super(org.apache.bcel.Const.LSHL);
+ super(org.apache.bcel6_2_0.Const.LSHL);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LSHR.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LSHR.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LSHR.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LSHR.java
index 035136eb..2495db19 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LSHR.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LSHR.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* LSHR - Arithmetic shift right long
@@ -26,7 +26,7 @@
public class LSHR extends ArithmeticInstruction {
public LSHR() {
- super(org.apache.bcel.Const.LSHR);
+ super(org.apache.bcel6_2_0.Const.LSHR);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LSTORE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LSTORE.java
similarity index 85%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LSTORE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LSTORE.java
index 03844774..4a5d56da 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LSTORE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LSTORE.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* LSTORE - Store long into local variable
@@ -30,12 +30,12 @@ public class LSTORE extends StoreInstruction {
* Not to be used otherwise.
*/
LSTORE() {
- super(org.apache.bcel.Const.LSTORE, org.apache.bcel.Const.LSTORE_0);
+ super(org.apache.bcel6_2_0.Const.LSTORE, org.apache.bcel6_2_0.Const.LSTORE_0);
}
public LSTORE(final int n) {
- super(org.apache.bcel.Const.LSTORE, org.apache.bcel.Const.LSTORE_0, n);
+ super(org.apache.bcel6_2_0.Const.LSTORE, org.apache.bcel6_2_0.Const.LSTORE_0, n);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LSUB.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LSUB.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LSUB.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LSUB.java
index 9303cfc3..4c64c812 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LSUB.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LSUB.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* LSUB - Substract longs
@@ -27,7 +27,7 @@
public class LSUB extends ArithmeticInstruction {
public LSUB() {
- super(org.apache.bcel.Const.LSUB);
+ super(org.apache.bcel6_2_0.Const.LSUB);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LUSHR.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LUSHR.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LUSHR.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LUSHR.java
index bc33a52b..29a95299 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LUSHR.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LUSHR.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* LUSHR - Logical shift right long
@@ -26,7 +26,7 @@
public class LUSHR extends ArithmeticInstruction {
public LUSHR() {
- super(org.apache.bcel.Const.LUSHR);
+ super(org.apache.bcel6_2_0.Const.LUSHR);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LXOR.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LXOR.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LXOR.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LXOR.java
index a614d300..c8ebb391 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LXOR.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LXOR.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* LXOR - Bitwise XOR long
@@ -26,7 +26,7 @@
public class LXOR extends ArithmeticInstruction {
public LXOR() {
- super(org.apache.bcel.Const.LXOR);
+ super(org.apache.bcel6_2_0.Const.LXOR);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LineNumberGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LineNumberGen.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LineNumberGen.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LineNumberGen.java
index e9c325c7..fc6956b1 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LineNumberGen.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LineNumberGen.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.classfile.LineNumber;
+import org.apache.bcel6_2_0.classfile.LineNumber;
/**
* This class represents a line number within a method, i.e., give an instruction
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LoadClass.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LoadClass.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LoadClass.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LoadClass.java
index a034be26..e91b2a5e 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LoadClass.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LoadClass.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Denotes that an instruction may start the process of loading and resolving
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LoadInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LoadInstruction.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LoadInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LoadInstruction.java
index aaf5a2f6..da53982f 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LoadInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LoadInstruction.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Denotes an unparameterized instruction to load a value from a local
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LocalVariableGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LocalVariableGen.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LocalVariableGen.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LocalVariableGen.java
index 8b15eb59..da25e214 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LocalVariableGen.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LocalVariableGen.java
@@ -15,10 +15,10 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.Const;
-import org.apache.bcel.classfile.LocalVariable;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.classfile.LocalVariable;
/**
* This class represents a local variable within a method. It contains its
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LocalVariableInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LocalVariableInstruction.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LocalVariableInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LocalVariableInstruction.java
index 4f407f79..54c8dfe1 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/LocalVariableInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/LocalVariableInstruction.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.Const;
-import org.apache.bcel.util.ByteSequence;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.util.ByteSequence;
/**
* Abstract super class for instructions dealing with local variables.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/MONITORENTER.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/MONITORENTER.java
similarity index 89%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/MONITORENTER.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/MONITORENTER.java
index 099a065c..33400c26 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/MONITORENTER.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/MONITORENTER.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.ExceptionConst;
+import org.apache.bcel6_2_0.ExceptionConst;
/**
* MONITORENTER - Enter monitor for object
@@ -28,7 +28,7 @@
public class MONITORENTER extends Instruction implements ExceptionThrower, StackConsumer {
public MONITORENTER() {
- super(org.apache.bcel.Const.MONITORENTER, (short) 1);
+ super(org.apache.bcel6_2_0.Const.MONITORENTER, (short) 1);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/MONITOREXIT.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/MONITOREXIT.java
similarity index 89%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/MONITOREXIT.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/MONITOREXIT.java
index 67b92872..4c227955 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/MONITOREXIT.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/MONITOREXIT.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.ExceptionConst;
+import org.apache.bcel6_2_0.ExceptionConst;
/**
* MONITOREXIT - Exit monitor for object
@@ -28,7 +28,7 @@
public class MONITOREXIT extends Instruction implements ExceptionThrower, StackConsumer {
public MONITOREXIT() {
- super(org.apache.bcel.Const.MONITOREXIT, (short) 1);
+ super(org.apache.bcel6_2_0.Const.MONITOREXIT, (short) 1);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/MULTIANEWARRAY.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/MULTIANEWARRAY.java
similarity index 91%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/MULTIANEWARRAY.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/MULTIANEWARRAY.java
index 6b91efe2..8e209b66 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/MULTIANEWARRAY.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/MULTIANEWARRAY.java
@@ -15,14 +15,14 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.ExceptionConst;
-import org.apache.bcel.classfile.ConstantPool;
-import org.apache.bcel.util.ByteSequence;
+import org.apache.bcel6_2_0.ExceptionConst;
+import org.apache.bcel6_2_0.classfile.ConstantPool;
+import org.apache.bcel6_2_0.util.ByteSequence;
/**
* MULTIANEWARRAY - Create new mutidimensional array of references
@@ -45,7 +45,7 @@ public class MULTIANEWARRAY extends CPInstruction implements LoadClass, Allocati
public MULTIANEWARRAY(final int index, final short dimensions) {
- super(org.apache.bcel.Const.MULTIANEWARRAY, index);
+ super(org.apache.bcel6_2_0.Const.MULTIANEWARRAY, index);
if (dimensions < 1) {
throw new ClassGenException("Invalid dimensions value: " + dimensions);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/MethodGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/MethodGen.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/MethodGen.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/MethodGen.java
index a0e0b54f..3bc175eb 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/MethodGen.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/MethodGen.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.util.ArrayList;
import java.util.Arrays;
@@ -24,24 +24,24 @@
import java.util.List;
import java.util.Stack;
-import org.apache.bcel.Const;
-import org.apache.bcel.classfile.AnnotationEntry;
-import org.apache.bcel.classfile.Annotations;
-import org.apache.bcel.classfile.Attribute;
-import org.apache.bcel.classfile.Code;
-import org.apache.bcel.classfile.CodeException;
-import org.apache.bcel.classfile.ExceptionTable;
-import org.apache.bcel.classfile.LineNumber;
-import org.apache.bcel.classfile.LineNumberTable;
-import org.apache.bcel.classfile.LocalVariable;
-import org.apache.bcel.classfile.LocalVariableTable;
-import org.apache.bcel.classfile.LocalVariableTypeTable;
-import org.apache.bcel.classfile.Method;
-import org.apache.bcel.classfile.ParameterAnnotationEntry;
-import org.apache.bcel.classfile.ParameterAnnotations;
-import org.apache.bcel.classfile.RuntimeVisibleParameterAnnotations;
-import org.apache.bcel.classfile.Utility;
-import org.apache.bcel.util.BCELComparator;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.classfile.AnnotationEntry;
+import org.apache.bcel6_2_0.classfile.Annotations;
+import org.apache.bcel6_2_0.classfile.Attribute;
+import org.apache.bcel6_2_0.classfile.Code;
+import org.apache.bcel6_2_0.classfile.CodeException;
+import org.apache.bcel6_2_0.classfile.ExceptionTable;
+import org.apache.bcel6_2_0.classfile.LineNumber;
+import org.apache.bcel6_2_0.classfile.LineNumberTable;
+import org.apache.bcel6_2_0.classfile.LocalVariable;
+import org.apache.bcel6_2_0.classfile.LocalVariableTable;
+import org.apache.bcel6_2_0.classfile.LocalVariableTypeTable;
+import org.apache.bcel6_2_0.classfile.Method;
+import org.apache.bcel6_2_0.classfile.ParameterAnnotationEntry;
+import org.apache.bcel6_2_0.classfile.ParameterAnnotations;
+import org.apache.bcel6_2_0.classfile.RuntimeVisibleParameterAnnotations;
+import org.apache.bcel6_2_0.classfile.Utility;
+import org.apache.bcel6_2_0.util.BCELComparator;
/**
* Template class for building up a method. This is done by defining exception
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/MethodObserver.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/MethodObserver.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/MethodObserver.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/MethodObserver.java
index cec658f2..c6204900 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/MethodObserver.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/MethodObserver.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Implement this interface if you're interested in changes to a MethodGen object
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/NEW.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/NEW.java
similarity index 91%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/NEW.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/NEW.java
index 4df9b93d..0ab2c1d5 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/NEW.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/NEW.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.ExceptionConst;
+import org.apache.bcel6_2_0.ExceptionConst;
/**
* NEW - Create new object
@@ -37,7 +37,7 @@ public class NEW extends CPInstruction implements LoadClass, AllocationInstructi
public NEW(final int index) {
- super(org.apache.bcel.Const.NEW, index);
+ super(org.apache.bcel6_2_0.Const.NEW, index);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/NEWARRAY.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/NEWARRAY.java
similarity index 88%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/NEWARRAY.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/NEWARRAY.java
index cf30fe34..ee878e26 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/NEWARRAY.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/NEWARRAY.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.ExceptionConst;
-import org.apache.bcel.util.ByteSequence;
+import org.apache.bcel6_2_0.ExceptionConst;
+import org.apache.bcel6_2_0.util.ByteSequence;
/**
* NEWARRAY - Create new array of basic type (int, short, ...)
@@ -45,7 +45,7 @@ public class NEWARRAY extends Instruction implements AllocationInstruction, Exce
public NEWARRAY(final byte type) {
- super(org.apache.bcel.Const.NEWARRAY, (short) 2);
+ super(org.apache.bcel6_2_0.Const.NEWARRAY, (short) 2);
this.type = type;
}
@@ -87,7 +87,7 @@ public final Type getType() {
*/
@Override
public String toString( final boolean verbose ) {
- return super.toString(verbose) + " " + org.apache.bcel.Const.getTypeName(type);
+ return super.toString(verbose) + " " + org.apache.bcel6_2_0.Const.getTypeName(type);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/NOP.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/NOP.java
similarity index 90%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/NOP.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/NOP.java
index fc9cf86c..24cb3773 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/NOP.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/NOP.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* NOP - Do nothing
@@ -25,7 +25,7 @@
public class NOP extends Instruction {
public NOP() {
- super(org.apache.bcel.Const.NOP, (short) 1);
+ super(org.apache.bcel6_2_0.Const.NOP, (short) 1);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/NameSignatureInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/NameSignatureInstruction.java
similarity index 89%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/NameSignatureInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/NameSignatureInstruction.java
index 32231c7a..5f7f48e3 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/NameSignatureInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/NameSignatureInstruction.java
@@ -15,12 +15,12 @@
* limitations under the License.
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.classfile.ConstantCP;
-import org.apache.bcel.classfile.ConstantNameAndType;
-import org.apache.bcel.classfile.ConstantPool;
-import org.apache.bcel.classfile.ConstantUtf8;
+import org.apache.bcel6_2_0.classfile.ConstantCP;
+import org.apache.bcel6_2_0.classfile.ConstantNameAndType;
+import org.apache.bcel6_2_0.classfile.ConstantPool;
+import org.apache.bcel6_2_0.classfile.ConstantUtf8;
/**
* Super class for FieldOrMethod and INVOKEDYNAMIC, since they both have
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/NamedAndTyped.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/NamedAndTyped.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/NamedAndTyped.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/NamedAndTyped.java
index df14562e..bf40cf63 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/NamedAndTyped.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/NamedAndTyped.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Denote entity that has both name and type. This is true for local variables,
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ObjectType.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ObjectType.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ObjectType.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ObjectType.java
index bcee3daf..10a85197 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ObjectType.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ObjectType.java
@@ -15,11 +15,11 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.Const;
-import org.apache.bcel.Repository;
-import org.apache.bcel.classfile.JavaClass;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.Repository;
+import org.apache.bcel6_2_0.classfile.JavaClass;
/**
* Denotes reference such as java.lang.String.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/POP.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/POP.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/POP.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/POP.java
index b308d7bb..48cbe09e 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/POP.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/POP.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* POP - Pop top operand stack word
@@ -27,7 +27,7 @@
public class POP extends StackInstruction implements PopInstruction {
public POP() {
- super(org.apache.bcel.Const.POP);
+ super(org.apache.bcel6_2_0.Const.POP);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/POP2.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/POP2.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/POP2.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/POP2.java
index 6627ab09..c0f8a940 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/POP2.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/POP2.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* POP2 - Pop two top operand stack words
@@ -27,7 +27,7 @@
public class POP2 extends StackInstruction implements PopInstruction {
public POP2() {
- super(org.apache.bcel.Const.POP2);
+ super(org.apache.bcel6_2_0.Const.POP2);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/PUSH.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/PUSH.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/PUSH.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/PUSH.java
index 23c941c4..ba4a1a94 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/PUSH.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/PUSH.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* Wrapper class for push operations, which are implemented either as BIPUSH,
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/PUTFIELD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/PUTFIELD.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/PUTFIELD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/PUTFIELD.java
index a4ede188..46dd308d 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/PUTFIELD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/PUTFIELD.java
@@ -15,10 +15,10 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.Const;
-import org.apache.bcel.ExceptionConst;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.ExceptionConst;
/**
* PUTFIELD - Put field in object
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/PUTSTATIC.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/PUTSTATIC.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/PUTSTATIC.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/PUTSTATIC.java
index 928b42a7..5f26ea07 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/PUTSTATIC.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/PUTSTATIC.java
@@ -15,10 +15,10 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.Const;
-import org.apache.bcel.ExceptionConst;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.ExceptionConst;
/**
* PUTSTATIC - Put static field in class
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/PopInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/PopInstruction.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/PopInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/PopInstruction.java
index 7f8a9149..59b640fd 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/PopInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/PopInstruction.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Denotes an unparameterized instruction to pop a value on top from the stack,
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/PushInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/PushInstruction.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/PushInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/PushInstruction.java
index b0429f53..40c8deda 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/PushInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/PushInstruction.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Denotes an unparameterized instruction to produce a value on top of the stack,
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/RET.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/RET.java
similarity index 89%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/RET.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/RET.java
index b0ad0c27..fc1291b7 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/RET.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/RET.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.util.ByteSequence;
+import org.apache.bcel6_2_0.util.ByteSequence;
/**
* RET - Return from subroutine
@@ -44,7 +44,7 @@ public class RET extends Instruction implements IndexedInstruction, TypedInstruc
public RET(final int index) {
- super(org.apache.bcel.Const.RET, (short) 2);
+ super(org.apache.bcel6_2_0.Const.RET, (short) 2);
setIndex(index); // May set wide as side effect
}
@@ -56,7 +56,7 @@ public RET(final int index) {
@Override
public void dump( final DataOutputStream out ) throws IOException {
if (wide) {
- out.writeByte(org.apache.bcel.Const.WIDE);
+ out.writeByte(org.apache.bcel6_2_0.Const.WIDE);
}
out.writeByte(super.getOpcode());
if (wide) {
@@ -68,7 +68,7 @@ public void dump( final DataOutputStream out ) throws IOException {
private void setWide() {
- wide = index > org.apache.bcel.Const.MAX_BYTE;
+ wide = index > org.apache.bcel6_2_0.Const.MAX_BYTE;
if (wide) {
super.setLength(4); // Including the wide byte
} else {
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/RETURN.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/RETURN.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/RETURN.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/RETURN.java
index ca4fdeb5..e36b3ef1 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/RETURN.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/RETURN.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* RETURN - Return from void method
@@ -26,7 +26,7 @@
public class RETURN extends ReturnInstruction {
public RETURN() {
- super(org.apache.bcel.Const.RETURN);
+ super(org.apache.bcel6_2_0.Const.RETURN);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ReferenceType.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ReferenceType.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ReferenceType.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ReferenceType.java
index 6fdcda50..4d62833a 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ReferenceType.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ReferenceType.java
@@ -15,11 +15,11 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.Const;
-import org.apache.bcel.Repository;
-import org.apache.bcel.classfile.JavaClass;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.Repository;
+import org.apache.bcel6_2_0.classfile.JavaClass;
/**
* Super class for object and array types.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ReturnInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ReturnInstruction.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ReturnInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ReturnInstruction.java
index cbd18183..3908d5cc 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ReturnInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ReturnInstruction.java
@@ -15,10 +15,10 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.Const;
-import org.apache.bcel.ExceptionConst;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.ExceptionConst;
/**
* Super class for the xRETURN family of instructions.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ReturnaddressType.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ReturnaddressType.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ReturnaddressType.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ReturnaddressType.java
index 7d7373a1..5ee35746 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/ReturnaddressType.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/ReturnaddressType.java
@@ -15,9 +15,9 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
-import org.apache.bcel.Const;
+import org.apache.bcel6_2_0.Const;
/**
* Returnaddress, the type JSR or JSR_W instructions push upon the stack.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/SALOAD.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/SALOAD.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/SALOAD.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/SALOAD.java
index 8ed4fbcd..0c6275ad 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/SALOAD.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/SALOAD.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* SALOAD - Load short from array
@@ -26,7 +26,7 @@
public class SALOAD extends ArrayInstruction implements StackProducer {
public SALOAD() {
- super(org.apache.bcel.Const.SALOAD);
+ super(org.apache.bcel6_2_0.Const.SALOAD);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/SASTORE.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/SASTORE.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/SASTORE.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/SASTORE.java
index 00b679bb..be8a47e1 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/SASTORE.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/SASTORE.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* SASTORE - Store into short array
@@ -26,7 +26,7 @@
public class SASTORE extends ArrayInstruction implements StackConsumer {
public SASTORE() {
- super(org.apache.bcel.Const.SASTORE);
+ super(org.apache.bcel6_2_0.Const.SASTORE);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/SIPUSH.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/SIPUSH.java
similarity index 91%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/SIPUSH.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/SIPUSH.java
index 6410c131..f476b881 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/SIPUSH.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/SIPUSH.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.util.ByteSequence;
+import org.apache.bcel6_2_0.util.ByteSequence;
/**
* SIPUSH - Push short
@@ -43,7 +43,7 @@ public class SIPUSH extends Instruction implements ConstantPushInstruction {
public SIPUSH(final short b) {
- super(org.apache.bcel.Const.SIPUSH, (short) 3);
+ super(org.apache.bcel6_2_0.Const.SIPUSH, (short) 3);
this.b = b;
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/SWAP.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/SWAP.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/SWAP.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/SWAP.java
index 2211f497..a5a75bd3 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/SWAP.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/SWAP.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* SWAP - Swa top operand stack word
@@ -26,7 +26,7 @@
public class SWAP extends StackInstruction implements StackConsumer, StackProducer {
public SWAP() {
- super(org.apache.bcel.Const.SWAP);
+ super(org.apache.bcel6_2_0.Const.SWAP);
}
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/SWITCH.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/SWITCH.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/SWITCH.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/SWITCH.java
index 7e2773db..026e40f0 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/SWITCH.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/SWITCH.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* SWITCH - Branch depending on int value, generates either LOOKUPSWITCH or
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/Select.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/Select.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/Select.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/Select.java
index f3a2865f..949fcc99 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/Select.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/Select.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.util.ByteSequence;
+import org.apache.bcel6_2_0.util.ByteSequence;
/**
* Select - Abstract super class for LOOKUPSWITCH and TABLESWITCH instructions.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/SimpleElementValueGen.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/SimpleElementValueGen.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/SimpleElementValueGen.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/SimpleElementValueGen.java
index 99ed6d40..4ea87b03 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/SimpleElementValueGen.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/SimpleElementValueGen.java
@@ -15,18 +15,18 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.classfile.ConstantDouble;
-import org.apache.bcel.classfile.ConstantFloat;
-import org.apache.bcel.classfile.ConstantInteger;
-import org.apache.bcel.classfile.ConstantLong;
-import org.apache.bcel.classfile.ConstantUtf8;
-import org.apache.bcel.classfile.ElementValue;
-import org.apache.bcel.classfile.SimpleElementValue;
+import org.apache.bcel6_2_0.classfile.ConstantDouble;
+import org.apache.bcel6_2_0.classfile.ConstantFloat;
+import org.apache.bcel6_2_0.classfile.ConstantInteger;
+import org.apache.bcel6_2_0.classfile.ConstantLong;
+import org.apache.bcel6_2_0.classfile.ConstantUtf8;
+import org.apache.bcel6_2_0.classfile.ElementValue;
+import org.apache.bcel6_2_0.classfile.SimpleElementValue;
/**
* @since 6.0
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/StackConsumer.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/StackConsumer.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/StackConsumer.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/StackConsumer.java
index 21150fa6..222a4b40 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/StackConsumer.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/StackConsumer.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Denote an instruction that may consume a value from the stack.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/StackInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/StackInstruction.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/StackInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/StackInstruction.java
index b12630b3..04560f33 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/StackInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/StackInstruction.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Super class for stack operations like DUP and POP.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/StackProducer.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/StackProducer.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/StackProducer.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/StackProducer.java
index d07a5f85..3a0fbf8c 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/StackProducer.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/StackProducer.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Denote an instruction that may produce a value on top of the stack
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/StoreInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/StoreInstruction.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/StoreInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/StoreInstruction.java
index c53e6edb..ee6b2801 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/StoreInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/StoreInstruction.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Denotes an unparameterized instruction to store a value into a local variable,
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/TABLESWITCH.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/TABLESWITCH.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/TABLESWITCH.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/TABLESWITCH.java
index 78f0deb8..726b1235 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/TABLESWITCH.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/TABLESWITCH.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.io.DataOutputStream;
import java.io.IOException;
-import org.apache.bcel.util.ByteSequence;
+import org.apache.bcel6_2_0.util.ByteSequence;
/**
* TABLESWITCH - Switch within given range of values, i.e., low..high
@@ -45,7 +45,7 @@ public class TABLESWITCH extends Select {
* @param defaultTarget default branch
*/
public TABLESWITCH(final int[] match, final InstructionHandle[] targets, final InstructionHandle defaultTarget) {
- super(org.apache.bcel.Const.TABLESWITCH, match, targets, defaultTarget);
+ super(org.apache.bcel6_2_0.Const.TABLESWITCH, match, targets, defaultTarget);
/* Alignment remainder assumed 0 here, until dump time */
final short _length = (short) (13 + getMatch_length() * 4);
super.setLength(_length);
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/TargetLostException.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/TargetLostException.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/TargetLostException.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/TargetLostException.java
index a0f2e023..68f69fc5 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/TargetLostException.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/TargetLostException.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Thrown by InstructionList.remove() when one or multiple disposed instructions
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/Type.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/Type.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/Type.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/Type.java
index d98cc734..e7ec3be4 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/Type.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/Type.java
@@ -15,14 +15,14 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
import java.util.ArrayList;
import java.util.List;
-import org.apache.bcel.Const;
-import org.apache.bcel.classfile.ClassFormatException;
-import org.apache.bcel.classfile.Utility;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.classfile.ClassFormatException;
+import org.apache.bcel6_2_0.classfile.Utility;
/**
* Abstract super class for all possible java types, namely basic types
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/TypedInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/TypedInstruction.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/TypedInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/TypedInstruction.java
index c2b7c1a7..1c69f7b7 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/TypedInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/TypedInstruction.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Get the type associated with an instruction, int for ILOAD, or the type
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/UnconditionalBranch.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/UnconditionalBranch.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/UnconditionalBranch.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/UnconditionalBranch.java
index 9268481f..d1d55cba 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/UnconditionalBranch.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/UnconditionalBranch.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Denotes an instruction to perform an unconditional branch, i.e., GOTO, JSR.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/VariableLengthInstruction.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/VariableLengthInstruction.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/VariableLengthInstruction.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/VariableLengthInstruction.java
index 3c0ede2f..316ebc48 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/VariableLengthInstruction.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/VariableLengthInstruction.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Denotes an instruction to be a variable length instruction, such as
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/Visitor.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/Visitor.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/Visitor.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/Visitor.java
index c4ae31c1..11863bfb 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/Visitor.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/Visitor.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.generic;
+package org.apache.bcel6_2_0.generic;
/**
* Interface implementing the Visitor pattern programming style.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/package.html b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/package.html
similarity index 100%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/generic/package.html
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/generic/package.html
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/package.html b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/package.html
similarity index 100%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/package.html
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/package.html
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/AttributeHTML.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/AttributeHTML.java
similarity index 89%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/AttributeHTML.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/AttributeHTML.java
index 01ea4be7..d7a583e1 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/AttributeHTML.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/AttributeHTML.java
@@ -15,28 +15,28 @@
* limitations under the License.
*
*/
-package org.apache.bcel.util;
+package org.apache.bcel6_2_0.util;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
-import org.apache.bcel.Const;
-import org.apache.bcel.classfile.Attribute;
-import org.apache.bcel.classfile.Code;
-import org.apache.bcel.classfile.CodeException;
-import org.apache.bcel.classfile.ConstantPool;
-import org.apache.bcel.classfile.ConstantUtf8;
-import org.apache.bcel.classfile.ConstantValue;
-import org.apache.bcel.classfile.ExceptionTable;
-import org.apache.bcel.classfile.InnerClass;
-import org.apache.bcel.classfile.InnerClasses;
-import org.apache.bcel.classfile.LineNumber;
-import org.apache.bcel.classfile.LineNumberTable;
-import org.apache.bcel.classfile.LocalVariable;
-import org.apache.bcel.classfile.LocalVariableTable;
-import org.apache.bcel.classfile.SourceFile;
-import org.apache.bcel.classfile.Utility;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.classfile.Attribute;
+import org.apache.bcel6_2_0.classfile.Code;
+import org.apache.bcel6_2_0.classfile.CodeException;
+import org.apache.bcel6_2_0.classfile.ConstantPool;
+import org.apache.bcel6_2_0.classfile.ConstantUtf8;
+import org.apache.bcel6_2_0.classfile.ConstantValue;
+import org.apache.bcel6_2_0.classfile.ExceptionTable;
+import org.apache.bcel6_2_0.classfile.InnerClass;
+import org.apache.bcel6_2_0.classfile.InnerClasses;
+import org.apache.bcel6_2_0.classfile.LineNumber;
+import org.apache.bcel6_2_0.classfile.LineNumberTable;
+import org.apache.bcel6_2_0.classfile.LocalVariable;
+import org.apache.bcel6_2_0.classfile.LocalVariableTable;
+import org.apache.bcel6_2_0.classfile.SourceFile;
+import org.apache.bcel6_2_0.classfile.Utility;
/**
* Convert found attributes into HTML file.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/BCELComparator.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/BCELComparator.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/BCELComparator.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/BCELComparator.java
index 4f6dbfbf..a3fd0fab 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/BCELComparator.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/BCELComparator.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.util;
+package org.apache.bcel6_2_0.util;
/**
* Used for BCEL comparison strategy
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/BCELFactory.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/BCELFactory.java
similarity index 85%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/BCELFactory.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/BCELFactory.java
index b350b0e5..a1e732e2 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/BCELFactory.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/BCELFactory.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.util;
+package org.apache.bcel6_2_0.util;
import java.io.PrintWriter;
import java.util.ArrayList;
@@ -24,37 +24,37 @@
import java.util.Locale;
import java.util.Map;
-import org.apache.bcel.Const;
-import org.apache.bcel.classfile.Utility;
-import org.apache.bcel.generic.AllocationInstruction;
-import org.apache.bcel.generic.ArrayInstruction;
-import org.apache.bcel.generic.ArrayType;
-import org.apache.bcel.generic.BranchHandle;
-import org.apache.bcel.generic.BranchInstruction;
-import org.apache.bcel.generic.CHECKCAST;
-import org.apache.bcel.generic.CPInstruction;
-import org.apache.bcel.generic.CodeExceptionGen;
-import org.apache.bcel.generic.ConstantPoolGen;
-import org.apache.bcel.generic.ConstantPushInstruction;
-import org.apache.bcel.generic.EmptyVisitor;
-import org.apache.bcel.generic.FieldInstruction;
-import org.apache.bcel.generic.IINC;
-import org.apache.bcel.generic.INSTANCEOF;
-import org.apache.bcel.generic.Instruction;
-import org.apache.bcel.generic.InstructionConst;
-import org.apache.bcel.generic.InstructionHandle;
-import org.apache.bcel.generic.InvokeInstruction;
-import org.apache.bcel.generic.LDC;
-import org.apache.bcel.generic.LDC2_W;
-import org.apache.bcel.generic.LocalVariableInstruction;
-import org.apache.bcel.generic.MULTIANEWARRAY;
-import org.apache.bcel.generic.MethodGen;
-import org.apache.bcel.generic.NEWARRAY;
-import org.apache.bcel.generic.ObjectType;
-import org.apache.bcel.generic.RET;
-import org.apache.bcel.generic.ReturnInstruction;
-import org.apache.bcel.generic.Select;
-import org.apache.bcel.generic.Type;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.classfile.Utility;
+import org.apache.bcel6_2_0.generic.AllocationInstruction;
+import org.apache.bcel6_2_0.generic.ArrayInstruction;
+import org.apache.bcel6_2_0.generic.ArrayType;
+import org.apache.bcel6_2_0.generic.BranchHandle;
+import org.apache.bcel6_2_0.generic.BranchInstruction;
+import org.apache.bcel6_2_0.generic.CHECKCAST;
+import org.apache.bcel6_2_0.generic.CPInstruction;
+import org.apache.bcel6_2_0.generic.CodeExceptionGen;
+import org.apache.bcel6_2_0.generic.ConstantPoolGen;
+import org.apache.bcel6_2_0.generic.ConstantPushInstruction;
+import org.apache.bcel6_2_0.generic.EmptyVisitor;
+import org.apache.bcel6_2_0.generic.FieldInstruction;
+import org.apache.bcel6_2_0.generic.IINC;
+import org.apache.bcel6_2_0.generic.INSTANCEOF;
+import org.apache.bcel6_2_0.generic.Instruction;
+import org.apache.bcel6_2_0.generic.InstructionConst;
+import org.apache.bcel6_2_0.generic.InstructionHandle;
+import org.apache.bcel6_2_0.generic.InvokeInstruction;
+import org.apache.bcel6_2_0.generic.LDC;
+import org.apache.bcel6_2_0.generic.LDC2_W;
+import org.apache.bcel6_2_0.generic.LocalVariableInstruction;
+import org.apache.bcel6_2_0.generic.MULTIANEWARRAY;
+import org.apache.bcel6_2_0.generic.MethodGen;
+import org.apache.bcel6_2_0.generic.NEWARRAY;
+import org.apache.bcel6_2_0.generic.ObjectType;
+import org.apache.bcel6_2_0.generic.RET;
+import org.apache.bcel6_2_0.generic.ReturnInstruction;
+import org.apache.bcel6_2_0.generic.Select;
+import org.apache.bcel6_2_0.generic.Type;
/**
* Factory creates il.append() statements, and sets instruction targets.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/BCELifier.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/BCELifier.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/BCELifier.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/BCELifier.java
index 6b85577f..c7efab07 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/BCELifier.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/BCELifier.java
@@ -15,25 +15,25 @@
* limitations under the License.
*
*/
-package org.apache.bcel.util;
+package org.apache.bcel6_2_0.util;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.Locale;
-import org.apache.bcel.Const;
-import org.apache.bcel.Repository;
-import org.apache.bcel.classfile.ClassParser;
-import org.apache.bcel.classfile.ConstantValue;
-import org.apache.bcel.classfile.Field;
-import org.apache.bcel.classfile.JavaClass;
-import org.apache.bcel.classfile.Method;
-import org.apache.bcel.classfile.Utility;
-import org.apache.bcel.generic.ArrayType;
-import org.apache.bcel.generic.ConstantPoolGen;
-import org.apache.bcel.generic.MethodGen;
-import org.apache.bcel.generic.Type;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.Repository;
+import org.apache.bcel6_2_0.classfile.ClassParser;
+import org.apache.bcel6_2_0.classfile.ConstantValue;
+import org.apache.bcel6_2_0.classfile.Field;
+import org.apache.bcel6_2_0.classfile.JavaClass;
+import org.apache.bcel6_2_0.classfile.Method;
+import org.apache.bcel6_2_0.classfile.Utility;
+import org.apache.bcel6_2_0.generic.ArrayType;
+import org.apache.bcel6_2_0.generic.ConstantPoolGen;
+import org.apache.bcel6_2_0.generic.MethodGen;
+import org.apache.bcel6_2_0.generic.Type;
/**
* This class takes a given JavaClass object and converts it to a
@@ -44,7 +44,7 @@
*
* @version $Id: BCELifier.java 1806200 2017-08-25 16:33:06Z ggregory $
*/
-public class BCELifier extends org.apache.bcel.classfile.EmptyVisitor {
+public class BCELifier extends org.apache.bcel6_2_0.classfile.EmptyVisitor {
/**
* Enum corresponding to flag source.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ByteSequence.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ByteSequence.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ByteSequence.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ByteSequence.java
index 55825523..a21a547c 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ByteSequence.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ByteSequence.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.util;
+package org.apache.bcel6_2_0.util;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/Class2HTML.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/Class2HTML.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/Class2HTML.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/Class2HTML.java
index 0b56034f..4245b406 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/Class2HTML.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/Class2HTML.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.util;
+package org.apache.bcel6_2_0.util;
import java.io.File;
import java.io.FileOutputStream;
@@ -24,14 +24,14 @@
import java.util.HashSet;
import java.util.Set;
-import org.apache.bcel.Const;
-import org.apache.bcel.Constants;
-import org.apache.bcel.classfile.Attribute;
-import org.apache.bcel.classfile.ClassParser;
-import org.apache.bcel.classfile.ConstantPool;
-import org.apache.bcel.classfile.JavaClass;
-import org.apache.bcel.classfile.Method;
-import org.apache.bcel.classfile.Utility;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.Constants;
+import org.apache.bcel6_2_0.classfile.Attribute;
+import org.apache.bcel6_2_0.classfile.ClassParser;
+import org.apache.bcel6_2_0.classfile.ConstantPool;
+import org.apache.bcel6_2_0.classfile.JavaClass;
+import org.apache.bcel6_2_0.classfile.Method;
+import org.apache.bcel6_2_0.classfile.Utility;
/**
* Read class file(s) and convert them into HTML files.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassLoader.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassLoader.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassLoader.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassLoader.java
index cd430071..af5a848b 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassLoader.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassLoader.java
@@ -15,19 +15,19 @@
* limitations under the License.
*
*/
-package org.apache.bcel.util;
+package org.apache.bcel6_2_0.util;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.util.Hashtable;
-import org.apache.bcel.Constants;
-import org.apache.bcel.classfile.ClassParser;
-import org.apache.bcel.classfile.ConstantClass;
-import org.apache.bcel.classfile.ConstantPool;
-import org.apache.bcel.classfile.ConstantUtf8;
-import org.apache.bcel.classfile.JavaClass;
-import org.apache.bcel.classfile.Utility;
+import org.apache.bcel6_2_0.Constants;
+import org.apache.bcel6_2_0.classfile.ClassParser;
+import org.apache.bcel6_2_0.classfile.ConstantClass;
+import org.apache.bcel6_2_0.classfile.ConstantPool;
+import org.apache.bcel6_2_0.classfile.ConstantUtf8;
+import org.apache.bcel6_2_0.classfile.JavaClass;
+import org.apache.bcel6_2_0.classfile.Utility;
/**
*
Drop in replacement for the standard class loader of the JVM. You can use it
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassLoaderRepository.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassLoaderRepository.java
similarity index 91%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassLoaderRepository.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassLoaderRepository.java
index 829a70a0..5f91c419 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassLoaderRepository.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassLoaderRepository.java
@@ -15,15 +15,15 @@
* limitations under the License.
*
*/
-package org.apache.bcel.util;
+package org.apache.bcel6_2_0.util;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
-import org.apache.bcel.classfile.ClassParser;
-import org.apache.bcel.classfile.JavaClass;
+import org.apache.bcel6_2_0.classfile.ClassParser;
+import org.apache.bcel6_2_0.classfile.JavaClass;
/**
* The repository maintains information about which classes have
@@ -32,7 +32,7 @@
* It loads its data from the ClassLoader implementation
* passed into its constructor.
*
- * @see org.apache.bcel.Repository
+ * @see org.apache.bcel6_2_0.Repository
*
* @version $Id: ClassLoaderRepository.java 1749603 2016-06-21 20:50:19Z ggregory $
*/
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassPath.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassPath.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassPath.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassPath.java
index 5095e876..f2198275 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassPath.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassPath.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.util;
+package org.apache.bcel6_2_0.util;
import java.io.DataInputStream;
import java.io.File;
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassPathRepository.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassPathRepository.java
similarity index 97%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassPathRepository.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassPathRepository.java
index f58d1b11..d89385ee 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassPathRepository.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassPathRepository.java
@@ -15,21 +15,21 @@
* limitations under the License.
*
*/
-package org.apache.bcel.util;
+package org.apache.bcel6_2_0.util;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
-import org.apache.bcel.classfile.ClassParser;
-import org.apache.bcel.classfile.JavaClass;
+import org.apache.bcel6_2_0.classfile.ClassParser;
+import org.apache.bcel6_2_0.classfile.JavaClass;
/**
* This repository is used in situations where a Class is created outside the realm of a ClassLoader. Classes are loaded from the file systems using the paths
* specified in the given class path. By default, this is the value returned by ClassPath.getClassPath().
*
- * @see org.apache.bcel.Repository
+ * @see org.apache.bcel6_2_0.Repository
*/
public class ClassPathRepository implements Repository {
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassQueue.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassQueue.java
similarity index 91%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassQueue.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassQueue.java
index f8fa1edd..c7b71aae 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassQueue.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassQueue.java
@@ -15,11 +15,11 @@
* limitations under the License.
*
*/
-package org.apache.bcel.util;
+package org.apache.bcel6_2_0.util;
import java.util.LinkedList;
-import org.apache.bcel.classfile.JavaClass;
+import org.apache.bcel6_2_0.classfile.JavaClass;
/**
* Utility class implementing a (typesafe) queue of JavaClass
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassSet.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassSet.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassSet.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassSet.java
index 706c4835..350c6ef8 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassSet.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassSet.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.util;
+package org.apache.bcel6_2_0.util;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
-import org.apache.bcel.classfile.JavaClass;
+import org.apache.bcel6_2_0.classfile.JavaClass;
/**
* Utility class implementing a (typesafe) set of JavaClass objects.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassStack.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassStack.java
similarity index 90%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassStack.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassStack.java
index d8051970..c10b4810 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassStack.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassStack.java
@@ -15,11 +15,11 @@
* limitations under the License.
*
*/
-package org.apache.bcel.util;
+package org.apache.bcel6_2_0.util;
import java.util.Stack;
-import org.apache.bcel.classfile.JavaClass;
+import org.apache.bcel6_2_0.classfile.JavaClass;
/**
* Utility class implementing a (typesafe) stack of JavaClass objects.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassVector.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassVector.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassVector.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassVector.java
index bfb291c8..218f3edc 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ClassVector.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ClassVector.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.bcel.util;
+package org.apache.bcel6_2_0.util;
import java.util.ArrayList;
import java.util.List;
-import org.apache.bcel.classfile.JavaClass;
+import org.apache.bcel6_2_0.classfile.JavaClass;
/**
* Utility class implementing a (typesafe) collection of JavaClass
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/CodeHTML.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/CodeHTML.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/CodeHTML.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/CodeHTML.java
index 5b582737..2f454ff7 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/CodeHTML.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/CodeHTML.java
@@ -15,27 +15,27 @@
* limitations under the License.
*
*/
-package org.apache.bcel.util;
+package org.apache.bcel6_2_0.util;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.BitSet;
-import org.apache.bcel.Const;
-import org.apache.bcel.classfile.Attribute;
-import org.apache.bcel.classfile.Code;
-import org.apache.bcel.classfile.CodeException;
-import org.apache.bcel.classfile.ConstantFieldref;
-import org.apache.bcel.classfile.ConstantInterfaceMethodref;
-import org.apache.bcel.classfile.ConstantInvokeDynamic;
-import org.apache.bcel.classfile.ConstantMethodref;
-import org.apache.bcel.classfile.ConstantNameAndType;
-import org.apache.bcel.classfile.ConstantPool;
-import org.apache.bcel.classfile.LocalVariable;
-import org.apache.bcel.classfile.LocalVariableTable;
-import org.apache.bcel.classfile.Method;
-import org.apache.bcel.classfile.Utility;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.classfile.Attribute;
+import org.apache.bcel6_2_0.classfile.Code;
+import org.apache.bcel6_2_0.classfile.CodeException;
+import org.apache.bcel6_2_0.classfile.ConstantFieldref;
+import org.apache.bcel6_2_0.classfile.ConstantInterfaceMethodref;
+import org.apache.bcel6_2_0.classfile.ConstantInvokeDynamic;
+import org.apache.bcel6_2_0.classfile.ConstantMethodref;
+import org.apache.bcel6_2_0.classfile.ConstantNameAndType;
+import org.apache.bcel6_2_0.classfile.ConstantPool;
+import org.apache.bcel6_2_0.classfile.LocalVariable;
+import org.apache.bcel6_2_0.classfile.LocalVariableTable;
+import org.apache.bcel6_2_0.classfile.Method;
+import org.apache.bcel6_2_0.classfile.Utility;
/**
* Convert code into HTML file.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ConstantHTML.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ConstantHTML.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ConstantHTML.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ConstantHTML.java
index a1af88d9..8b4829e9 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/ConstantHTML.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/ConstantHTML.java
@@ -15,23 +15,23 @@
* limitations under the License.
*
*/
-package org.apache.bcel.util;
+package org.apache.bcel6_2_0.util;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
-import org.apache.bcel.Const;
-import org.apache.bcel.classfile.Constant;
-import org.apache.bcel.classfile.ConstantClass;
-import org.apache.bcel.classfile.ConstantFieldref;
-import org.apache.bcel.classfile.ConstantInterfaceMethodref;
-import org.apache.bcel.classfile.ConstantMethodref;
-import org.apache.bcel.classfile.ConstantNameAndType;
-import org.apache.bcel.classfile.ConstantPool;
-import org.apache.bcel.classfile.ConstantString;
-import org.apache.bcel.classfile.Method;
-import org.apache.bcel.classfile.Utility;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.classfile.Constant;
+import org.apache.bcel6_2_0.classfile.ConstantClass;
+import org.apache.bcel6_2_0.classfile.ConstantFieldref;
+import org.apache.bcel6_2_0.classfile.ConstantInterfaceMethodref;
+import org.apache.bcel6_2_0.classfile.ConstantMethodref;
+import org.apache.bcel6_2_0.classfile.ConstantNameAndType;
+import org.apache.bcel6_2_0.classfile.ConstantPool;
+import org.apache.bcel6_2_0.classfile.ConstantString;
+import org.apache.bcel6_2_0.classfile.Method;
+import org.apache.bcel6_2_0.classfile.Utility;
/**
* Convert constant pool into HTML file.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/InstructionFinder.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/InstructionFinder.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/InstructionFinder.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/InstructionFinder.java
index 0a02af08..3d3993b4 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/InstructionFinder.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/InstructionFinder.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.util;
+package org.apache.bcel6_2_0.util;
import java.util.ArrayList;
import java.util.HashMap;
@@ -26,10 +26,10 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.apache.bcel.Const;
-import org.apache.bcel.generic.ClassGenException;
-import org.apache.bcel.generic.InstructionHandle;
-import org.apache.bcel.generic.InstructionList;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.generic.ClassGenException;
+import org.apache.bcel6_2_0.generic.InstructionHandle;
+import org.apache.bcel6_2_0.generic.InstructionList;
/**
* InstructionFinder is a tool to search for given instructions patterns, i.e.,
@@ -61,7 +61,7 @@
*
*
* @version $Id: InstructionFinder.java 1806200 2017-08-25 16:33:06Z ggregory $
- * @see org.apache.bcel.generic.Instruction
+ * @see org.apache.bcel6_2_0.generic.Instruction
* @see InstructionList
*/
public class InstructionFinder {
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/JavaWrapper.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/JavaWrapper.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/JavaWrapper.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/JavaWrapper.java
index 0349536a..362fa338 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/JavaWrapper.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/JavaWrapper.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.util;
+package org.apache.bcel6_2_0.util;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/MemorySensitiveClassPathRepository.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/MemorySensitiveClassPathRepository.java
similarity index 97%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/MemorySensitiveClassPathRepository.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/MemorySensitiveClassPathRepository.java
index 4251d035..9ad592ce 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/MemorySensitiveClassPathRepository.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/MemorySensitiveClassPathRepository.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.util;
+package org.apache.bcel6_2_0.util;
import java.io.IOException;
import java.io.InputStream;
@@ -23,15 +23,15 @@
import java.util.HashMap;
import java.util.Map;
-import org.apache.bcel.classfile.ClassParser;
-import org.apache.bcel.classfile.JavaClass;
+import org.apache.bcel6_2_0.classfile.ClassParser;
+import org.apache.bcel6_2_0.classfile.JavaClass;
/**
* This repository is used in situations where a Class is created outside the realm of a ClassLoader. Classes are loaded from the file systems using the paths
* specified in the given class path. By default, this is the value returned by ClassPath.getClassPath(). This repository holds onto classes with
* SoftReferences, and will reload as needed, in cases where memory sizes are important.
*
- * @see org.apache.bcel.Repository
+ * @see org.apache.bcel6_2_0.Repository
*/
public class MemorySensitiveClassPathRepository implements Repository {
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/MethodHTML.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/MethodHTML.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/MethodHTML.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/MethodHTML.java
index 92b7c7fa..5ba59b32 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/MethodHTML.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/MethodHTML.java
@@ -15,20 +15,20 @@
* limitations under the License.
*
*/
-package org.apache.bcel.util;
+package org.apache.bcel6_2_0.util;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
-import org.apache.bcel.Const;
-import org.apache.bcel.classfile.Attribute;
-import org.apache.bcel.classfile.Code;
-import org.apache.bcel.classfile.ConstantValue;
-import org.apache.bcel.classfile.ExceptionTable;
-import org.apache.bcel.classfile.Field;
-import org.apache.bcel.classfile.Method;
-import org.apache.bcel.classfile.Utility;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.classfile.Attribute;
+import org.apache.bcel6_2_0.classfile.Code;
+import org.apache.bcel6_2_0.classfile.ConstantValue;
+import org.apache.bcel6_2_0.classfile.ExceptionTable;
+import org.apache.bcel6_2_0.classfile.Field;
+import org.apache.bcel6_2_0.classfile.Method;
+import org.apache.bcel6_2_0.classfile.Utility;
/**
* Convert methods and fields into HTML file.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/Repository.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/Repository.java
similarity index 91%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/Repository.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/Repository.java
index 86fd57b2..182b4cb6 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/Repository.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/Repository.java
@@ -15,16 +15,16 @@
* limitations under the License.
*
*/
-package org.apache.bcel.util;
+package org.apache.bcel6_2_0.util;
-import org.apache.bcel.classfile.JavaClass;
+import org.apache.bcel6_2_0.classfile.JavaClass;
/**
* Abstract definition of a class repository. Instances may be used
* to load classes from different sources and may be used in the
* Repository.setRepository method.
*
- * @see org.apache.bcel.Repository
+ * @see org.apache.bcel6_2_0.Repository
* @version $Id: Repository.java 1806200 2017-08-25 16:33:06Z ggregory $
*/
public interface Repository {
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/SyntheticRepository.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/SyntheticRepository.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/SyntheticRepository.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/SyntheticRepository.java
index 9efae63b..626a8286 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/SyntheticRepository.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/SyntheticRepository.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.util;
+package org.apache.bcel6_2_0.util;
import java.util.HashMap;
import java.util.Map;
@@ -26,7 +26,7 @@
* This repository uses a factory design, allowing it to maintain a collection of different classpaths, and as such It is designed to be used as a singleton per
* classpath.
*
- * @see org.apache.bcel.Repository
+ * @see org.apache.bcel6_2_0.Repository
*
* @version $Id: SyntheticRepository.java 1748124 2016-06-13 08:02:16Z ggregory $
*/
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/package.html b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/package.html
similarity index 100%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/util/package.html
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/util/package.html
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/GraphicalVerifier.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/GraphicalVerifier.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/GraphicalVerifier.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/GraphicalVerifier.java
index 7e8d9a43..0c8aca72 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/GraphicalVerifier.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/GraphicalVerifier.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier;
+package org.apache.bcel6_2_0.verifier;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.UIManager;
-import org.apache.bcel.generic.Type;
+import org.apache.bcel6_2_0.generic.Type;
/**
* A graphical user interface application demonstrating JustIce.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/NativeVerifier.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/NativeVerifier.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/NativeVerifier.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/NativeVerifier.java
index 2d5d56dd..4dbba426 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/NativeVerifier.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/NativeVerifier.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier;
+package org.apache.bcel6_2_0.verifier;
/**
* The NativeVerifier class implements a main(String[] args) method that's
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/PassVerifier.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/PassVerifier.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/PassVerifier.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/PassVerifier.java
index 972480ec..eb8a88ac 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/PassVerifier.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/PassVerifier.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier;
+package org.apache.bcel6_2_0.verifier;
import java.util.ArrayList;
import java.util.List;
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/TransitiveHull.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/TransitiveHull.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/TransitiveHull.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/TransitiveHull.java
index a50ecf49..52b6cdcd 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/TransitiveHull.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/TransitiveHull.java
@@ -15,10 +15,10 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier;
+package org.apache.bcel6_2_0.verifier;
-import org.apache.bcel.Repository;
-import org.apache.bcel.classfile.JavaClass;
+import org.apache.bcel6_2_0.Repository;
+import org.apache.bcel6_2_0.classfile.JavaClass;
/**
* This class has a main method implementing a demonstration program
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/VerificationResult.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/VerificationResult.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/VerificationResult.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/VerificationResult.java
index 753e0dca..d0070a07 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/VerificationResult.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/VerificationResult.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier;
+package org.apache.bcel6_2_0.verifier;
/**
* A VerificationResult is what a PassVerifier returns
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/Verifier.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/Verifier.java
similarity index 90%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/Verifier.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/Verifier.java
index 8a85f75c..a1e3c1b1 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/Verifier.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/Verifier.java
@@ -15,18 +15,18 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier;
+package org.apache.bcel6_2_0.verifier;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.apache.bcel.classfile.JavaClass;
-import org.apache.bcel.verifier.statics.Pass1Verifier;
-import org.apache.bcel.verifier.statics.Pass2Verifier;
-import org.apache.bcel.verifier.statics.Pass3aVerifier;
-import org.apache.bcel.verifier.structurals.Pass3bVerifier;
+import org.apache.bcel6_2_0.classfile.JavaClass;
+import org.apache.bcel6_2_0.verifier.statics.Pass1Verifier;
+import org.apache.bcel6_2_0.verifier.statics.Pass2Verifier;
+import org.apache.bcel6_2_0.verifier.statics.Pass3aVerifier;
+import org.apache.bcel6_2_0.verifier.structurals.Pass3bVerifier;
/**
* A Verifier instance is there to verify a class file according to The Java Virtual
@@ -163,7 +163,7 @@ public String[] getMessages() throws ClassNotFoundException {
final int meth = pv.getMethodNo();
for (final String element : p3am) {
messages.add("Pass 3a, method " + meth + " ('"
- + org.apache.bcel.Repository.lookupClass(classname).getMethods()[meth]
+ + org.apache.bcel6_2_0.Repository.lookupClass(classname).getMethods()[meth]
+ "'): " + element);
}
}
@@ -172,7 +172,7 @@ public String[] getMessages() throws ClassNotFoundException {
final int meth = pv.getMethodNo();
for (final String element : p3bm) {
messages.add("Pass 3b, method " + meth + " ('"
- + org.apache.bcel.Repository.lookupClass(classname).getMethods()[meth]
+ + org.apache.bcel6_2_0.Repository.lookupClass(classname).getMethods()[meth]
+ "'): " + element);
}
}
@@ -211,7 +211,7 @@ public static void main( final String[] args ) {
vr = v.doPass2();
System.out.println("Pass 2:\n" + vr);
if (vr == VerificationResult.VR_OK) {
- final JavaClass jc = org.apache.bcel.Repository.lookupClass(args[k]);
+ final JavaClass jc = org.apache.bcel6_2_0.Repository.lookupClass(args[k]);
for (int i = 0; i < jc.getMethods().length; i++) {
vr = v.doPass3a(i);
System.out.println("Pass 3a, method number " + i + " ['"
@@ -232,7 +232,7 @@ public static void main( final String[] args ) {
System.out.println("\n");
// avoid swapping.
v.flush();
- org.apache.bcel.Repository.clearCache();
+ org.apache.bcel6_2_0.Repository.clearCache();
System.gc();
} catch (final ClassNotFoundException e) {
e.printStackTrace();
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/VerifierAppFrame.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/VerifierAppFrame.java
similarity index 97%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/VerifierAppFrame.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/VerifierAppFrame.java
index 6e4a823a..d0e826a9 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/VerifierAppFrame.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/VerifierAppFrame.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier;
+package org.apache.bcel6_2_0.verifier;
import java.awt.AWTEvent;
import java.awt.CardLayout;
@@ -39,8 +39,8 @@
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
-import org.apache.bcel.Repository;
-import org.apache.bcel.classfile.JavaClass;
+import org.apache.bcel6_2_0.Repository;
+import org.apache.bcel6_2_0.classfile.JavaClass;
/**
* This class implements a machine-generated frame for use with
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/VerifierFactory.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/VerifierFactory.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/VerifierFactory.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/VerifierFactory.java
index 48e0be63..d1455b5a 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/VerifierFactory.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/VerifierFactory.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier;
+package org.apache.bcel6_2_0.verifier;
import java.util.HashMap;
import java.util.List;
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/VerifierFactoryListModel.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/VerifierFactoryListModel.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/VerifierFactoryListModel.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/VerifierFactoryListModel.java
index 1fc5336f..d2c342c9 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/VerifierFactoryListModel.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/VerifierFactoryListModel.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier;
+package org.apache.bcel6_2_0.verifier;
import java.util.ArrayList;
import java.util.List;
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/VerifierFactoryObserver.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/VerifierFactoryObserver.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/VerifierFactoryObserver.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/VerifierFactoryObserver.java
index 1637c524..991cdd1a 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/VerifierFactoryObserver.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/VerifierFactoryObserver.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier;
+package org.apache.bcel6_2_0.verifier;
/**
* VerifierFactoryObserver instances are notified when new Verifier
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/VerifyDialog.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/VerifyDialog.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/VerifyDialog.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/VerifyDialog.java
index 8025f2d8..89bd3afe 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/VerifyDialog.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/VerifyDialog.java
@@ -15,12 +15,12 @@
* limitations under the License.
*/
-package org.apache.bcel.verifier;
+package org.apache.bcel6_2_0.verifier;
import java.awt.Color;
-import org.apache.bcel.Repository;
-import org.apache.bcel.classfile.JavaClass;
+import org.apache.bcel6_2_0.Repository;
+import org.apache.bcel6_2_0.classfile.JavaClass;
/**
* A class for simple graphical class file verification.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/AssertionViolatedException.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/AssertionViolatedException.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/AssertionViolatedException.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/AssertionViolatedException.java
index fa876050..5aa8e181 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/AssertionViolatedException.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/AssertionViolatedException.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.exc;
+package org.apache.bcel6_2_0.verifier.exc;
/**
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/ClassConstraintException.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/ClassConstraintException.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/ClassConstraintException.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/ClassConstraintException.java
index c4beafbd..defae225 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/ClassConstraintException.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/ClassConstraintException.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.exc;
+package org.apache.bcel6_2_0.verifier.exc;
/**
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/CodeConstraintException.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/CodeConstraintException.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/CodeConstraintException.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/CodeConstraintException.java
index 6e692e5d..68b85dd1 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/CodeConstraintException.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/CodeConstraintException.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.exc;
+package org.apache.bcel6_2_0.verifier.exc;
/**
* Instances of this class are thrown by BCEL's class file verifier "JustIce" when
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/InvalidMethodException.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/InvalidMethodException.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/InvalidMethodException.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/InvalidMethodException.java
index f04aaeb2..f8ac6320 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/InvalidMethodException.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/InvalidMethodException.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.exc;
+package org.apache.bcel6_2_0.verifier.exc;
/**
* Instances of this class are thrown by BCEL's class file verifier "JustIce"
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/LinkingConstraintException.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/LinkingConstraintException.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/LinkingConstraintException.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/LinkingConstraintException.java
index 7defb5fe..f79a0507 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/LinkingConstraintException.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/LinkingConstraintException.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.exc;
+package org.apache.bcel6_2_0.verifier.exc;
/**
* Instances of this class are thrown by BCEL's class file verifier "JustIce" when
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/LoadingException.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/LoadingException.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/LoadingException.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/LoadingException.java
index 6ff0c8df..2543395c 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/LoadingException.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/LoadingException.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.exc;
+package org.apache.bcel6_2_0.verifier.exc;
/**
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/LocalVariableInfoInconsistentException.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/LocalVariableInfoInconsistentException.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/LocalVariableInfoInconsistentException.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/LocalVariableInfoInconsistentException.java
index 8e2a2034..de392142 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/LocalVariableInfoInconsistentException.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/LocalVariableInfoInconsistentException.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.exc;
+package org.apache.bcel6_2_0.verifier.exc;
/**
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/StaticCodeConstraintException.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/StaticCodeConstraintException.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/StaticCodeConstraintException.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/StaticCodeConstraintException.java
index 7ebe32a1..7ee5f39a 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/StaticCodeConstraintException.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/StaticCodeConstraintException.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.exc;
+package org.apache.bcel6_2_0.verifier.exc;
/**
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/StaticCodeInstructionConstraintException.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/StaticCodeInstructionConstraintException.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/StaticCodeInstructionConstraintException.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/StaticCodeInstructionConstraintException.java
index 251f2019..47a1add2 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/StaticCodeInstructionConstraintException.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/StaticCodeInstructionConstraintException.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.exc;
+package org.apache.bcel6_2_0.verifier.exc;
/**
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/StaticCodeInstructionOperandConstraintException.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/StaticCodeInstructionOperandConstraintException.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/StaticCodeInstructionOperandConstraintException.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/StaticCodeInstructionOperandConstraintException.java
index 43d4203f..d5ddccfc 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/StaticCodeInstructionOperandConstraintException.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/StaticCodeInstructionOperandConstraintException.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.exc;
+package org.apache.bcel6_2_0.verifier.exc;
/**
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/StructuralCodeConstraintException.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/StructuralCodeConstraintException.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/StructuralCodeConstraintException.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/StructuralCodeConstraintException.java
index c7174643..00168a5c 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/StructuralCodeConstraintException.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/StructuralCodeConstraintException.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.exc;
+package org.apache.bcel6_2_0.verifier.exc;
/**
* Instances of this class are thrown by BCEL's class file verifier "JustIce" when
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/Utility.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/Utility.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/Utility.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/Utility.java
index a888c11c..e29b5e04 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/Utility.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/Utility.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.exc;
+package org.apache.bcel6_2_0.verifier.exc;
import java.io.PrintWriter;
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/VerificationException.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/VerificationException.java
similarity index 95%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/VerificationException.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/VerificationException.java
index 3fb46ad8..d1499f4f 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/VerificationException.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/VerificationException.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.exc;
+package org.apache.bcel6_2_0.verifier.exc;
/**
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/VerifierConstraintViolatedException.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/VerifierConstraintViolatedException.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/VerifierConstraintViolatedException.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/VerifierConstraintViolatedException.java
index f0c09f0d..def1f270 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/VerifierConstraintViolatedException.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/VerifierConstraintViolatedException.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.exc;
+package org.apache.bcel6_2_0.verifier.exc;
/**
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/package.html b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/package.html
similarity index 100%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/exc/package.html
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/exc/package.html
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/package.html b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/package.html
similarity index 100%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/package.html
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/package.html
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/DOUBLE_Upper.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/DOUBLE_Upper.java
similarity index 89%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/DOUBLE_Upper.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/DOUBLE_Upper.java
index 7ac24ddf..3b14db03 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/DOUBLE_Upper.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/DOUBLE_Upper.java
@@ -15,11 +15,11 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.statics;
+package org.apache.bcel6_2_0.verifier.statics;
-import org.apache.bcel.Const;
-import org.apache.bcel.generic.Type;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.generic.Type;
/**
* This class represents the upper half of a DOUBLE variable.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/IntList.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/IntList.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/IntList.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/IntList.java
index 306acebc..f4a4600d 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/IntList.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/IntList.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.statics;
+package org.apache.bcel6_2_0.verifier.statics;
import java.util.ArrayList;
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/LONG_Upper.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/LONG_Upper.java
similarity index 89%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/LONG_Upper.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/LONG_Upper.java
index f7b7d641..b970cbc7 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/LONG_Upper.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/LONG_Upper.java
@@ -15,11 +15,11 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.statics;
+package org.apache.bcel6_2_0.verifier.statics;
-import org.apache.bcel.Const;
-import org.apache.bcel.generic.Type;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.generic.Type;
/**
* This class represents the upper half of a LONG variable.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/LocalVariableInfo.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/LocalVariableInfo.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/LocalVariableInfo.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/LocalVariableInfo.java
index 3c8e0cc2..65a3cbca 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/LocalVariableInfo.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/LocalVariableInfo.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.statics;
+package org.apache.bcel6_2_0.verifier.statics;
import java.util.Hashtable;
-import org.apache.bcel.generic.Type;
-import org.apache.bcel.verifier.exc.LocalVariableInfoInconsistentException;
+import org.apache.bcel6_2_0.generic.Type;
+import org.apache.bcel6_2_0.verifier.exc.LocalVariableInfoInconsistentException;
/**
* A utility class holding the information about
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/LocalVariablesInfo.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/LocalVariablesInfo.java
similarity index 90%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/LocalVariablesInfo.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/LocalVariablesInfo.java
index 4b3d53bc..9ec5e679 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/LocalVariablesInfo.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/LocalVariablesInfo.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.statics;
+package org.apache.bcel6_2_0.verifier.statics;
-import org.apache.bcel.generic.Type;
-import org.apache.bcel.verifier.exc.AssertionViolatedException;
-import org.apache.bcel.verifier.exc.LocalVariableInfoInconsistentException;
+import org.apache.bcel6_2_0.generic.Type;
+import org.apache.bcel6_2_0.verifier.exc.AssertionViolatedException;
+import org.apache.bcel6_2_0.verifier.exc.LocalVariableInfoInconsistentException;
/**
* A utility class holding the information about
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/Pass1Verifier.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/Pass1Verifier.java
similarity index 92%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/Pass1Verifier.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/Pass1Verifier.java
index b188608b..1ee416a1 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/Pass1Verifier.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/Pass1Verifier.java
@@ -15,17 +15,17 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.statics;
+package org.apache.bcel6_2_0.verifier.statics;
-import org.apache.bcel.Repository;
-import org.apache.bcel.classfile.ClassFormatException;
-import org.apache.bcel.classfile.JavaClass;
-import org.apache.bcel.verifier.PassVerifier;
-import org.apache.bcel.verifier.VerificationResult;
-import org.apache.bcel.verifier.Verifier;
-import org.apache.bcel.verifier.exc.LoadingException;
-import org.apache.bcel.verifier.exc.Utility;
+import org.apache.bcel6_2_0.Repository;
+import org.apache.bcel6_2_0.classfile.ClassFormatException;
+import org.apache.bcel6_2_0.classfile.JavaClass;
+import org.apache.bcel6_2_0.verifier.PassVerifier;
+import org.apache.bcel6_2_0.verifier.VerificationResult;
+import org.apache.bcel6_2_0.verifier.Verifier;
+import org.apache.bcel6_2_0.verifier.exc.LoadingException;
+import org.apache.bcel6_2_0.verifier.exc.Utility;
/**
* This PassVerifier verifies a class file according to pass 1 as
@@ -140,8 +140,8 @@ public Pass1Verifier(final Verifier owner) {
* (like the check for extra bytes at the end of the class file) are handy when actually using BCEL to repair a class file
* (otherwise you would not be able to load it into BCEL).
*
- * @see org.apache.bcel.Repository
- * @see org.apache.bcel.Const#JVM_CLASSFILE_MAGIC
+ * @see org.apache.bcel6_2_0.Repository
+ * @see org.apache.bcel6_2_0.Const#JVM_CLASSFILE_MAGIC
*/
@Override
public VerificationResult do_verify() {
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/Pass2Verifier.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/Pass2Verifier.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/Pass2Verifier.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/Pass2Verifier.java
index f98e348d..1ba747b5 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/Pass2Verifier.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/Pass2Verifier.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.statics;
+package org.apache.bcel6_2_0.verifier.statics;
import java.util.HashMap;
@@ -24,54 +24,54 @@
import java.util.Map;
import java.util.Set;
-import org.apache.bcel.Const;
-import org.apache.bcel.Constants;
-import org.apache.bcel.Repository;
-import org.apache.bcel.classfile.Attribute;
-import org.apache.bcel.classfile.ClassFormatException;
-import org.apache.bcel.classfile.Code;
-import org.apache.bcel.classfile.CodeException;
-import org.apache.bcel.classfile.Constant;
-import org.apache.bcel.classfile.ConstantClass;
-import org.apache.bcel.classfile.ConstantDouble;
-import org.apache.bcel.classfile.ConstantFieldref;
-import org.apache.bcel.classfile.ConstantFloat;
-import org.apache.bcel.classfile.ConstantInteger;
-import org.apache.bcel.classfile.ConstantInterfaceMethodref;
-import org.apache.bcel.classfile.ConstantLong;
-import org.apache.bcel.classfile.ConstantMethodref;
-import org.apache.bcel.classfile.ConstantNameAndType;
-import org.apache.bcel.classfile.ConstantPool;
-import org.apache.bcel.classfile.ConstantString;
-import org.apache.bcel.classfile.ConstantUtf8;
-import org.apache.bcel.classfile.ConstantValue;
-import org.apache.bcel.classfile.Deprecated;
-import org.apache.bcel.classfile.DescendingVisitor;
-import org.apache.bcel.classfile.EmptyVisitor;
-import org.apache.bcel.classfile.ExceptionTable;
-import org.apache.bcel.classfile.Field;
-import org.apache.bcel.classfile.InnerClass;
-import org.apache.bcel.classfile.InnerClasses;
-import org.apache.bcel.classfile.JavaClass;
-import org.apache.bcel.classfile.LineNumber;
-import org.apache.bcel.classfile.LineNumberTable;
-import org.apache.bcel.classfile.LocalVariable;
-import org.apache.bcel.classfile.LocalVariableTable;
-import org.apache.bcel.classfile.Method;
-import org.apache.bcel.classfile.Node;
-import org.apache.bcel.classfile.SourceFile;
-import org.apache.bcel.classfile.Synthetic;
-import org.apache.bcel.classfile.Unknown;
-import org.apache.bcel.generic.ArrayType;
-import org.apache.bcel.generic.ObjectType;
-import org.apache.bcel.generic.Type;
-import org.apache.bcel.verifier.PassVerifier;
-import org.apache.bcel.verifier.VerificationResult;
-import org.apache.bcel.verifier.Verifier;
-import org.apache.bcel.verifier.VerifierFactory;
-import org.apache.bcel.verifier.exc.AssertionViolatedException;
-import org.apache.bcel.verifier.exc.ClassConstraintException;
-import org.apache.bcel.verifier.exc.LocalVariableInfoInconsistentException;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.Constants;
+import org.apache.bcel6_2_0.Repository;
+import org.apache.bcel6_2_0.classfile.Attribute;
+import org.apache.bcel6_2_0.classfile.ClassFormatException;
+import org.apache.bcel6_2_0.classfile.Code;
+import org.apache.bcel6_2_0.classfile.CodeException;
+import org.apache.bcel6_2_0.classfile.Constant;
+import org.apache.bcel6_2_0.classfile.ConstantClass;
+import org.apache.bcel6_2_0.classfile.ConstantDouble;
+import org.apache.bcel6_2_0.classfile.ConstantFieldref;
+import org.apache.bcel6_2_0.classfile.ConstantFloat;
+import org.apache.bcel6_2_0.classfile.ConstantInteger;
+import org.apache.bcel6_2_0.classfile.ConstantInterfaceMethodref;
+import org.apache.bcel6_2_0.classfile.ConstantLong;
+import org.apache.bcel6_2_0.classfile.ConstantMethodref;
+import org.apache.bcel6_2_0.classfile.ConstantNameAndType;
+import org.apache.bcel6_2_0.classfile.ConstantPool;
+import org.apache.bcel6_2_0.classfile.ConstantString;
+import org.apache.bcel6_2_0.classfile.ConstantUtf8;
+import org.apache.bcel6_2_0.classfile.ConstantValue;
+import org.apache.bcel6_2_0.classfile.Deprecated;
+import org.apache.bcel6_2_0.classfile.DescendingVisitor;
+import org.apache.bcel6_2_0.classfile.EmptyVisitor;
+import org.apache.bcel6_2_0.classfile.ExceptionTable;
+import org.apache.bcel6_2_0.classfile.Field;
+import org.apache.bcel6_2_0.classfile.InnerClass;
+import org.apache.bcel6_2_0.classfile.InnerClasses;
+import org.apache.bcel6_2_0.classfile.JavaClass;
+import org.apache.bcel6_2_0.classfile.LineNumber;
+import org.apache.bcel6_2_0.classfile.LineNumberTable;
+import org.apache.bcel6_2_0.classfile.LocalVariable;
+import org.apache.bcel6_2_0.classfile.LocalVariableTable;
+import org.apache.bcel6_2_0.classfile.Method;
+import org.apache.bcel6_2_0.classfile.Node;
+import org.apache.bcel6_2_0.classfile.SourceFile;
+import org.apache.bcel6_2_0.classfile.Synthetic;
+import org.apache.bcel6_2_0.classfile.Unknown;
+import org.apache.bcel6_2_0.generic.ArrayType;
+import org.apache.bcel6_2_0.generic.ObjectType;
+import org.apache.bcel6_2_0.generic.Type;
+import org.apache.bcel6_2_0.verifier.PassVerifier;
+import org.apache.bcel6_2_0.verifier.VerificationResult;
+import org.apache.bcel6_2_0.verifier.Verifier;
+import org.apache.bcel6_2_0.verifier.VerifierFactory;
+import org.apache.bcel6_2_0.verifier.exc.AssertionViolatedException;
+import org.apache.bcel6_2_0.verifier.exc.ClassConstraintException;
+import org.apache.bcel6_2_0.verifier.exc.LocalVariableInfoInconsistentException;
/**
* This PassVerifier verifies a class file according to
@@ -314,7 +314,7 @@ private void constant_pool_entries_satisfy_static_constraints() {
*
* @see #constant_pool_entries_satisfy_static_constraints()
*/
- private final class CPESSC_Visitor extends org.apache.bcel.classfile.EmptyVisitor{
+ private final class CPESSC_Visitor extends org.apache.bcel6_2_0.classfile.EmptyVisitor{
private final Class> CONST_Class;
/*
private Class> CONST_Fieldref;
@@ -1303,7 +1303,7 @@ private void field_and_method_refs_are_valid() {
* pool must be valid.
*
* @see #constant_pool_entries_satisfy_static_constraints()
- * @see org.apache.bcel.classfile.ConstantCP
+ * @see org.apache.bcel6_2_0.classfile.ConstantCP
*/
private final class FAMRAV_Visitor extends EmptyVisitor{
private final ConstantPool cp; // ==jc.getConstantPool() -- only here to save typing work.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/Pass3aVerifier.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/Pass3aVerifier.java
similarity index 91%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/Pass3aVerifier.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/Pass3aVerifier.java
index cd9bc2af..160a0162 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/Pass3aVerifier.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/Pass3aVerifier.java
@@ -15,90 +15,90 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.statics;
-
-
-import org.apache.bcel.Const;
-import org.apache.bcel.Repository;
-import org.apache.bcel.classfile.Attribute;
-import org.apache.bcel.classfile.Code;
-import org.apache.bcel.classfile.CodeException;
-import org.apache.bcel.classfile.Constant;
-import org.apache.bcel.classfile.ConstantClass;
-import org.apache.bcel.classfile.ConstantDouble;
-import org.apache.bcel.classfile.ConstantFieldref;
-import org.apache.bcel.classfile.ConstantFloat;
-import org.apache.bcel.classfile.ConstantInteger;
-import org.apache.bcel.classfile.ConstantInterfaceMethodref;
-import org.apache.bcel.classfile.ConstantLong;
-import org.apache.bcel.classfile.ConstantMethodref;
-import org.apache.bcel.classfile.ConstantNameAndType;
-import org.apache.bcel.classfile.ConstantString;
-import org.apache.bcel.classfile.ConstantUtf8;
-import org.apache.bcel.classfile.Field;
-import org.apache.bcel.classfile.JavaClass;
-import org.apache.bcel.classfile.LineNumber;
-import org.apache.bcel.classfile.LineNumberTable;
-import org.apache.bcel.classfile.LocalVariable;
-import org.apache.bcel.classfile.LocalVariableTable;
-import org.apache.bcel.classfile.Method;
-import org.apache.bcel.generic.ALOAD;
-import org.apache.bcel.generic.ANEWARRAY;
-import org.apache.bcel.generic.ASTORE;
-import org.apache.bcel.generic.ATHROW;
-import org.apache.bcel.generic.ArrayType;
-import org.apache.bcel.generic.BREAKPOINT;
-import org.apache.bcel.generic.CHECKCAST;
-import org.apache.bcel.generic.ConstantPoolGen;
-import org.apache.bcel.generic.DLOAD;
-import org.apache.bcel.generic.DSTORE;
-import org.apache.bcel.generic.FLOAD;
-import org.apache.bcel.generic.FSTORE;
-import org.apache.bcel.generic.FieldInstruction;
-import org.apache.bcel.generic.GETSTATIC;
-import org.apache.bcel.generic.GotoInstruction;
-import org.apache.bcel.generic.IINC;
-import org.apache.bcel.generic.ILOAD;
-import org.apache.bcel.generic.IMPDEP1;
-import org.apache.bcel.generic.IMPDEP2;
-import org.apache.bcel.generic.INSTANCEOF;
-import org.apache.bcel.generic.INVOKEDYNAMIC;
-import org.apache.bcel.generic.INVOKEINTERFACE;
-import org.apache.bcel.generic.INVOKESPECIAL;
-import org.apache.bcel.generic.INVOKESTATIC;
-import org.apache.bcel.generic.INVOKEVIRTUAL;
-import org.apache.bcel.generic.ISTORE;
-import org.apache.bcel.generic.Instruction;
-import org.apache.bcel.generic.InstructionHandle;
-import org.apache.bcel.generic.InstructionList;
-import org.apache.bcel.generic.InvokeInstruction;
-import org.apache.bcel.generic.JsrInstruction;
-import org.apache.bcel.generic.LDC;
-import org.apache.bcel.generic.LDC2_W;
-import org.apache.bcel.generic.LLOAD;
-import org.apache.bcel.generic.LOOKUPSWITCH;
-import org.apache.bcel.generic.LSTORE;
-import org.apache.bcel.generic.LoadClass;
-import org.apache.bcel.generic.MULTIANEWARRAY;
-import org.apache.bcel.generic.NEW;
-import org.apache.bcel.generic.NEWARRAY;
-import org.apache.bcel.generic.ObjectType;
-import org.apache.bcel.generic.PUTSTATIC;
-import org.apache.bcel.generic.RET;
-import org.apache.bcel.generic.ReferenceType;
-import org.apache.bcel.generic.ReturnInstruction;
-import org.apache.bcel.generic.TABLESWITCH;
-import org.apache.bcel.generic.Type;
-import org.apache.bcel.verifier.PassVerifier;
-import org.apache.bcel.verifier.VerificationResult;
-import org.apache.bcel.verifier.Verifier;
-import org.apache.bcel.verifier.VerifierFactory;
-import org.apache.bcel.verifier.exc.AssertionViolatedException;
-import org.apache.bcel.verifier.exc.ClassConstraintException;
-import org.apache.bcel.verifier.exc.InvalidMethodException;
-import org.apache.bcel.verifier.exc.StaticCodeConstraintException;
-import org.apache.bcel.verifier.exc.StaticCodeInstructionConstraintException;
-import org.apache.bcel.verifier.exc.StaticCodeInstructionOperandConstraintException;
+package org.apache.bcel6_2_0.verifier.statics;
+
+
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.Repository;
+import org.apache.bcel6_2_0.classfile.Attribute;
+import org.apache.bcel6_2_0.classfile.Code;
+import org.apache.bcel6_2_0.classfile.CodeException;
+import org.apache.bcel6_2_0.classfile.Constant;
+import org.apache.bcel6_2_0.classfile.ConstantClass;
+import org.apache.bcel6_2_0.classfile.ConstantDouble;
+import org.apache.bcel6_2_0.classfile.ConstantFieldref;
+import org.apache.bcel6_2_0.classfile.ConstantFloat;
+import org.apache.bcel6_2_0.classfile.ConstantInteger;
+import org.apache.bcel6_2_0.classfile.ConstantInterfaceMethodref;
+import org.apache.bcel6_2_0.classfile.ConstantLong;
+import org.apache.bcel6_2_0.classfile.ConstantMethodref;
+import org.apache.bcel6_2_0.classfile.ConstantNameAndType;
+import org.apache.bcel6_2_0.classfile.ConstantString;
+import org.apache.bcel6_2_0.classfile.ConstantUtf8;
+import org.apache.bcel6_2_0.classfile.Field;
+import org.apache.bcel6_2_0.classfile.JavaClass;
+import org.apache.bcel6_2_0.classfile.LineNumber;
+import org.apache.bcel6_2_0.classfile.LineNumberTable;
+import org.apache.bcel6_2_0.classfile.LocalVariable;
+import org.apache.bcel6_2_0.classfile.LocalVariableTable;
+import org.apache.bcel6_2_0.classfile.Method;
+import org.apache.bcel6_2_0.generic.ALOAD;
+import org.apache.bcel6_2_0.generic.ANEWARRAY;
+import org.apache.bcel6_2_0.generic.ASTORE;
+import org.apache.bcel6_2_0.generic.ATHROW;
+import org.apache.bcel6_2_0.generic.ArrayType;
+import org.apache.bcel6_2_0.generic.BREAKPOINT;
+import org.apache.bcel6_2_0.generic.CHECKCAST;
+import org.apache.bcel6_2_0.generic.ConstantPoolGen;
+import org.apache.bcel6_2_0.generic.DLOAD;
+import org.apache.bcel6_2_0.generic.DSTORE;
+import org.apache.bcel6_2_0.generic.FLOAD;
+import org.apache.bcel6_2_0.generic.FSTORE;
+import org.apache.bcel6_2_0.generic.FieldInstruction;
+import org.apache.bcel6_2_0.generic.GETSTATIC;
+import org.apache.bcel6_2_0.generic.GotoInstruction;
+import org.apache.bcel6_2_0.generic.IINC;
+import org.apache.bcel6_2_0.generic.ILOAD;
+import org.apache.bcel6_2_0.generic.IMPDEP1;
+import org.apache.bcel6_2_0.generic.IMPDEP2;
+import org.apache.bcel6_2_0.generic.INSTANCEOF;
+import org.apache.bcel6_2_0.generic.INVOKEDYNAMIC;
+import org.apache.bcel6_2_0.generic.INVOKEINTERFACE;
+import org.apache.bcel6_2_0.generic.INVOKESPECIAL;
+import org.apache.bcel6_2_0.generic.INVOKESTATIC;
+import org.apache.bcel6_2_0.generic.INVOKEVIRTUAL;
+import org.apache.bcel6_2_0.generic.ISTORE;
+import org.apache.bcel6_2_0.generic.Instruction;
+import org.apache.bcel6_2_0.generic.InstructionHandle;
+import org.apache.bcel6_2_0.generic.InstructionList;
+import org.apache.bcel6_2_0.generic.InvokeInstruction;
+import org.apache.bcel6_2_0.generic.JsrInstruction;
+import org.apache.bcel6_2_0.generic.LDC;
+import org.apache.bcel6_2_0.generic.LDC2_W;
+import org.apache.bcel6_2_0.generic.LLOAD;
+import org.apache.bcel6_2_0.generic.LOOKUPSWITCH;
+import org.apache.bcel6_2_0.generic.LSTORE;
+import org.apache.bcel6_2_0.generic.LoadClass;
+import org.apache.bcel6_2_0.generic.MULTIANEWARRAY;
+import org.apache.bcel6_2_0.generic.NEW;
+import org.apache.bcel6_2_0.generic.NEWARRAY;
+import org.apache.bcel6_2_0.generic.ObjectType;
+import org.apache.bcel6_2_0.generic.PUTSTATIC;
+import org.apache.bcel6_2_0.generic.RET;
+import org.apache.bcel6_2_0.generic.ReferenceType;
+import org.apache.bcel6_2_0.generic.ReturnInstruction;
+import org.apache.bcel6_2_0.generic.TABLESWITCH;
+import org.apache.bcel6_2_0.generic.Type;
+import org.apache.bcel6_2_0.verifier.PassVerifier;
+import org.apache.bcel6_2_0.verifier.VerificationResult;
+import org.apache.bcel6_2_0.verifier.Verifier;
+import org.apache.bcel6_2_0.verifier.VerifierFactory;
+import org.apache.bcel6_2_0.verifier.exc.AssertionViolatedException;
+import org.apache.bcel6_2_0.verifier.exc.ClassConstraintException;
+import org.apache.bcel6_2_0.verifier.exc.InvalidMethodException;
+import org.apache.bcel6_2_0.verifier.exc.StaticCodeConstraintException;
+import org.apache.bcel6_2_0.verifier.exc.StaticCodeInstructionConstraintException;
+import org.apache.bcel6_2_0.verifier.exc.StaticCodeInstructionOperandConstraintException;
/**
* This PassVerifier verifies a class file according to
@@ -470,7 +470,7 @@ public int getMethodNo() {
* This visitor class does the actual checking for the instruction
* operand's constraints.
*/
- private class InstOperandConstraintVisitor extends org.apache.bcel.generic.EmptyVisitor{
+ private class InstOperandConstraintVisitor extends org.apache.bcel6_2_0.generic.EmptyVisitor{
/** The ConstantPoolGen instance this Visitor operates on. */
private final ConstantPoolGen cpg;
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/StringRepresentation.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/StringRepresentation.java
similarity index 76%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/StringRepresentation.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/StringRepresentation.java
index bfcafdc4..57ac6dea 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/StringRepresentation.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/StringRepresentation.java
@@ -15,55 +15,55 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.statics;
-
-
-import org.apache.bcel.classfile.AnnotationDefault;
-import org.apache.bcel.classfile.AnnotationEntry;
-import org.apache.bcel.classfile.Annotations;
-import org.apache.bcel.classfile.BootstrapMethods;
-import org.apache.bcel.classfile.Code;
-import org.apache.bcel.classfile.CodeException;
-import org.apache.bcel.classfile.ConstantClass;
-import org.apache.bcel.classfile.ConstantDouble;
-import org.apache.bcel.classfile.ConstantFieldref;
-import org.apache.bcel.classfile.ConstantFloat;
-import org.apache.bcel.classfile.ConstantInteger;
-import org.apache.bcel.classfile.ConstantInterfaceMethodref;
-import org.apache.bcel.classfile.ConstantInvokeDynamic;
-import org.apache.bcel.classfile.ConstantLong;
-import org.apache.bcel.classfile.ConstantMethodHandle;
-import org.apache.bcel.classfile.ConstantMethodType;
-import org.apache.bcel.classfile.ConstantMethodref;
-import org.apache.bcel.classfile.ConstantNameAndType;
-import org.apache.bcel.classfile.ConstantPool;
-import org.apache.bcel.classfile.ConstantString;
-import org.apache.bcel.classfile.ConstantUtf8;
-import org.apache.bcel.classfile.ConstantValue;
-import org.apache.bcel.classfile.Deprecated;
-import org.apache.bcel.classfile.EnclosingMethod;
-import org.apache.bcel.classfile.ExceptionTable;
-import org.apache.bcel.classfile.Field;
-import org.apache.bcel.classfile.InnerClass;
-import org.apache.bcel.classfile.InnerClasses;
-import org.apache.bcel.classfile.JavaClass;
-import org.apache.bcel.classfile.LineNumber;
-import org.apache.bcel.classfile.LineNumberTable;
-import org.apache.bcel.classfile.LocalVariable;
-import org.apache.bcel.classfile.LocalVariableTable;
-import org.apache.bcel.classfile.LocalVariableTypeTable;
-import org.apache.bcel.classfile.Method;
-import org.apache.bcel.classfile.MethodParameters;
-import org.apache.bcel.classfile.Node;
-import org.apache.bcel.classfile.ParameterAnnotationEntry;
-import org.apache.bcel.classfile.ParameterAnnotations;
-import org.apache.bcel.classfile.Signature;
-import org.apache.bcel.classfile.SourceFile;
-import org.apache.bcel.classfile.StackMap;
-import org.apache.bcel.classfile.StackMapEntry;
-import org.apache.bcel.classfile.Synthetic;
-import org.apache.bcel.classfile.Unknown;
-import org.apache.bcel.verifier.exc.AssertionViolatedException;
+package org.apache.bcel6_2_0.verifier.statics;
+
+
+import org.apache.bcel6_2_0.classfile.AnnotationDefault;
+import org.apache.bcel6_2_0.classfile.AnnotationEntry;
+import org.apache.bcel6_2_0.classfile.Annotations;
+import org.apache.bcel6_2_0.classfile.BootstrapMethods;
+import org.apache.bcel6_2_0.classfile.Code;
+import org.apache.bcel6_2_0.classfile.CodeException;
+import org.apache.bcel6_2_0.classfile.ConstantClass;
+import org.apache.bcel6_2_0.classfile.ConstantDouble;
+import org.apache.bcel6_2_0.classfile.ConstantFieldref;
+import org.apache.bcel6_2_0.classfile.ConstantFloat;
+import org.apache.bcel6_2_0.classfile.ConstantInteger;
+import org.apache.bcel6_2_0.classfile.ConstantInterfaceMethodref;
+import org.apache.bcel6_2_0.classfile.ConstantInvokeDynamic;
+import org.apache.bcel6_2_0.classfile.ConstantLong;
+import org.apache.bcel6_2_0.classfile.ConstantMethodHandle;
+import org.apache.bcel6_2_0.classfile.ConstantMethodType;
+import org.apache.bcel6_2_0.classfile.ConstantMethodref;
+import org.apache.bcel6_2_0.classfile.ConstantNameAndType;
+import org.apache.bcel6_2_0.classfile.ConstantPool;
+import org.apache.bcel6_2_0.classfile.ConstantString;
+import org.apache.bcel6_2_0.classfile.ConstantUtf8;
+import org.apache.bcel6_2_0.classfile.ConstantValue;
+import org.apache.bcel6_2_0.classfile.Deprecated;
+import org.apache.bcel6_2_0.classfile.EnclosingMethod;
+import org.apache.bcel6_2_0.classfile.ExceptionTable;
+import org.apache.bcel6_2_0.classfile.Field;
+import org.apache.bcel6_2_0.classfile.InnerClass;
+import org.apache.bcel6_2_0.classfile.InnerClasses;
+import org.apache.bcel6_2_0.classfile.JavaClass;
+import org.apache.bcel6_2_0.classfile.LineNumber;
+import org.apache.bcel6_2_0.classfile.LineNumberTable;
+import org.apache.bcel6_2_0.classfile.LocalVariable;
+import org.apache.bcel6_2_0.classfile.LocalVariableTable;
+import org.apache.bcel6_2_0.classfile.LocalVariableTypeTable;
+import org.apache.bcel6_2_0.classfile.Method;
+import org.apache.bcel6_2_0.classfile.MethodParameters;
+import org.apache.bcel6_2_0.classfile.Node;
+import org.apache.bcel6_2_0.classfile.ParameterAnnotationEntry;
+import org.apache.bcel6_2_0.classfile.ParameterAnnotations;
+import org.apache.bcel6_2_0.classfile.Signature;
+import org.apache.bcel6_2_0.classfile.SourceFile;
+import org.apache.bcel6_2_0.classfile.StackMap;
+import org.apache.bcel6_2_0.classfile.StackMapEntry;
+import org.apache.bcel6_2_0.classfile.Synthetic;
+import org.apache.bcel6_2_0.classfile.Unknown;
+import org.apache.bcel6_2_0.verifier.exc.AssertionViolatedException;
/**
* BCEL's Node classes (those from the classfile API that accept() Visitor
@@ -79,7 +79,7 @@
*
* @version $Id: StringRepresentation.java 1806200 2017-08-25 16:33:06Z ggregory $
*/
-public class StringRepresentation extends org.apache.bcel.classfile.EmptyVisitor {
+public class StringRepresentation extends org.apache.bcel6_2_0.classfile.EmptyVisitor {
/** The string representation, created by a visitXXX() method, output by toString(). */
private String tostring;
/** The node we ask for its string representation. Not really needed; only for debug output. */
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/package.html b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/package.html
similarity index 100%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/statics/package.html
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/statics/package.html
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/ControlFlowGraph.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/ControlFlowGraph.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/ControlFlowGraph.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/ControlFlowGraph.java
index 911817b4..773f39a3 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/ControlFlowGraph.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/ControlFlowGraph.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.structurals;
+package org.apache.bcel6_2_0.verifier.structurals;
import java.util.ArrayList;
@@ -23,18 +23,18 @@
import java.util.List;
import java.util.Map;
-import org.apache.bcel.generic.ATHROW;
-import org.apache.bcel.generic.BranchInstruction;
-import org.apache.bcel.generic.GotoInstruction;
-import org.apache.bcel.generic.Instruction;
-import org.apache.bcel.generic.InstructionHandle;
-import org.apache.bcel.generic.JsrInstruction;
-import org.apache.bcel.generic.MethodGen;
-import org.apache.bcel.generic.RET;
-import org.apache.bcel.generic.ReturnInstruction;
-import org.apache.bcel.generic.Select;
-import org.apache.bcel.verifier.exc.AssertionViolatedException;
-import org.apache.bcel.verifier.exc.StructuralCodeConstraintException;
+import org.apache.bcel6_2_0.generic.ATHROW;
+import org.apache.bcel6_2_0.generic.BranchInstruction;
+import org.apache.bcel6_2_0.generic.GotoInstruction;
+import org.apache.bcel6_2_0.generic.Instruction;
+import org.apache.bcel6_2_0.generic.InstructionHandle;
+import org.apache.bcel6_2_0.generic.JsrInstruction;
+import org.apache.bcel6_2_0.generic.MethodGen;
+import org.apache.bcel6_2_0.generic.RET;
+import org.apache.bcel6_2_0.generic.ReturnInstruction;
+import org.apache.bcel6_2_0.generic.Select;
+import org.apache.bcel6_2_0.verifier.exc.AssertionViolatedException;
+import org.apache.bcel6_2_0.verifier.exc.StructuralCodeConstraintException;
/**
* This class represents a control flow graph of a method.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/ExceptionHandler.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/ExceptionHandler.java
similarity index 90%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/ExceptionHandler.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/ExceptionHandler.java
index ddbe1e50..1c84b219 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/ExceptionHandler.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/ExceptionHandler.java
@@ -15,11 +15,11 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.structurals;
+package org.apache.bcel6_2_0.verifier.structurals;
-import org.apache.bcel.generic.InstructionHandle;
-import org.apache.bcel.generic.ObjectType;
+import org.apache.bcel6_2_0.generic.InstructionHandle;
+import org.apache.bcel6_2_0.generic.ObjectType;
/**
* This class represents an exception handler; that is, an ObjectType
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/ExceptionHandlers.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/ExceptionHandlers.java
similarity index 90%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/ExceptionHandlers.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/ExceptionHandlers.java
index 052045e0..5f0b1d7d 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/ExceptionHandlers.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/ExceptionHandlers.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.structurals;
+package org.apache.bcel6_2_0.verifier.structurals;
import java.util.HashMap;
@@ -23,9 +23,9 @@
import java.util.Map;
import java.util.Set;
-import org.apache.bcel.generic.CodeExceptionGen;
-import org.apache.bcel.generic.InstructionHandle;
-import org.apache.bcel.generic.MethodGen;
+import org.apache.bcel6_2_0.generic.CodeExceptionGen;
+import org.apache.bcel6_2_0.generic.InstructionHandle;
+import org.apache.bcel6_2_0.generic.MethodGen;
/**
* This class allows easy access to ExceptionHandler objects.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/ExecutionVisitor.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/ExecutionVisitor.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/ExecutionVisitor.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/ExecutionVisitor.java
index 784bbf78..edf2a476 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/ExecutionVisitor.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/ExecutionVisitor.java
@@ -15,20 +15,18 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.structurals;
+package org.apache.bcel6_2_0.verifier.structurals;
-import org.apache.bcel.Const;
-import org.apache.bcel.classfile.Constant;
-import org.apache.bcel.classfile.ConstantClass;
-import org.apache.bcel.classfile.ConstantDouble;
-import org.apache.bcel.classfile.ConstantFloat;
-import org.apache.bcel.classfile.ConstantInteger;
-import org.apache.bcel.classfile.ConstantLong;
-import org.apache.bcel.classfile.ConstantString;
-// CHECKSTYLE:OFF (there are lots of references!)
-import org.apache.bcel.generic.*;
-//CHECKSTYLE:ON
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.classfile.Constant;
+import org.apache.bcel6_2_0.classfile.ConstantClass;
+import org.apache.bcel6_2_0.classfile.ConstantDouble;
+import org.apache.bcel6_2_0.classfile.ConstantFloat;
+import org.apache.bcel6_2_0.classfile.ConstantInteger;
+import org.apache.bcel6_2_0.classfile.ConstantLong;
+import org.apache.bcel6_2_0.classfile.ConstantString;
+import org.apache.bcel6_2_0.generic.*;
/**
* This Visitor class may be used for a type-based Java Virtual Machine
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/Frame.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/Frame.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/Frame.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/Frame.java
index acbcaa66..3cb03cb4 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/Frame.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/Frame.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.structurals;
+package org.apache.bcel6_2_0.verifier.structurals;
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/GenericArray.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/GenericArray.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/GenericArray.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/GenericArray.java
index 9994ca4c..bdf91d4a 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/GenericArray.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/GenericArray.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.structurals;
+package org.apache.bcel6_2_0.verifier.structurals;
/**
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/InstConstraintVisitor.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/InstConstraintVisitor.java
similarity index 96%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/InstConstraintVisitor.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/InstConstraintVisitor.java
index 74ea2329..07f58073 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/InstConstraintVisitor.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/InstConstraintVisitor.java
@@ -15,29 +15,27 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.structurals;
-
-
-import org.apache.bcel.Const;
-import org.apache.bcel.Repository;
-import org.apache.bcel.classfile.Constant;
-import org.apache.bcel.classfile.ConstantClass;
-import org.apache.bcel.classfile.ConstantDouble;
-import org.apache.bcel.classfile.ConstantFieldref;
-import org.apache.bcel.classfile.ConstantFloat;
-import org.apache.bcel.classfile.ConstantInteger;
-import org.apache.bcel.classfile.ConstantLong;
-import org.apache.bcel.classfile.ConstantString;
-import org.apache.bcel.classfile.Field;
-import org.apache.bcel.classfile.JavaClass;
-//CHECKSTYLE:OFF (there are lots of references!)
-import org.apache.bcel.generic.*;
-//CHECKSTYLE:ON
-import org.apache.bcel.verifier.VerificationResult;
-import org.apache.bcel.verifier.Verifier;
-import org.apache.bcel.verifier.VerifierFactory;
-import org.apache.bcel.verifier.exc.AssertionViolatedException;
-import org.apache.bcel.verifier.exc.StructuralCodeConstraintException;
+package org.apache.bcel6_2_0.verifier.structurals;
+
+
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.Repository;
+import org.apache.bcel6_2_0.classfile.Constant;
+import org.apache.bcel6_2_0.classfile.ConstantClass;
+import org.apache.bcel6_2_0.classfile.ConstantDouble;
+import org.apache.bcel6_2_0.classfile.ConstantFieldref;
+import org.apache.bcel6_2_0.classfile.ConstantFloat;
+import org.apache.bcel6_2_0.classfile.ConstantInteger;
+import org.apache.bcel6_2_0.classfile.ConstantLong;
+import org.apache.bcel6_2_0.classfile.ConstantString;
+import org.apache.bcel6_2_0.classfile.Field;
+import org.apache.bcel6_2_0.classfile.JavaClass;
+import org.apache.bcel6_2_0.generic.*;
+import org.apache.bcel6_2_0.verifier.VerificationResult;
+import org.apache.bcel6_2_0.verifier.Verifier;
+import org.apache.bcel6_2_0.verifier.VerifierFactory;
+import org.apache.bcel6_2_0.verifier.exc.AssertionViolatedException;
+import org.apache.bcel6_2_0.verifier.exc.StructuralCodeConstraintException;
/**
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/InstructionContext.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/InstructionContext.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/InstructionContext.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/InstructionContext.java
index df812d10..007445a4 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/InstructionContext.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/InstructionContext.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.structurals;
+package org.apache.bcel6_2_0.verifier.structurals;
import java.util.ArrayList;
-import org.apache.bcel.generic.InstructionHandle;
+import org.apache.bcel6_2_0.generic.InstructionHandle;
/**
* An InstructionContext offers convenient access
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/LocalVariables.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/LocalVariables.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/LocalVariables.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/LocalVariables.java
index 2b1172a0..5031cd36 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/LocalVariables.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/LocalVariables.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.structurals;
+package org.apache.bcel6_2_0.verifier.structurals;
-import org.apache.bcel.generic.ReferenceType;
-import org.apache.bcel.generic.Type;
-import org.apache.bcel.verifier.exc.AssertionViolatedException;
-import org.apache.bcel.verifier.exc.StructuralCodeConstraintException;
+import org.apache.bcel6_2_0.generic.ReferenceType;
+import org.apache.bcel6_2_0.generic.Type;
+import org.apache.bcel6_2_0.verifier.exc.AssertionViolatedException;
+import org.apache.bcel6_2_0.verifier.exc.StructuralCodeConstraintException;
/**
* This class implements an array of local variables used for symbolic JVM
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/OperandStack.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/OperandStack.java
similarity index 93%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/OperandStack.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/OperandStack.java
index f7e95c09..eb9040c2 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/OperandStack.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/OperandStack.java
@@ -15,16 +15,16 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.structurals;
+package org.apache.bcel6_2_0.verifier.structurals;
import java.util.ArrayList;
-import org.apache.bcel.generic.ObjectType;
-import org.apache.bcel.generic.ReferenceType;
-import org.apache.bcel.generic.Type;
-import org.apache.bcel.verifier.exc.AssertionViolatedException;
-import org.apache.bcel.verifier.exc.StructuralCodeConstraintException;
+import org.apache.bcel6_2_0.generic.ObjectType;
+import org.apache.bcel6_2_0.generic.ReferenceType;
+import org.apache.bcel6_2_0.generic.Type;
+import org.apache.bcel6_2_0.verifier.exc.AssertionViolatedException;
+import org.apache.bcel6_2_0.verifier.exc.StructuralCodeConstraintException;
/**
* This class implements a stack used for symbolic JVM stack simulation.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/Pass3bVerifier.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/Pass3bVerifier.java
similarity index 91%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/Pass3bVerifier.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/Pass3bVerifier.java
index dea59498..626192af 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/Pass3bVerifier.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/Pass3bVerifier.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.structurals;
+package org.apache.bcel6_2_0.verifier.structurals;
import java.io.PrintWriter;
@@ -25,26 +25,26 @@
import java.util.Random;
import java.util.Vector;
-import org.apache.bcel.Const;
-import org.apache.bcel.Repository;
-import org.apache.bcel.classfile.JavaClass;
-import org.apache.bcel.classfile.Method;
-import org.apache.bcel.generic.ConstantPoolGen;
-import org.apache.bcel.generic.InstructionHandle;
-import org.apache.bcel.generic.JsrInstruction;
-import org.apache.bcel.generic.MethodGen;
-import org.apache.bcel.generic.ObjectType;
-import org.apache.bcel.generic.RET;
-import org.apache.bcel.generic.ReferenceType;
-import org.apache.bcel.generic.ReturnInstruction;
-import org.apache.bcel.generic.ReturnaddressType;
-import org.apache.bcel.generic.Type;
-import org.apache.bcel.verifier.PassVerifier;
-import org.apache.bcel.verifier.VerificationResult;
-import org.apache.bcel.verifier.Verifier;
-import org.apache.bcel.verifier.exc.AssertionViolatedException;
-import org.apache.bcel.verifier.exc.StructuralCodeConstraintException;
-import org.apache.bcel.verifier.exc.VerifierConstraintViolatedException;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.Repository;
+import org.apache.bcel6_2_0.classfile.JavaClass;
+import org.apache.bcel6_2_0.classfile.Method;
+import org.apache.bcel6_2_0.generic.ConstantPoolGen;
+import org.apache.bcel6_2_0.generic.InstructionHandle;
+import org.apache.bcel6_2_0.generic.JsrInstruction;
+import org.apache.bcel6_2_0.generic.MethodGen;
+import org.apache.bcel6_2_0.generic.ObjectType;
+import org.apache.bcel6_2_0.generic.RET;
+import org.apache.bcel6_2_0.generic.ReferenceType;
+import org.apache.bcel6_2_0.generic.ReturnInstruction;
+import org.apache.bcel6_2_0.generic.ReturnaddressType;
+import org.apache.bcel6_2_0.generic.Type;
+import org.apache.bcel6_2_0.verifier.PassVerifier;
+import org.apache.bcel6_2_0.verifier.VerificationResult;
+import org.apache.bcel6_2_0.verifier.Verifier;
+import org.apache.bcel6_2_0.verifier.exc.AssertionViolatedException;
+import org.apache.bcel6_2_0.verifier.exc.StructuralCodeConstraintException;
+import org.apache.bcel6_2_0.verifier.exc.VerifierConstraintViolatedException;
/**
* This PassVerifier verifies a method of class file according to pass 3,
@@ -112,7 +112,7 @@ public int size() {
/**
* This class should only be instantiated by a Verifier.
*
- * @see org.apache.bcel.verifier.Verifier
+ * @see org.apache.bcel6_2_0.verifier.Verifier
*/
public Pass3bVerifier(final Verifier owner, final int method_no) {
myOwner = owner;
@@ -310,8 +310,8 @@ public void invalidReturnTypeError(final Type returnedType, final MethodGen m) {
* verifier-inferred types and the class file's debug information (LocalVariables
* attributes) match [TODO].
*
- * @see org.apache.bcel.verifier.statics.LocalVariablesInfo
- * @see org.apache.bcel.verifier.statics.Pass2Verifier#getLocalVariablesInfo(int)
+ * @see org.apache.bcel6_2_0.verifier.statics.LocalVariablesInfo
+ * @see org.apache.bcel6_2_0.verifier.statics.Pass2Verifier#getLocalVariablesInfo(int)
*/
@Override
public VerificationResult do_verify() {
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/Subroutine.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/Subroutine.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/Subroutine.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/Subroutine.java
index 363adf2b..50c41309 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/Subroutine.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/Subroutine.java
@@ -15,10 +15,10 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.structurals;
+package org.apache.bcel6_2_0.verifier.structurals;
-import org.apache.bcel.generic.InstructionHandle;
+import org.apache.bcel6_2_0.generic.InstructionHandle;
/**
* This interface defines properties of JVM bytecode subroutines.
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/Subroutines.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/Subroutines.java
similarity index 94%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/Subroutines.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/Subroutines.java
index 21a76348..4b7f7b6e 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/Subroutines.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/Subroutines.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.structurals;
+package org.apache.bcel6_2_0.verifier.structurals;
import java.util.ArrayList;
import java.util.HashMap;
@@ -24,22 +24,22 @@
import java.util.Map;
import java.util.Set;
-import org.apache.bcel.generic.ASTORE;
-import org.apache.bcel.generic.ATHROW;
-import org.apache.bcel.generic.BranchInstruction;
-import org.apache.bcel.generic.CodeExceptionGen;
-import org.apache.bcel.generic.GotoInstruction;
-import org.apache.bcel.generic.IndexedInstruction;
-import org.apache.bcel.generic.Instruction;
-import org.apache.bcel.generic.InstructionHandle;
-import org.apache.bcel.generic.JsrInstruction;
-import org.apache.bcel.generic.LocalVariableInstruction;
-import org.apache.bcel.generic.MethodGen;
-import org.apache.bcel.generic.RET;
-import org.apache.bcel.generic.ReturnInstruction;
-import org.apache.bcel.generic.Select;
-import org.apache.bcel.verifier.exc.AssertionViolatedException;
-import org.apache.bcel.verifier.exc.StructuralCodeConstraintException;
+import org.apache.bcel6_2_0.generic.ASTORE;
+import org.apache.bcel6_2_0.generic.ATHROW;
+import org.apache.bcel6_2_0.generic.BranchInstruction;
+import org.apache.bcel6_2_0.generic.CodeExceptionGen;
+import org.apache.bcel6_2_0.generic.GotoInstruction;
+import org.apache.bcel6_2_0.generic.IndexedInstruction;
+import org.apache.bcel6_2_0.generic.Instruction;
+import org.apache.bcel6_2_0.generic.InstructionHandle;
+import org.apache.bcel6_2_0.generic.JsrInstruction;
+import org.apache.bcel6_2_0.generic.LocalVariableInstruction;
+import org.apache.bcel6_2_0.generic.MethodGen;
+import org.apache.bcel6_2_0.generic.RET;
+import org.apache.bcel6_2_0.generic.ReturnInstruction;
+import org.apache.bcel6_2_0.generic.Select;
+import org.apache.bcel6_2_0.verifier.exc.AssertionViolatedException;
+import org.apache.bcel6_2_0.verifier.exc.StructuralCodeConstraintException;
/**
* Instances of this class contain information about the subroutines
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/UninitializedObjectType.java b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/UninitializedObjectType.java
similarity index 88%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/UninitializedObjectType.java
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/UninitializedObjectType.java
index f83ce9d6..4441fe74 100644
--- a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/UninitializedObjectType.java
+++ b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/UninitializedObjectType.java
@@ -15,13 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.bcel.verifier.structurals;
+package org.apache.bcel6_2_0.verifier.structurals;
-import org.apache.bcel.Const;
-import org.apache.bcel.Constants;
-import org.apache.bcel.generic.ObjectType;
-import org.apache.bcel.generic.ReferenceType;
+import org.apache.bcel6_2_0.Const;
+import org.apache.bcel6_2_0.Constants;
+import org.apache.bcel6_2_0.generic.ObjectType;
+import org.apache.bcel6_2_0.generic.ReferenceType;
/**
* This class represents an uninitialized object type; see The Java
diff --git a/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/package.html b/Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/package.html
similarity index 100%
rename from Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel/verifier/structurals/package.html
rename to Core/org.emftext.language.java.resource.bcel/src-bcel/org/apache/bcel6_2_0/verifier/structurals/package.html
diff --git a/Core/org.emftext.language.java.resource/src/org/emftext/language/java/resource/ClassFileModelLoader.java b/Core/org.emftext.language.java.resource/src/org/emftext/language/java/resource/ClassFileModelLoader.java
index 7dbb0322..2960365c 100755
--- a/Core/org.emftext.language.java.resource/src/org/emftext/language/java/resource/ClassFileModelLoader.java
+++ b/Core/org.emftext.language.java.resource/src/org/emftext/language/java/resource/ClassFileModelLoader.java
@@ -21,11 +21,11 @@
import java.util.Arrays;
import java.util.List;
-import org.apache.bcel.classfile.Attribute;
-import org.apache.bcel.classfile.ClassParser;
-import org.apache.bcel.classfile.JavaClass;
-import org.apache.bcel.classfile.Signature;
-import org.apache.bcel.classfile.Utility;
+import org.apache.bcel6_2_0.classfile.Attribute;
+import org.apache.bcel6_2_0.classfile.ClassParser;
+import org.apache.bcel6_2_0.classfile.JavaClass;
+import org.apache.bcel6_2_0.classfile.Signature;
+import org.apache.bcel6_2_0.classfile.Utility;
import org.eclipse.emf.common.util.BasicEList;
import org.eclipse.emf.common.util.EList;
import org.emftext.language.java.JavaClasspath;
@@ -191,7 +191,7 @@ else if (clazz.isInterface()) {
}
}
- for (org.apache.bcel.classfile.Field field : clazz.getFields()) {
+ for (org.apache.bcel6_2_0.classfile.Field field : clazz.getFields()) {
if (field.isEnum() && emfClassifier instanceof Enumeration) {
((Enumeration)emfClassifier).getConstants().add(constructEnumConstant(field));
}
@@ -200,7 +200,7 @@ else if (clazz.isInterface()) {
}
}
- for (org.apache.bcel.classfile.Method method : clazz.getMethods()) {
+ for (org.apache.bcel6_2_0.classfile.Method method : clazz.getMethods()) {
if (!method.isSynthetic()) {
Member emfMember = constructMethod(method, emfClassifier, false);
//If the last parameter has an array type it could also be a variable length parameter.
@@ -227,7 +227,7 @@ else if (clazz.isInterface()) {
return emfClassifier;
}
- protected Member constructMethod(org.apache.bcel.classfile.Method method, ConcreteClassifier emfClassifier, boolean withVariableLength) {
+ protected Member constructMethod(org.apache.bcel6_2_0.classfile.Method method, ConcreteClassifier emfClassifier, boolean withVariableLength) {
Method emfMethod = null;
if (emfClassifier instanceof Annotation) {
emfMethod = annotationsFactory.createAnnotationAttribute();
@@ -270,7 +270,7 @@ protected Member constructMethod(org.apache.bcel.classfile.Method method, Concre
List parameterNames = extractParameterNames(method);
for(int i = 0; i < method.getArgumentTypes().length; i++) {
- org.apache.bcel.generic.Type argType = method.getArgumentTypes()[i];
+ org.apache.bcel6_2_0.generic.Type argType = method.getArgumentTypes()[i];
String paramName;
if (parameterNames.size() > i) {
paramName = parameterNames.get(i);
@@ -332,7 +332,7 @@ protected Member constructMethod(org.apache.bcel.classfile.Method method, Concre
return (Member) emfMethod;
}
- protected Parameter constructParameter(org.apache.bcel.generic.Type attrType, String paramName) {
+ protected Parameter constructParameter(org.apache.bcel6_2_0.generic.Type attrType, String paramName) {
Parameter emfParameter = parametersFactory.createOrdinaryParameter();
String signature = attrType.getSignature();
TypeReference emfTypeReference = createReferenceToType(signature);
@@ -348,7 +348,7 @@ protected Parameter constructParameter(org.apache.bcel.generic.Type attrType, St
return emfParameter;
}
- protected Parameter constructVariableLengthParameter(org.apache.bcel.generic.Type attrType, String paramName) {
+ protected Parameter constructVariableLengthParameter(org.apache.bcel6_2_0.generic.Type attrType, String paramName) {
Parameter emfParameter = parametersFactory.createVariableLengthParameter();
String signature = attrType.getSignature();
TypeReference emfTypeReference = createReferenceToType(signature);
@@ -364,7 +364,7 @@ protected Parameter constructVariableLengthParameter(org.apache.bcel.generic.Typ
return emfParameter;
}
- protected Field constructField(org.apache.bcel.classfile.Field field, ConcreteClassifier emfClassifier) {
+ protected Field constructField(org.apache.bcel6_2_0.classfile.Field field, ConcreteClassifier emfClassifier) {
Field emfField = membersFactory.createField();
emfField.setName(field.getName());
String signature = field.getType().getSignature();
@@ -403,7 +403,7 @@ protected Field constructField(org.apache.bcel.classfile.Field field, ConcreteCl
return emfField;
}
- protected void constructModifiers(AnnotableAndModifiable emfMember, org.apache.bcel.classfile.AccessFlags member) {
+ protected void constructModifiers(AnnotableAndModifiable emfMember, org.apache.bcel6_2_0.classfile.AccessFlags member) {
ModifiersFactory f = ModifiersFactory.eINSTANCE;
if (member.isAbstract()) {
emfMember.getAnnotationsAndModifiers().add(f.createAbstract());
@@ -447,7 +447,7 @@ protected void constructModifiers(AnnotableAndModifiable emfMember, org.apache.b
}
protected EnumConstant constructEnumConstant(
- org.apache.bcel.classfile.Field field) {
+ org.apache.bcel6_2_0.classfile.Field field) {
EnumConstant enumConstant = membersFactory.createEnumConstant();
enumConstant.setName(field.getName());
@@ -809,7 +809,7 @@ protected int getArrayDimension(String signature) {
return arrayDimension;
}
- protected List extractParameterNames(final org.apache.bcel.classfile.Method method) {
+ protected List extractParameterNames(final org.apache.bcel6_2_0.classfile.Method method) {
final List names = new ArrayList();
if (method.getLocalVariableTable() == null) {
return names;
@@ -818,7 +818,7 @@ protected List extractParameterNames(final org.apache.bcel.classfile.Met
final int start = method.isStatic() ? 0 : 1;
final int stop = method.isStatic() ? method.getArgumentTypes().length
: method.getArgumentTypes().length + 1;
- final org.apache.bcel.classfile.LocalVariable[] variables = method
+ final org.apache.bcel6_2_0.classfile.LocalVariable[] variables = method
.getLocalVariableTable().getLocalVariableTable();
if (variables != null) {
for (int i = start; i < stop && i < variables.length; i++) {