link start!

This commit is contained in:
cherubin
2026-03-17 13:31:18 -07:00
commit 08abe87cfb
5910 changed files with 386288 additions and 0 deletions
@@ -0,0 +1,103 @@
/*
* Decompiled with CFR 0.152.
*/
package com.tridium.asm;
import com.tridium.asm.AttributeInfo;
import com.tridium.asm.Buffer;
import com.tridium.asm.ConstantPool;
import com.tridium.asm.FieldInfo;
import com.tridium.asm.MethodInfo;
import java.util.ArrayList;
/*
* Illegal identifiers - consider using --renameillegalidents true
*/
public class Assembler {
public final int thisClass;
public final int superClass;
public final int[] interfaces;
public final int accessFlags;
public final ConstantPool cp;
private ArrayList fields;
private ArrayList methods;
private ArrayList attributes;
public void addField(FieldInfo fieldInfo) {
this.fields.add(fieldInfo);
}
public void addMethod(MethodInfo methodInfo) {
this.methods.add(methodInfo);
}
public void addAttribute(AttributeInfo attributeInfo) {
this.attributes.add(attributeInfo);
}
public Buffer compile() {
Buffer buffer = new Buffer();
buffer.u4(-889275714);
buffer.u2(3);
buffer.u2(45);
buffer.u2(this.cp.count + 1);
buffer.append(this.cp.buf);
buffer.u2(this.accessFlags);
buffer.u2(this.thisClass);
buffer.u2(this.superClass);
buffer.u2(this.interfaces.length);
int n = 0;
while (n < this.interfaces.length) {
buffer.u2(this.interfaces[n]);
++n;
}
buffer.u2(this.fields.size());
n = 0;
while (n < this.fields.size()) {
((FieldInfo)this.fields.get(n)).compile(buffer);
++n;
}
buffer.u2(this.methods.size());
n = 0;
while (n < this.methods.size()) {
((MethodInfo)this.methods.get(n)).compile(buffer);
++n;
}
buffer.u2(this.attributes.size());
n = 0;
while (n < this.attributes.size()) {
((AttributeInfo)this.attributes.get(n)).compile(buffer);
++n;
}
return buffer;
}
private final /* synthetic */ void this() {
this.cp = new ConstantPool();
this.fields = new ArrayList();
this.methods = new ArrayList();
this.attributes = new ArrayList();
}
public Assembler(String string, String string2, int n, String[] stringArray) {
this.this();
this.thisClass = this.cp.cls(string);
int n2 = 0;
if (string2 != null) {
n2 = this.cp.cls(string2);
}
this.superClass = n2;
this.accessFlags = n;
int n3 = 0;
if (stringArray != null) {
n3 = stringArray.length;
}
this.interfaces = new int[n3];
int n4 = 0;
while (n4 < this.interfaces.length) {
this.interfaces[n4] = this.cp.cls(stringArray[n4]);
++n4;
}
}
}
@@ -0,0 +1,64 @@
/*
* Decompiled with CFR 0.152.
*/
package com.tridium.asm;
import com.tridium.asm.Assembler;
import com.tridium.asm.Buffer;
/*
* Illegal identifiers - consider using --renameillegalidents true
*/
public class AttributeInfo {
private static byte[] EMPTY = new byte[0];
public final Assembler asm;
public final int name;
public byte[] info;
void compile(Buffer buffer) {
buffer.u2(this.name);
buffer.u4(this.info.length);
buffer.append(this.info);
}
private final /* synthetic */ void this() {
this.info = EMPTY;
}
public AttributeInfo(Assembler assembler, int n, byte[] byArray) {
this.this();
this.asm = assembler;
this.name = n;
this.info = byArray;
}
public AttributeInfo(Assembler assembler, String string, byte[] byArray) {
this.this();
this.asm = assembler;
this.name = assembler.cp.utf(string);
this.info = byArray;
}
public AttributeInfo(Assembler assembler, String string, String string2) {
this.this();
this.asm = assembler;
this.name = assembler.cp.utf(string);
int n = assembler.cp.utf(string2);
this.info = new byte[2];
this.info[0] = (byte)(n >>> 8 & 0xFF);
this.info[1] = (byte)(n & 0xFF);
}
public AttributeInfo(Assembler assembler, int n) {
this.this();
this.asm = assembler;
this.name = n;
}
public AttributeInfo(Assembler assembler, String string) {
this.this();
this.asm = assembler;
this.name = assembler.cp.utf(string);
}
}
@@ -0,0 +1,148 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* javax.baja.nre.util.ByteArrayUtil
*/
package com.tridium.asm;
import javax.baja.nre.util.ByteArrayUtil;
public class Buffer {
public byte[] bytes;
public int count;
public final int u1(int n) {
int n2 = this.count;
if (this.count + 1 >= this.bytes.length) {
this.grow(this.count + 1);
}
this.bytes[this.count++] = (byte)(n & 0xFF);
return n2;
}
public final int u2(int n) {
int n2 = this.count;
if (this.count + 2 >= this.bytes.length) {
this.grow(this.count + 2);
}
this.bytes[this.count++] = (byte)(n >>> 8 & 0xFF);
this.bytes[this.count++] = (byte)(n & 0xFF);
return n2;
}
public final int u4(int n) {
int n2 = this.count;
if (this.count + 4 >= this.bytes.length) {
this.grow(this.count + 4);
}
this.bytes[this.count++] = (byte)(n >>> 24 & 0xFF);
this.bytes[this.count++] = (byte)(n >>> 16 & 0xFF);
this.bytes[this.count++] = (byte)(n >>> 8 & 0xFF);
this.bytes[this.count++] = (byte)(n & 0xFF);
return n2;
}
public final int u8(long l) {
int n = this.count;
if (this.count + 8 >= this.bytes.length) {
this.grow(this.count + 8);
}
this.bytes[this.count++] = (byte)(l >>> 56 & 0xFFL);
this.bytes[this.count++] = (byte)(l >>> 48 & 0xFFL);
this.bytes[this.count++] = (byte)(l >>> 40 & 0xFFL);
this.bytes[this.count++] = (byte)(l >>> 32 & 0xFFL);
this.bytes[this.count++] = (byte)(l >>> 24 & 0xFFL);
this.bytes[this.count++] = (byte)(l >>> 16 & 0xFFL);
this.bytes[this.count++] = (byte)(l >>> 8 & 0xFFL);
this.bytes[this.count++] = (byte)(l & 0xFFL);
return n;
}
public final void utf(String string) {
char c;
int n = string.length();
int n2 = 0;
int n3 = 0;
while (n3 < n) {
c = string.charAt(n3);
n2 = c >= '\u0001' && c <= '\u007f' ? ++n2 : (c > '\u07ff' ? (n2 += 3) : (n2 += 2));
++n3;
}
if (n2 > (int)-1) {
throw new RuntimeException("Illegal UTF exception");
}
if (this.count + n2 + 2 >= this.bytes.length) {
this.grow(this.count + n2 + 2);
}
this.bytes[this.count++] = (byte)(n2 >>> 8 & 0xFF);
this.bytes[this.count++] = (byte)(n2 & 0xFF);
n3 = 0;
while (n3 < n) {
c = string.charAt(n3);
if (c >= '\u0001' && c <= '\u007f') {
this.bytes[this.count++] = (byte)c;
} else if (c > '\u07ff') {
this.bytes[this.count++] = (byte)(0xE0 | c >> 12 & 0xF);
this.bytes[this.count++] = (byte)(0x80 | c >> 6 & 0x3F);
this.bytes[this.count++] = (byte)(0x80 | c & 0x3F);
} else {
this.bytes[this.count++] = (byte)(0xC0 | c >> 6 & 0x1F);
this.bytes[this.count++] = (byte)(0x80 | c & 0x3F);
}
++n3;
}
}
public void append(Buffer buffer) {
if (this.count + buffer.count >= this.bytes.length) {
this.grow(this.count + buffer.count);
}
System.arraycopy(buffer.bytes, 0, this.bytes, this.count, buffer.count);
this.count += buffer.count;
}
public void append(byte[] byArray) {
if (this.count + byArray.length >= this.bytes.length) {
this.grow(this.count + byArray.length);
}
System.arraycopy(byArray, 0, this.bytes, this.count, byArray.length);
this.count += byArray.length;
}
public final void u1(int n, int n2) {
this.bytes[n] = (byte)(n2 & 0xFF);
}
public final void u2(int n, int n2) {
this.bytes[n] = (byte)(n2 >>> 8 & 0xFF);
this.bytes[n + 1] = (byte)(n2 & 0xFF);
}
public final void u4(int n, int n2) {
this.bytes[n] = (byte)(n2 >>> 24 & 0xFF);
this.bytes[n + 1] = (byte)(n2 >>> 16 & 0xFF);
this.bytes[n + 2] = (byte)(n2 >>> 8 & 0xFF);
this.bytes[n + 3] = (byte)(n2 & 0xFF);
}
public void dump() {
ByteArrayUtil.hexDump((byte[])this.bytes, (int)0, (int)this.count);
}
private final void grow(int n) {
int n2 = Math.max(n, this.bytes.length * 2);
byte[] byArray = new byte[n2];
System.arraycopy(this.bytes, 0, byArray, 0, this.bytes.length);
this.bytes = byArray;
}
public Buffer() {
this(1024);
}
public Buffer(int n) {
this.bytes = new byte[n];
}
}
@@ -0,0 +1,144 @@
/*
* Decompiled with CFR 0.152.
*/
package com.tridium.asm;
import com.tridium.asm.Assembler;
import com.tridium.asm.AttributeInfo;
import com.tridium.asm.Buffer;
import com.tridium.asm.ConstantPool;
import com.tridium.asm.Jvm;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
/*
* Illegal identifiers - consider using --renameillegalidents true
*/
public class Code
extends AttributeInfo {
public final ConstantPool cp;
public int maxStack;
public int maxLocals;
public Buffer code;
public int add(int n) {
if (Jvm.OPCODE_ARGS[n] != 0) {
throw new IllegalStateException("Opcode requires arguments: " + n);
}
return this.code.u1(n);
}
public int add(int n, int n2) {
int n3 = this.code.count;
if (n == 18) {
if (n2 < 255) {
this.code.u1(18);
this.code.u1(n2);
} else {
this.code.u1(19);
this.code.u2(n2);
}
return n3;
}
byte by = Jvm.OPCODE_ARGS[n];
this.code.u1(n);
if (by == 1) {
this.code.u1(n2);
} else if (by == 2) {
this.code.u2(n2);
} else {
throw new IllegalStateException("Opcode does not take u1 or u2 args: " + n);
}
return n3;
}
public int addIntConst(int n) {
switch (n) {
case -1: {
return this.add(2);
}
case 0: {
return this.add(3);
}
case 1: {
return this.add(4);
}
case 2: {
return this.add(5);
}
case 3: {
return this.add(6);
}
case 4: {
return this.add(7);
}
case 5: {
return this.add(8);
}
}
if (-128 <= n && n <= 127) {
return this.add(16, n);
}
if (Short.MIN_VALUE <= n && n <= Short.MAX_VALUE) {
return this.add(17, n);
}
return this.add(18, this.cp.integer(n));
}
public int addPad(int n) {
int n2 = this.code.u1(n);
int n3 = 3 - n2 % 4;
int n4 = 0;
while (n4 < n3) {
this.code.u1(0);
++n4;
}
return n2;
}
public int invoke(Method method) {
int n = this.cp.method(method);
int n2 = method.getModifiers();
if (Modifier.isInterface(n2)) {
return this.invokeInterface(n, method.getParameterTypes().length + 1);
}
if (Modifier.isStatic(n2)) {
return this.add(184, n);
}
return this.add(182, n);
}
public int invokeInterface(int n, int n2) {
int n3 = this.code.count;
this.code.u1(185);
this.code.u2(n);
this.code.u1(n2);
this.code.u1(0);
return n3;
}
void compile(Buffer buffer) {
int n = 8 + this.code.count + 4;
buffer.u2(this.name);
buffer.u4(n);
buffer.u2(this.maxStack);
buffer.u2(this.maxLocals);
buffer.u4(this.code.count);
buffer.append(this.code);
buffer.u2(0);
buffer.u2(0);
}
private final /* synthetic */ void this() {
this.maxStack = 10;
this.maxLocals = 10;
this.code = new Buffer(512);
}
public Code(Assembler assembler) {
super(assembler, "Code");
this.this();
this.cp = assembler.cp;
}
}
@@ -0,0 +1,244 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* javax.baja.nre.util.IntHashMap
*/
package com.tridium.asm;
import com.tridium.asm.Buffer;
import com.tridium.asm.FieldInfo;
import com.tridium.asm.Jvm;
import java.lang.reflect.Method;
import java.util.Hashtable;
import javax.baja.nre.util.IntHashMap;
/*
* Illegal identifiers - consider using --renameillegalidents true
*/
public class ConstantPool {
Buffer buf;
int count;
Hashtable utfTable;
Hashtable classTable;
Hashtable stringTable;
Hashtable floatTable;
Hashtable doubleTable;
Hashtable longTable;
IntHashMap integerTable;
IntHashMap ntTable;
IntHashMap fieldTable;
IntHashMap methodTable;
IntHashMap ifaceTable;
public int utf(String string) {
Integer n = (Integer)this.utfTable.get(string);
if (n != null) {
return n;
}
this.buf.u1(1);
this.buf.utf(string);
++this.count;
this.utfTable.put(string, new Integer(this.count));
return this.count;
}
public int cls(String string) {
Integer n = (Integer)this.classTable.get(string);
if (n != null) {
return n;
}
int n2 = this.utf(string);
this.buf.u1(7);
this.buf.u2(n2);
++this.count;
this.classTable.put(string, new Integer(this.count));
return this.count;
}
public int string(String string) {
Integer n = (Integer)this.stringTable.get(string);
if (n != null) {
return n;
}
int n2 = this.utf(string);
this.buf.u1(8);
this.buf.u2(n2);
++this.count;
this.stringTable.put(string, new Integer(this.count));
return this.count;
}
public int integer(int n) {
Integer n2 = (Integer)this.integerTable.get(n);
if (n2 != null) {
return n2;
}
this.buf.u1(3);
this.buf.u4(n);
++this.count;
this.integerTable.put(n, (Object)new Integer(this.count));
return this.count;
}
public int floatConst(float f) {
Float f2 = new Float(f);
Integer n = (Integer)this.floatTable.get(f2);
if (n != null) {
return n;
}
this.buf.u1(4);
this.buf.u4(Float.floatToIntBits(f));
++this.count;
this.floatTable.put(f2, new Integer(this.count));
return this.count;
}
public int doubleConst(double d) {
Double d2 = new Double(d);
Integer n = (Integer)this.doubleTable.get(d2);
if (n != null) {
return n;
}
this.buf.u1(6);
this.buf.u8(Double.doubleToLongBits(d));
++this.count;
this.doubleTable.put(d2, new Integer(this.count));
++this.count;
return this.count - 1;
}
public int longConst(long l) {
Long l2 = new Long(l);
Integer n = (Integer)this.longTable.get(l2);
if (n != null) {
return n;
}
this.buf.u1(5);
this.buf.u8(l);
++this.count;
this.longTable.put(l2, new Integer(this.count));
++this.count;
return this.count - 1;
}
public int nt(int n, int n2) {
int n3 = n << 16 | n2;
Integer n4 = (Integer)this.fieldTable.get(n3);
if (n4 != null) {
return n4;
}
this.buf.u1(12);
this.buf.u2(n);
this.buf.u2(n2);
++this.count;
this.ntTable.put(n3, (Object)new Integer(this.count));
return this.count;
}
public int field(int n, int n2) {
int n3 = n << 16 | n2;
Integer n4 = (Integer)this.fieldTable.get(n3);
if (n4 != null) {
return n4;
}
this.buf.u1(9);
this.buf.u2(n);
this.buf.u2(n2);
++this.count;
this.fieldTable.put(n3, (Object)new Integer(this.count));
return this.count;
}
public int method(int n, int n2) {
int n3 = n << 16 | n2;
Integer n4 = (Integer)this.methodTable.get(n3);
if (n4 != null) {
return n4;
}
this.buf.u1(10);
this.buf.u2(n);
this.buf.u2(n2);
++this.count;
this.methodTable.put(n3, (Object)new Integer(this.count));
return this.count;
}
public int iface(int n, int n2) {
int n3 = n << 16 | n2;
Integer n4 = (Integer)this.ifaceTable.get(n3);
if (n4 != null) {
return n4;
}
this.buf.u1(11);
this.buf.u2(n);
this.buf.u2(n2);
++this.count;
this.ifaceTable.put(n3, (Object)new Integer(this.count));
return this.count;
}
public int cls(Class clazz) {
return this.cls(clazz.getName().replace('.', '/'));
}
public int nt(int n, String string) {
return this.nt(n, this.utf(string));
}
public int nt(String string, String string2) {
return this.nt(this.utf(string), this.utf(string2));
}
public int method(int n, int n2, String string) {
return this.method(n, this.nt(n2, string));
}
public int method(int n, String string, String string2) {
return this.method(n, this.nt(string, string2));
}
public int method(Method method) {
int n = this.cls(method.getDeclaringClass());
int n2 = this.utf(method.getName());
int n3 = this.utf(Jvm.methodDescriptor(method.getParameterTypes(), method.getReturnType()));
return this.method(n, this.nt(n2, n3));
}
public int iface(int n, String string, String string2) {
return this.iface(n, this.nt(string, string2));
}
public int field(int n, int n2, String string) {
return this.field(n, this.nt(n2, string));
}
public int field(int n, String string, String string2) {
return this.field(n, this.nt(string, string2));
}
public int field(FieldInfo fieldInfo) {
return this.field(fieldInfo.asm.thisClass, this.nt(fieldInfo.name, fieldInfo.type));
}
private final /* synthetic */ void this() {
this.buf = new Buffer();
this.count = 0;
this.utfTable = new Hashtable();
this.classTable = new Hashtable();
this.stringTable = new Hashtable();
this.floatTable = new Hashtable();
this.doubleTable = new Hashtable();
this.longTable = new Hashtable();
this.integerTable = new IntHashMap();
this.ntTable = new IntHashMap();
this.fieldTable = new IntHashMap();
this.methodTable = new IntHashMap();
this.ifaceTable = new IntHashMap();
}
public ConstantPool() {
this.this();
}
}
@@ -0,0 +1,19 @@
/*
* Decompiled with CFR 0.152.
*/
package com.tridium.asm;
import com.tridium.asm.Assembler;
import com.tridium.asm.MemberInfo;
public class FieldInfo
extends MemberInfo {
public FieldInfo(Assembler assembler, int n, int n2, int n3) {
super(assembler, n, n2, n3);
}
public FieldInfo(Assembler assembler, String string, String string2, int n) {
super(assembler, string, string2, n);
}
}
+175
View File
@@ -0,0 +1,175 @@
/*
* Decompiled with CFR 0.152.
*/
package com.tridium.asm;
import com.tridium.asm.OpCodes;
public final class Jvm
implements OpCodes {
public static final int MAGIC = -889275714;
public static final int MINOR_VERSION = 3;
public static final int MAJOR_VERSION = 45;
public static final int ACC_PUBLIC = 1;
public static final int ACC_PRIVATE = 2;
public static final int ACC_PROTECTED = 4;
public static final int ACC_STATIC = 8;
public static final int ACC_FINAL = 16;
public static final int ACC_SUPER = 32;
public static final int ACC_SYNCHRONIZED = 32;
public static final int ACC_VOLATILE = 64;
public static final int ACC_TRANSIENT = 128;
public static final int ACC_NATIVE = 256;
public static final int ACC_INTERFACE = 512;
public static final int ACC_ABSTRACT = 1024;
public static final int CONSTANT_Utf8 = 1;
public static final int CONSTANT_Integer = 3;
public static final int CONSTANT_Float = 4;
public static final int CONSTANT_Long = 5;
public static final int CONSTANT_Double = 6;
public static final int CONSTANT_Class = 7;
public static final int CONSTANT_String = 8;
public static final int CONSTANT_Fieldref = 9;
public static final int CONSTANT_Methodref = 10;
public static final int CONSTANT_InterfaceMethodref = 11;
public static final int CONSTANT_NameAndType = 12;
public static final String ATTR_SOURCE_FILE = "SourceFile";
public static final String ATTR_CONSTANT_VALUE = "ConstantValue";
public static final String ATTR_CODE = "Code";
public static final String ATTR_EXCEPTIONS = "Exceptions";
public static final String ATTR_LINE_NUMBER_TABLE = "LineNumberTable";
public static final String ATTR_DEPRECATED = "Deprecated";
public static final String ATTR_INNER_CLASSES = "InnerClasses";
public static final String ATTR_SYNTHETIC = "Synthetic";
public static final String ATTR_LOCAL_VARIABLE_TABLE = "LocalVariableTable";
public static final String ATTR_ENCLOSING_METHOD = "EnclosingMethod";
public static final String ATTR_SIGNATURE = "Signature";
public static final String ATTR_RUNTIME_VISIBLE_ANNOTATIONS = "RuntimeVisibleAnnotations";
public static final int T_BOOLEAN = 4;
public static final int T_CHAR = 5;
public static final int T_FLOAT = 6;
public static final int T_DOUBLE = 7;
public static final int T_BYTE = 8;
public static final int T_SHORT = 9;
public static final int T_INT = 10;
public static final int T_LONG = 11;
public static final byte NONE = 0;
public static final byte U1 = 1;
public static final byte U2 = 2;
public static final byte B2 = 3;
public static final byte B4 = 4;
public static final byte SPECIAL = 5;
public static final byte[] OPCODE_ARGS;
public static final String[] OPCODE_STRINGS;
public static final String fieldDescriptor(Class clazz) {
if (clazz.isPrimitive()) {
if (clazz.equals(Byte.TYPE)) {
return "B";
}
if (clazz.equals(Character.TYPE)) {
return "C";
}
if (clazz.equals(Double.TYPE)) {
return "D";
}
if (clazz.equals(Float.TYPE)) {
return "F";
}
if (clazz.equals(Integer.TYPE)) {
return "I";
}
if (clazz.equals(Long.TYPE)) {
return "J";
}
if (clazz.equals(Short.TYPE)) {
return "S";
}
if (clazz.equals(Boolean.TYPE)) {
return "Z";
}
if (clazz.equals(Void.TYPE)) {
return "V";
}
throw new IllegalStateException();
}
if (clazz.isArray()) {
return "[" + Jvm.fieldDescriptor(clazz.getComponentType());
}
return "L" + clazz.getName().replace('.', '/') + ';';
}
public static final String methodDescriptor(Class[] classArray, Class clazz) {
StringBuffer stringBuffer = new StringBuffer("(");
if (classArray != null) {
int n = 0;
while (n < classArray.length) {
stringBuffer.append(Jvm.fieldDescriptor(classArray[n]));
++n;
}
}
stringBuffer.append(")").append(Jvm.fieldDescriptor(clazz));
return stringBuffer.toString();
}
static {
byte[] byArray = new byte[202];
byArray[16] = 5;
byArray[17] = 5;
byArray[18] = 1;
byArray[19] = 2;
byArray[20] = 2;
byArray[21] = 1;
byArray[22] = 1;
byArray[23] = 1;
byArray[24] = 1;
byArray[25] = 1;
byArray[54] = 1;
byArray[55] = 1;
byArray[56] = 1;
byArray[57] = 1;
byArray[58] = 1;
byArray[132] = 5;
byArray[153] = 3;
byArray[154] = 3;
byArray[155] = 3;
byArray[156] = 3;
byArray[157] = 3;
byArray[158] = 3;
byArray[159] = 3;
byArray[160] = 3;
byArray[161] = 3;
byArray[162] = 3;
byArray[163] = 3;
byArray[164] = 3;
byArray[165] = 3;
byArray[166] = 3;
byArray[167] = 3;
byArray[168] = 3;
byArray[169] = 1;
byArray[170] = 5;
byArray[171] = 5;
byArray[178] = 2;
byArray[179] = 2;
byArray[180] = 2;
byArray[181] = 2;
byArray[182] = 2;
byArray[183] = 2;
byArray[184] = 2;
byArray[185] = 5;
byArray[187] = 2;
byArray[188] = 1;
byArray[189] = 2;
byArray[192] = 2;
byArray[193] = 2;
byArray[196] = 5;
byArray[197] = 5;
byArray[198] = 3;
byArray[199] = 3;
byArray[200] = 4;
byArray[201] = 4;
OPCODE_ARGS = byArray;
OPCODE_STRINGS = new String[]{"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_ACMPNU", "GOTO", "JSR", "RET", "TABLESWITCH", "LOOKUPSWITCH", "IRETURN", "LRETURN", "FRETURN", "DRETURN", "ARETURN", "RETURN", "GETSTATIC", "PUTSTATIC", "GETFIELD", "PUTFIELD", "INVOKEVIRTUAL", "INVOKESPECIAL", "INVOKESTATIC", "INVOKEINTERFACE=", "XXX_UNUSED_XXX", "NEW", "NEWARRAY", "ANEWARRAY", "ARRAYLENGTH", "ATHROW", "CHECKCAST", "INSTANCEOF", "MONITORENTER", "MONITOREXIT", "WIDE", "MULTIANEWARRAY", "IFNULL", "IFNONNULL", "GOTO_W", "JSR_W"};
}
}
@@ -0,0 +1,68 @@
/*
* Decompiled with CFR 0.152.
*/
package com.tridium.asm;
import com.tridium.asm.Assembler;
import com.tridium.asm.AttributeInfo;
import com.tridium.asm.Buffer;
import com.tridium.asm.ConstantPool;
import java.util.ArrayList;
public abstract class MemberInfo {
public final Assembler asm;
public final ConstantPool cp;
public final int name;
public final int type;
public final int accessFlags;
ArrayList attributes;
public void addAttribute(AttributeInfo attributeInfo) {
if (this.attributes == null) {
this.attributes = new ArrayList(5);
}
this.attributes.add(attributeInfo);
}
void compile(Buffer buffer) {
int n = 0;
if (this.attributes != null) {
n = this.attributes.size();
}
int n2 = n;
buffer.u2(this.accessFlags);
buffer.u2(this.name);
buffer.u2(this.type);
buffer.u2(n2);
int n3 = 0;
while (n3 < n2) {
((AttributeInfo)this.attributes.get(n3)).compile(buffer);
++n3;
}
}
MemberInfo(Assembler assembler, int n, int n2, int n3) {
this.asm = assembler;
this.cp = assembler.cp;
this.name = n;
this.type = n2;
this.accessFlags = n3;
}
MemberInfo(Assembler assembler, String string, String string2, int n) {
this.asm = assembler;
this.cp = assembler.cp;
this.name = this.cp.utf(string);
this.type = this.cp.utf(string2);
this.accessFlags = n;
}
MemberInfo(Assembler assembler, int n, String string, int n2) {
this.asm = assembler;
this.cp = assembler.cp;
this.name = n;
this.type = this.cp.utf(string);
this.accessFlags = n2;
}
}
@@ -0,0 +1,35 @@
/*
* Decompiled with CFR 0.152.
*/
package com.tridium.asm;
import com.tridium.asm.Assembler;
import com.tridium.asm.Code;
import com.tridium.asm.MemberInfo;
public class MethodInfo
extends MemberInfo {
public MethodInfo(Assembler assembler, int n, int n2, int n3) {
super(assembler, n, n2, n3);
}
public MethodInfo(Assembler assembler, String string, String string2, int n) {
super(assembler, string, string2, n);
}
public MethodInfo(Assembler assembler, int n, int n2, int n3, Code code) {
super(assembler, n, n2, n3);
this.addAttribute(code);
}
public MethodInfo(Assembler assembler, int n, String string, int n2, Code code) {
super(assembler, n, string, n2);
this.addAttribute(code);
}
public MethodInfo(Assembler assembler, String string, String string2, int n, Code code) {
super(assembler, string, string2, n);
this.addAttribute(code);
}
}
@@ -0,0 +1,210 @@
/*
* Decompiled with CFR 0.152.
*/
package com.tridium.asm;
public interface OpCodes {
public static final int NOP = 0;
public static final int ACONST_NULL = 1;
public static final int ICONST_M1 = 2;
public static final int ICONST_0 = 3;
public static final int ICONST_1 = 4;
public static final int ICONST_2 = 5;
public static final int ICONST_3 = 6;
public static final int ICONST_4 = 7;
public static final int ICONST_5 = 8;
public static final int LCONST_0 = 9;
public static final int LCONST_1 = 10;
public static final int FCONST_0 = 11;
public static final int FCONST_1 = 12;
public static final int FCONST_2 = 13;
public static final int DCONST_0 = 14;
public static final int DCONST_1 = 15;
public static final int BIPUSH = 16;
public static final int SIPUSH = 17;
public static final int LDC = 18;
public static final int LDC_W = 19;
public static final int LDC2_W = 20;
public static final int ILOAD = 21;
public static final int LLOAD = 22;
public static final int FLOAD = 23;
public static final int DLOAD = 24;
public static final int ALOAD = 25;
public static final int ILOAD_0 = 26;
public static final int ILOAD_1 = 27;
public static final int ILOAD_2 = 28;
public static final int ILOAD_3 = 29;
public static final int LLOAD_0 = 30;
public static final int LLOAD_1 = 31;
public static final int LLOAD_2 = 32;
public static final int LLOAD_3 = 33;
public static final int FLOAD_0 = 34;
public static final int FLOAD_1 = 35;
public static final int FLOAD_2 = 36;
public static final int FLOAD_3 = 37;
public static final int DLOAD_0 = 38;
public static final int DLOAD_1 = 39;
public static final int DLOAD_2 = 40;
public static final int DLOAD_3 = 41;
public static final int ALOAD_0 = 42;
public static final int ALOAD_1 = 43;
public static final int ALOAD_2 = 44;
public static final int ALOAD_3 = 45;
public static final int IALOAD = 46;
public static final int LALOAD = 47;
public static final int FALOAD = 48;
public static final int DALOAD = 49;
public static final int AALOAD = 50;
public static final int BALOAD = 51;
public static final int CALOAD = 52;
public static final int SALOAD = 53;
public static final int ISTORE = 54;
public static final int LSTORE = 55;
public static final int FSTORE = 56;
public static final int DSTORE = 57;
public static final int ASTORE = 58;
public static final int ISTORE_0 = 59;
public static final int ISTORE_1 = 60;
public static final int ISTORE_2 = 61;
public static final int ISTORE_3 = 62;
public static final int LSTORE_0 = 63;
public static final int LSTORE_1 = 64;
public static final int LSTORE_2 = 65;
public static final int LSTORE_3 = 66;
public static final int FSTORE_0 = 67;
public static final int FSTORE_1 = 68;
public static final int FSTORE_2 = 69;
public static final int FSTORE_3 = 70;
public static final int DSTORE_0 = 71;
public static final int DSTORE_1 = 72;
public static final int DSTORE_2 = 73;
public static final int DSTORE_3 = 74;
public static final int ASTORE_0 = 75;
public static final int ASTORE_1 = 76;
public static final int ASTORE_2 = 77;
public static final int ASTORE_3 = 78;
public static final int IASTORE = 79;
public static final int LASTORE = 80;
public static final int FASTORE = 81;
public static final int DASTORE = 82;
public static final int AASTORE = 83;
public static final int BASTORE = 84;
public static final int CASTORE = 85;
public static final int SASTORE = 86;
public static final int POP = 87;
public static final int POP2 = 88;
public static final int DUP = 89;
public static final int DUP_X1 = 90;
public static final int DUP_X2 = 91;
public static final int DUP2 = 92;
public static final int DUP2_X1 = 93;
public static final int DUP2_X2 = 94;
public static final int SWAP = 95;
public static final int IADD = 96;
public static final int LADD = 97;
public static final int FADD = 98;
public static final int DADD = 99;
public static final int ISUB = 100;
public static final int LSUB = 101;
public static final int FSUB = 102;
public static final int DSUB = 103;
public static final int IMUL = 104;
public static final int LMUL = 105;
public static final int FMUL = 106;
public static final int DMUL = 107;
public static final int IDIV = 108;
public static final int LDIV = 109;
public static final int FDIV = 110;
public static final int DDIV = 111;
public static final int IREM = 112;
public static final int LREM = 113;
public static final int FREM = 114;
public static final int DREM = 115;
public static final int INEG = 116;
public static final int LNEG = 117;
public static final int FNEG = 118;
public static final int DNEG = 119;
public static final int ISHL = 120;
public static final int LSHL = 121;
public static final int ISHR = 122;
public static final int LSHR = 123;
public static final int IUSHR = 124;
public static final int LUSHR = 125;
public static final int IAND = 126;
public static final int LAND = 127;
public static final int IOR = 128;
public static final int LOR = 129;
public static final int IXOR = 130;
public static final int LXOR = 131;
public static final int IINC = 132;
public static final int I2L = 133;
public static final int I2F = 134;
public static final int I2D = 135;
public static final int L2I = 136;
public static final int L2F = 137;
public static final int L2D = 138;
public static final int F2I = 139;
public static final int F2L = 140;
public static final int F2D = 141;
public static final int D2I = 142;
public static final int D2L = 143;
public static final int D2F = 144;
public static final int I2B = 145;
public static final int I2C = 146;
public static final int I2S = 147;
public static final int LCMP = 148;
public static final int FCMPL = 149;
public static final int FCMPG = 150;
public static final int DCMPL = 151;
public static final int DCMPG = 152;
public static final int IFEQ = 153;
public static final int IFNE = 154;
public static final int IFLT = 155;
public static final int IFGE = 156;
public static final int IFGT = 157;
public static final int IFLE = 158;
public static final int IF_ICMPEQ = 159;
public static final int IF_ICMPNE = 160;
public static final int IF_ICMPLT = 161;
public static final int IF_ICMPGE = 162;
public static final int IF_ICMPGT = 163;
public static final int IF_ICMPLE = 164;
public static final int IF_ACMPEQ = 165;
public static final int IF_ACMPNU = 166;
public static final int GOTO = 167;
public static final int JSR = 168;
public static final int RET = 169;
public static final int TABLESWITCH = 170;
public static final int LOOKUPSWITCH = 171;
public static final int IRETURN = 172;
public static final int LRETURN = 173;
public static final int FRETURN = 174;
public static final int DRETURN = 175;
public static final int ARETURN = 176;
public static final int RETURN = 177;
public static final int GETSTATIC = 178;
public static final int PUTSTATIC = 179;
public static final int GETFIELD = 180;
public static final int PUTFIELD = 181;
public static final int INVOKEVIRTUAL = 182;
public static final int INVOKESPECIAL = 183;
public static final int INVOKESTATIC = 184;
public static final int INVOKEINTERFACE = 185;
public static final int XXX_UNUSED_XXX = 186;
public static final int NEW = 187;
public static final int NEWARRAY = 188;
public static final int ANEWARRAY = 189;
public static final int ARRAYLENGTH = 190;
public static final int ATHROW = 191;
public static final int CHECKCAST = 192;
public static final int INSTANCEOF = 193;
public static final int MONITORENTER = 194;
public static final int MONITOREXIT = 195;
public static final int WIDE = 196;
public static final int MULTIANEWARRAY = 197;
public static final int IFNULL = 198;
public static final int IFNONNULL = 199;
public static final int GOTO_W = 200;
public static final int JSR_W = 201;
}