Mirror of the JODE repository
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
jode/jode/sun.tools.java.src

7192 lines
312 KiB

/* Original source: AmbiguousClass.java */
public class AmbiguousClass
extends sun.tools.java.ClassNotFound
{
public sun.tools.java.Identifier name1;
public sun.tools.java.Identifier name2;
public sun.tools.java.AmbiguousClass(sun.tools.java.Identifier local_1__2, sun.tools.java.Identifier local_2__0) {
super(local_1__2.getName());
name1 = local_1__2;
name2 = local_2__0;
return;
}
}
/* Original source: AmbiguousField.java */
public class AmbiguousField
extends java.lang.Exception
{
public sun.tools.java.FieldDefinition field1;
public sun.tools.java.FieldDefinition field2;
public sun.tools.java.AmbiguousField(sun.tools.java.FieldDefinition local_1__5, sun.tools.java.FieldDefinition local_2__3) {
super("" + local_1__5.name + " + " + local_2__3.name);
field1 = local_1__5;
field2 = local_2__3;
return;
}
}
/* Original source: ArrayType.java */
public final class ArrayType
extends sun.tools.java.Type
{
sun.tools.java.Type elemType;
sun.tools.java.ArrayType(java.lang.String local_1__8, sun.tools.java.Type local_2__6) {
super(9, local_1__8);
elemType = local_2__6;
return;
}
public sun.tools.java.Type getElementType() {
return elemType;
}
public int getArrayDimension() {
return elemType.getArrayDimension() + 1;
}
public java.lang.String typeString(java.lang.String local_1__13, boolean local_2__12, boolean local_3__11) {
return "" + elemType.typeString(local_1__13, local_2__12, local_3__11) + "[]";
}
}
/* Original source: BinaryAttribute.java */
public final class BinaryAttribute
extends java.lang.Object
implements sun.tools.java.Constants {
sun.tools.java.Identifier name;
byte data[];
sun.tools.java.BinaryAttribute next;
sun.tools.java.BinaryAttribute(sun.tools.java.Identifier local_1__18, byte local_2__17[], sun.tools.java.BinaryAttribute local_3__15) {
super();
name = local_1__18;
data = local_2__17;
next = local_3__15;
return;
}
public static sun.tools.java.BinaryAttribute load(java.io.DataInputStream local_0__25, sun.tools.java.BinaryConstantPool local_1__29, int local_2__27) {
short local_4__20;
short local_5__21;
sun.tools.java.BinaryAttribute local_3__22;
byte local_8__23[];
sun.tools.java.Identifier local_6__24;
<java.lang.Object-sun.tools.java.Identifier>local_8__28;
int local_7__30;
local_3__22 = "null";
local_4__20 = local_0__25.readShort();
local_5__21 = 0;
goto addr_94
addr_14: local_6__24 = local_1__29.getIdentifier(local_0__25.readShort());
local_7__30 = local_0__25.readInt();
local_8__28 = sun.tools.java.Constants.idCode;
if (local_6__24 != local_8__28 && !false || (local_2__27 & 1) != 0) goto addr_62
local_0__25.skipBytes(local_7__30);
goto addr_91
addr_62: local_8__23 = new byte[local_7__30];
local_0__25.readFully(local_8__23, 0, local_8__23.length);
local_3__22 = new sun.tools.java.BinaryAttribute(local_6__24, local_8__23, local_3__22);
addr_91: local_5__21 += 1;
addr_94: if (local_5__21 < local_4__20) goto addr_14
return local_3__22;
}
static void write(sun.tools.java.BinaryAttribute local_0__38, java.io.DataOutputStream local_1__34, sun.tools.java.BinaryConstantPool local_2__37, sun.tools.java.Environment local_3__35) {
sun.tools.java.BinaryAttribute local_6__32;
byte local_8__33[];
sun.tools.java.Identifier local_7__36;
int local_4__39;
sun.tools.java.BinaryAttribute local_5__41;
local_4__39 = 0;
local_5__41 = local_0__38;
goto addr_19
addr_9: local_4__39 += 1;
local_5__41 = local_5__41.next;
addr_19: if (local_5__41 != 0) goto addr_9
local_1__34.writeShort(local_4__39);
local_6__32 = local_0__38;
goto addr_88
addr_36: local_7__36 = local_6__32.name;
local_8__33 = local_6__32.data;
local_1__34.writeShort(local_2__37.indexString(local_7__36.name, local_3__35));
local_1__34.writeInt(local_8__33.length);
local_1__34.write(local_8__33, 0, local_8__33.length);
local_6__32 = local_6__32.next;
addr_88: if (local_6__32 != 0) goto addr_36
return;
}
public sun.tools.java.Identifier getName() {
return name;
}
public byte[] getData() {
return data;
}
public sun.tools.java.BinaryAttribute getNextAttribute() {
return next;
}
}
/* Original source: BinaryClass.java */
public final class BinaryClass
extends sun.tools.java.ClassDefinition
implements sun.tools.java.Constants {
sun.tools.java.BinaryConstantPool cpool;
sun.tools.java.BinaryAttribute atts;
java.util.Vector dependencies;
public sun.tools.java.BinaryClass(java.lang.Object local_1__51, sun.tools.java.ClassDeclaration local_2__50, int local_3__49, sun.tools.java.ClassDeclaration local_4__47, sun.tools.java.ClassDeclaration local_5__45[], java.util.Vector local_6__48) {
super(local_1__51, 0, local_2__50, local_3__49, null, null);
dependencies = local_6__48;
superClass = local_4__47;
interfaces = local_5__45;
return;
}
public static sun.tools.java.BinaryClass load(sun.tools.java.Environment local_0__53, java.io.DataInputStream local_1__52) {
return load(local_0__53, local_1__52, -2);
}
public static sun.tools.java.BinaryClass load(sun.tools.java.Environment local_0__81, java.io.DataInputStream local_1__60, int local_2__59) {
sun.tools.java.BinaryClass local_12__54;
<java.io.DataInput-java.io.DataInputStream>local_18__55;
byte local_17__56[];
byte local_17__57[];
sun.tools.java.BinaryConstantPool local_5__58;
short local_15__61;
short local_16__62;
sun.tools.java.BinaryAttribute local_20__63;
sun.tools.java.Identifier local_18__64;
sun.tools.java.Type local_19__65;
short local_17__66;
short local_13__67;
short local_14__68;
sun.tools.java.BinaryAttribute local_18__69;
sun.tools.java.Identifier local_16__70;
sun.tools.java.Type local_17__71;
short local_15__72;
sun.tools.java.ClassDeclaration local_9__73;
<java.lang.Object-sun.tools.java.ClassDeclaration>local_14__74;
java.util.Vector local_13__75;
java.util.Vector local_6__76;
<null-null>local_10__77[];
short local_7__78;
sun.tools.java.ClassDeclaration local_8__79;
int local_11__80;
short local_4__84;
int local_3__85;
local_3__85 = local_1__60.readInt();
if (local_3__85 == -889275714) goto addr_45
throw new java.lang.ClassFormatError("wrong magic: " + local_3__85 + ", expected " + -889275714);
addr_45: local_1__60.readShort();
local_4__84 = local_1__60.readShort();
if (local_4__84 == 45) goto addr_98
throw new java.lang.ClassFormatError("wrong version: " + local_4__84 + ", expected " + 45);
addr_98: local_5__58 = new sun.tools.java.BinaryConstantPool(local_1__60);
local_6__76 = local_5__58.getDependencies(local_0__81);
local_7__78 = local_1__60.readShort() & 1585;
local_8__79 = local_5__58.getDeclaration(local_0__81, local_1__60.readShort());
local_9__73 = local_5__58.getDeclaration(local_0__81, local_1__60.readShort());
local_10__77 = new sun.tools.java.ClassDeclaration[local_1__60.readShort()];
local_11__80 = 0;
goto addr_183
addr_165: local_10__77[local_11__80] = local_5__58.getDeclaration(local_0__81, local_1__60.readShort());
local_11__80 += 1;
addr_183: if (local_11__80 < local_10__77.length) goto addr_165
local_12__54 = new sun.tools.java.BinaryClass("null", local_8__79, local_7__78, local_9__73, local_10__77, local_6__76);
local_12__54.cpool = local_5__58;
if (local_9__73 == 0) goto addr_259
local_13__75 = local_12__54.dependencies;
local_14__74 = local_9__73;
if (local_13__75.indexOf(local_14__74, 0) >= 0 || 0) goto addr_259
local_12__54.dependencies.addElement(local_9__73);
addr_259: local_13__67 = local_1__60.readShort();
local_14__68 = 0;
goto addr_337
addr_271: local_15__72 = local_1__60.readShort() & 223;
local_16__70 = local_5__58.getIdentifier(local_1__60.readShort());
local_17__71 = local_5__58.getType(local_1__60.readShort());
local_18__69 = sun.tools.java.BinaryAttribute.load(local_1__60, local_5__58, local_2__59);
local_12__54.addField(new sun.tools.java.BinaryField(local_12__54, local_15__72, local_17__71, local_16__70, local_18__69));
local_14__68 += 1;
addr_337: if (local_14__68 < local_13__67) goto addr_271
local_15__61 = local_1__60.readShort();
local_16__62 = 0;
goto addr_422
addr_356: local_17__66 = local_1__60.readShort() & 1343;
local_18__64 = local_5__58.getIdentifier(local_1__60.readShort());
local_19__65 = local_5__58.getType(local_1__60.readShort());
local_20__63 = sun.tools.java.BinaryAttribute.load(local_1__60, local_5__58, local_2__59);
local_12__54.addField(new sun.tools.java.BinaryField(local_12__54, local_17__66, local_19__65, local_18__64, local_20__63));
local_16__62 += 1;
addr_422: if (local_16__62 < local_15__61) goto addr_356
local_12__54.atts = sun.tools.java.BinaryAttribute.load(local_1__60, local_5__58, local_2__59);
local_17__57 = local_12__54.getAttribute(sun.tools.java.Constants.idSourceFile);
if (local_17__57 == null) goto addr_485
local_12__54.source = local_5__58.getString(new java.io.DataInputStream(new java.io.ByteArrayInputStream(local_17__57)).readShort());
addr_485: local_17__56 = local_12__54.getAttribute(sun.tools.java.Constants.idDocumentation);
if (local_17__56 == null) goto addr_528
local_12__54.documentation = java.io.DataInputStream.readUTF(local_18__55 = new java.io.DataInputStream(new java.io.ByteArrayInputStream(local_17__56)));
addr_528: if (local_12__54.getAttribute(sun.tools.java.Constants.idDeprecated) == 0) goto addr_551
local_12__54.modifiers |= 262144;
addr_551: if (local_12__54.getAttribute(sun.tools.java.Constants.idSynthetic) == 0) goto addr_574
local_12__54.modifiers |= 524288;
addr_574: return local_12__54;
}
public void hasBeenLoaded(sun.tools.java.Environment local_1__91) {
<java.lang.Throwable-null>local_2__89;
byte local_2__90[];
if ((local_1__91.getFlags() & 256) != 0) goto addr_12
return;
addr_12: local_2__90 = getAttribute(sun.tools.java.Constants.idInnerClasses);
if (local_2__90 == null) goto addr_44
((sun.tools.java.BinaryClass) this).initInnerClasses(local_1__91, local_2__90);
return;
addr_31: local_2__89 = stack_0;
throw new sun.tools.java.CompilerError(local_2__89.toString());
addr_44: return;
}
private void initInnerClasses(sun.tools.java.Environment local_1__98, byte local_2__116[]) {
short local_4__93;
short local_5__94;
sun.tools.java.ClassDefinition local_15__95;
sun.tools.java.ClassDeclaration local_7__99;
<java.lang.Object-sun.tools.java.ClassDeclaration>local_15__100;
<java.lang.Object-sun.tools.java.ClassDeclaration>local_15__102;
sun.tools.java.Identifier local_14__103;
sun.tools.java.Identifier local_10__104;
int local_13__105;
<java.lang.Object-sun.tools.java.Identifier>local_13__106;
java.io.DataInputStream local_3__107;
short local_11__108;
short local_9__110;
short local_6__112;
short local_12__113;
sun.tools.java.ClassDefinition local_15__114;
sun.tools.java.ClassDeclaration local_8__115;
local_3__107 = new java.io.DataInputStream(new java.io.ByteArrayInputStream(local_2__116));
local_4__93 = local_3__107.readShort();
local_5__94 = 0;
goto addr_315
addr_28: local_6__112 = local_3__107.readShort();
local_7__99 = cpool.getDeclaration(local_1__98, local_6__112);
local_8__115 = "null";
local_9__110 = local_3__107.readShort();
if (local_9__110 == 0) goto addr_72
local_8__115 = cpool.getDeclaration(local_1__98, local_9__110);
addr_72: local_10__104 = sun.tools.java.Constants.idNull;
local_11__108 = local_3__107.readShort();
if (local_11__108 == 0) goto addr_102
local_10__104 = sun.tools.java.Identifier.lookup(cpool.getString(local_11__108));
addr_102: local_12__113 = local_3__107.readShort();
if ((local_12__113 & 2) != 0 || local_8__115 == null) goto addr_136
local_13__106 = sun.tools.java.Constants.idNull;
local_13__105 = local_10__104 == local_13__106 || 0 ? 0 : 1;
if (local_13__105 == 0) goto addr_312
local_14__103 = sun.tools.java.Identifier.lookupInner(local_8__115.type.getClassName(), local_10__104);
sun.tools.java.Type.tClass(local_14__103);
local_15__102 = declaration;
if (local_15__102 == null || !(local_15__102 instanceof sun.tools.java.ClassDeclaration) || !local_7__99.type.equals(((sun.tools.java.ClassDeclaration)local_15__102).type)) goto addr_230
local_15__114 = local_8__115.getClassDefinition(local_1__98);
((sun.tools.java.BinaryClass) this).initInner(local_15__114, local_12__113);
goto addr_312
addr_226: stack_0;
goto addr_312
addr_230: local_15__100 = declaration;
if (local_15__100 == null || !(local_15__100 instanceof sun.tools.java.ClassDeclaration) || !local_8__115.type.equals(((sun.tools.java.ClassDeclaration)local_15__100).type)) goto addr_312
local_15__95 = local_7__99.getClassDefinition(local_1__98);
if (!(local_15__95 instanceof sun.tools.java.BinaryClass)) goto addr_295
((sun.tools.java.BinaryClass) ((sun.tools.java.BinaryClass)local_15__95)).initInner(this, local_12__113);
addr_295: addField(new sun.tools.java.BinaryField(local_15__95));
goto addr_312
addr_311: stack_0;
addr_312: local_5__94 += 1;
addr_315: if (local_5__94 < local_4__93) goto addr_28
return;
}
private void initInner(sun.tools.java.ClassDefinition local_1__123, int local_2__126) {
sun.tools.java.FieldDefinition local_3__118;
java.lang.String local_4__120;
sun.tools.java.Identifier local_4__121;
sun.tools.java.ClassDeclaration local_4__122;
int local_2__124;
if (outerClass == 0) goto addr_8
return;
addr_8: (modifiers & 1) != 0 ? local_2__124 = local_2__126 & 8 : (local_2__124 = local_2__126 & 14);
modifiers |= local_2__124;
if (outerClass == 0) goto addr_57
throw new sun.tools.java.CompilerError("setOuterClass");
addr_57: outerClass = local_1__123;
local_3__118 = firstField;
goto addr_132
addr_70: if (!local_3__118.isUplevelValue()) goto addr_127
local_4__122 = local_1__123.declaration;
if (!local_4__122.type.equals(local_3__118.type)) goto addr_127
local_4__121 = local_3__118.name;
local_4__120 = local_4__121.name;
if (!local_4__120.startsWith("this$", 0)) goto addr_127
setOuterField(local_3__118);
addr_127: local_3__118 = local_3__118.nextMatch;
addr_132: if (local_3__118 != 0) goto addr_70
return;
}
private void initOuter(sun.tools.java.ClassDefinition local_1__127, int local_2__129) {
if (!(local_1__127 instanceof sun.tools.java.BinaryClass)) goto addr_16
((sun.tools.java.BinaryClass) ((sun.tools.java.BinaryClass)local_1__127)).initInner(this, local_2__129);
addr_16: addField(new sun.tools.java.BinaryField(local_1__127));
return;
}
public void write(sun.tools.java.Environment local_1__131, java.io.OutputStream local_2__153) {
java.io.DataOutputStream local_3__130;
sun.tools.java.FieldDefinition local_9__134;
java.lang.String local_11__135;
java.lang.String local_10__136;
sun.tools.java.Type local_11__137;
sun.tools.java.Identifier local_10__138;
sun.tools.java.Type local_10__139;
int local_6__140;
sun.tools.java.FieldDefinition local_8__142;
java.lang.String local_10__143;
java.lang.String local_9__144;
sun.tools.java.Type local_10__145;
sun.tools.java.Identifier local_9__146;
sun.tools.java.Type local_9__147;
int local_5__148;
sun.tools.java.FieldDefinition local_7__150;
sun.tools.java.Type local_8__151;
int local_4__152;
local_3__130 = new java.io.DataOutputStream(local_2__153);
local_3__130.writeInt(-889275714);
local_3__130.writeShort(3);
local_3__130.writeShort(45);
cpool.write(local_3__130, local_1__131);
local_3__130.writeShort(modifiers & 1585);
local_3__130.writeShort(cpool.indexObject(declaration, local_1__131));
local_3__130.writeShort(superClass != 0 ? cpool.indexObject(superClass, local_1__131) : 0);
local_3__130.writeShort(interfaces.length);
local_4__152 = 0;
goto addr_127
addr_105: local_3__130.writeShort(cpool.indexObject(interfaces[local_4__152], local_1__131));
local_4__152 += 1;
addr_127: if (local_4__152 < interfaces.length) goto addr_105
local_5__148 = 0;
local_6__140 = 0;
local_7__150 = firstField;
goto addr_189
addr_152: local_8__151 = local_7__150.type;
local_8__151.typeCode == 12 || 0 ? local_6__140 += 1 : (local_5__148 += 1);
local_7__150 = local_7__150.nextField;
addr_189: if (local_7__150 != 0) goto addr_152
local_3__130.writeShort(local_5__148);
local_8__142 = firstField;
goto addr_323
addr_209: local_9__147 = local_8__142.type;
if (local_9__147.typeCode == 12 || 0) goto addr_316
local_3__130.writeShort(local_8__142.modifiers & 223);
local_9__146 = local_8__142.name;
local_9__144 = local_9__146.name;
local_10__145 = local_8__142.type;
local_10__143 = local_10__145.typeSig;
local_3__130.writeShort(cpool.indexString(local_9__144, local_1__131));
local_3__130.writeShort(cpool.indexString(local_10__143, local_1__131));
sun.tools.java.BinaryAttribute.write(((sun.tools.java.BinaryField)local_8__142).atts, local_3__130, cpool, local_1__131);
addr_316: local_8__142 = local_8__142.nextField;
addr_323: if (local_8__142 != 0) goto addr_209
local_3__130.writeShort(local_6__140);
local_9__134 = firstField;
goto addr_457
addr_343: local_10__139 = local_9__134.type;
if (local_10__139.typeCode != 12 && !false) goto addr_450
local_3__130.writeShort(local_9__134.modifiers & 1343);
local_10__138 = local_9__134.name;
local_10__136 = local_10__138.name;
local_11__137 = local_9__134.type;
local_11__135 = local_11__137.typeSig;
local_3__130.writeShort(cpool.indexString(local_10__136, local_1__131));
local_3__130.writeShort(cpool.indexString(local_11__135, local_1__131));
sun.tools.java.BinaryAttribute.write(((sun.tools.java.BinaryField)local_9__134).atts, local_3__130, cpool, local_1__131);
addr_450: local_9__134 = local_9__134.nextField;
addr_457: if (local_9__134 != 0) goto addr_343
sun.tools.java.BinaryAttribute.write(atts, local_3__130, cpool, local_1__131);
local_3__130.flush();
return;
}
public java.util.Enumeration getDependencies() {
return dependencies.elements();
}
public void addDependency(sun.tools.java.ClassDeclaration local_1__155) {
<java.lang.Object-sun.tools.java.ClassDeclaration>local_3__157;
java.util.Vector local_2__158;
if (local_1__155 == 0) goto addr_32
local_2__158 = dependencies;
local_3__157 = local_1__155;
if (local_2__158.indexOf(local_3__157, 0) >= 0 || 0) goto addr_32
dependencies.addElement(local_1__155);
addr_32: return;
}
public sun.tools.java.BinaryConstantPool getConstants() {
return cpool;
}
public byte[] getAttribute(sun.tools.java.Identifier local_1__164) {
<java.lang.Object-sun.tools.java.Identifier>local_4__162;
<java.lang.Object-sun.tools.java.Identifier>local_3__163;
sun.tools.java.BinaryAttribute local_2__166;
local_2__166 = atts;
goto addr_36
addr_8: local_3__163 = local_2__166.name;
local_4__162 = local_1__164;
if (local_3__163 != local_4__162 && !false) goto addr_31
return local_2__166.data;
addr_31: local_2__166 = local_2__166.next;
addr_36: if (local_2__166 != 0) goto addr_8
return null;
}
}
/* Original source: BinaryCode.java */
public synchronized class BinaryCode
extends java.lang.Object
implements sun.tools.java.Constants {
int maxStack;
int maxLocals;
sun.tools.java.BinaryExceptionHandler exceptionHandlers[];
sun.tools.java.BinaryAttribute atts;
sun.tools.java.BinaryConstantPool cpool;
byte code[];
public sun.tools.java.BinaryCode(byte local_1__178[], sun.tools.java.BinaryConstantPool local_2__168, sun.tools.java.Environment local_3__176) {
java.io.DataInputStream local_4__167;
short local_6__170;
short local_7__171;
sun.tools.java.ClassDeclaration local_11__172;
short local_10__173;
short local_9__174;
short local_8__175;
int local_5__177;
<java.lang.Exception-null>local_5__179;
super();
local_4__167 = new java.io.DataInputStream(new java.io.ByteArrayInputStream(local_1__178));
cpool = local_2__168;
maxStack = local_4__167.readShort();
maxLocals = local_4__167.readShort();
local_5__177 = local_4__167.readInt();
code = new byte[local_5__177];
local_4__167.read(code);
local_6__170 = local_4__167.readShort();
exceptionHandlers = new sun.tools.java.BinaryExceptionHandler[local_6__170];
local_7__171 = 0;
goto addr_149
addr_91: local_8__175 = local_4__167.readShort();
local_9__174 = local_4__167.readShort();
local_10__173 = local_4__167.readShort();
local_11__172 = local_2__168.getDeclaration(local_3__176, local_4__167.readShort());
exceptionHandlers[local_7__171] = new sun.tools.java.BinaryExceptionHandler(local_8__175, local_9__174, local_10__173, local_11__172);
local_7__171 += 1;
addr_149: if (local_7__171 < local_6__170) goto addr_91
atts = sun.tools.java.BinaryAttribute.load(local_4__167, local_2__168, -1);
if (local_4__167.available() == 0) goto addr_196
java.lang.System.err.println("Should have exhausted input stream!");
return;
addr_184: local_5__179 = stack_0;
throw new sun.tools.java.CompilerError(local_5__179);
addr_196: return;
}
public sun.tools.java.BinaryExceptionHandler[] getExceptionHandlers() {
return exceptionHandlers;
}
public byte[] getCode() {
return code;
}
public int getMaxStack() {
return maxStack;
}
public int getMaxLocals() {
return maxLocals;
}
public sun.tools.java.BinaryAttribute getAttributes() {
return atts;
}
public static sun.tools.java.BinaryCode load(sun.tools.java.BinaryField local_0__186, sun.tools.java.BinaryConstantPool local_1__188, sun.tools.java.Environment local_2__187) {
byte local_3__189[];
local_3__189 = local_0__186.getAttribute(sun.tools.java.Constants.idCode);
if (local_3__189 == null) goto addr_23
return new sun.tools.java.BinaryCode(local_3__189, local_1__188, local_2__187);
addr_23: return null;
}
}
/* Original source: BinaryConstantPool.java */
public final class BinaryConstantPool
extends java.lang.Object
implements sun.tools.java.Constants {
private byte types[];
private java.lang.Object cpool[];
java.util.Hashtable indexHashObject;
java.util.Hashtable indexHashAscii;
java.util.Vector MoreStuff;
sun.tools.java.BinaryConstantPool(java.io.DataInputStream local_1__192) {
int local_2__193;
super();
types = new byte[local_1__192.readShort()];
cpool = new java.lang.Object[types.length];
local_2__193 = 1;
goto addr_321
addr_31: switch (types[local_2__193] = local_1__192.readByte()) {
cpool[local_2__193] = java.io.DataInputStream.readUTF(local_1__192);
goto addr_318
addr_121: cpool[local_2__193] = new java.lang.Integer(local_1__192.readInt());
goto addr_318
addr_141: cpool[local_2__193] = new java.lang.Float(java.lang.Float.intBitsToFloat(local_1__192.readInt()));
goto addr_318
addr_164: cpool[local_2__193++] = new java.lang.Long(((long) local_1__192.readInt() << 32) + ((long) local_1__192.readInt() & 4294967295));
goto addr_318
addr_201: cpool[local_2__193++] = new java.lang.Double(java.lang.Double.longBitsToDouble(((long) local_1__192.readInt() << 32) + ((long) local_1__192.readInt() & 4294967295)));
goto addr_318
addr_241: cpool[local_2__193] = new java.lang.Integer(local_1__192.readShort());
goto addr_318
addr_261: cpool[local_2__193] = new java.lang.Integer(local_1__192.readShort() << 16 | local_1__192.readShort());
goto addr_318
addr_289: throw new java.lang.ClassFormatError("invalid constant type: " + types[local_2__193]);
addr_318: local_2__193 += 1;
addr_321: if (local_2__193 < cpool.length) goto addr_31
return;
}
public int getInteger(int local_1__195) {
if (local_1__195 != 0) goto addr_6
return 0;
addr_6: return ((java.lang.Number)cpool[local_1__195]).intValue();
}
public java.lang.Object getValue(int local_1__197) {
if (local_1__197 != 0) goto addr_6
return "null";
addr_6: return cpool[local_1__197];
}
public java.lang.String getString(int local_1__199) {
if (local_1__199 != 0) goto addr_6
return "null";
addr_6: return (java.lang.String)cpool[local_1__199];
}
public sun.tools.java.Identifier getIdentifier(int local_1__201) {
if (local_1__201 != 0) goto addr_6
return null;
addr_6: return sun.tools.java.Identifier.lookup(local_1__201 == 0 ? "null" : (java.lang.String)cpool[local_1__201]);
}
public sun.tools.java.ClassDeclaration getDeclarationFromName(sun.tools.java.Environment local_1__205, int local_2__203) {
if (local_2__203 != 0) goto addr_6
return null;
addr_6: return local_1__205.getClassDeclaration(sun.tools.java.Identifier.lookup((local_2__203 == 0 ? "null" : (java.lang.String)cpool[local_2__203]).replace(47, 46)));
}
public sun.tools.java.ClassDeclaration getDeclaration(sun.tools.java.Environment local_1__208, int local_2__206) {
if (local_2__206 != 0) goto addr_6
return null;
addr_6: return getDeclarationFromName(local_1__208, local_2__206 == 0 ? 0 : ((java.lang.Number)cpool[local_2__206]).intValue());
}
public sun.tools.java.Type getType(int local_1__209) {
return sun.tools.java.Type.tType(local_1__209 == 0 ? "null" : (java.lang.String)cpool[local_1__209]);
}
public int getConstantType(int local_1__211) {
return types[local_1__211];
}
public java.lang.Object getConstant(int local_1__240, sun.tools.java.Environment local_2__239) {
sun.tools.java.Type local_8__218;
byte local_3__220;
sun.tools.java.Type local_10__221;
sun.tools.java.Identifier local_7__222;
sun.tools.java.ClassDefinition local_5__223;
int local_8__224;
int local_6__226;
int local_7__227;
int local_6__228;
int local_4__229;
int local_5__231;
sun.tools.java.FieldDefinition local_9__233;
int local_4__234;
local_3__220 = types[local_1__240];
switch (local_3__220) {
addr_60: if (local_1__240 != 0) goto addr_66
return "null";
addr_66: return cpool[local_1__240];
addr_73: if (local_1__240 != 0) goto addr_79
return "null";
addr_79: return getDeclarationFromName(local_2__239, local_1__240 == 0 ? 0 : ((java.lang.Number)cpool[local_1__240]).intValue());
addr_105: local_4__234 = local_1__240 == 0 ? 0 : ((java.lang.Number)cpool[local_1__240]).intValue();
if (local_4__234 != 0) goto addr_134
return "null";
addr_134: return (java.lang.String)cpool[local_4__234];
addr_145: local_4__229 = local_1__240 == 0 ? 0 : ((java.lang.Number)cpool[local_1__240]).intValue();
local_5__231 = local_4__229 >> 16;
local_5__223 = (local_5__231 == 0 ? null : getDeclarationFromName(local_2__239, local_5__231 == 0 ? 0 : ((java.lang.Number)cpool[local_5__231]).intValue())).getClassDefinition(local_2__239);
local_6__228 = local_4__229 & 65535;
local_6__226 = local_6__228 == 0 ? 0 : ((java.lang.Number)cpool[local_6__228]).intValue();
local_7__227 = local_6__226 >> 16;
local_7__222 = local_7__227 == 0 ? null : sun.tools.java.Identifier.lookup(local_7__227 == 0 ? "null" : (java.lang.String)cpool[local_7__227]);
local_8__224 = local_6__226 & 65535;
local_8__218 = sun.tools.java.Type.tType(local_8__224 == 0 ? "null" : (java.lang.String)cpool[local_8__224]);
local_9__233 = local_5__223.getFirstMatch(local_7__222);
goto addr_374
addr_330: local_10__221 = local_9__233.type;
if (!(local_3__220 == 9 ? local_10__221 == local_8__218 : local_10__221.equalArguments(local_8__218))) goto addr_367
return local_9__233;
addr_367: local_9__233 = local_9__233.nextMatch;
addr_374: if (local_9__233 != 0) goto addr_330
nop;
goto addr_383
addr_382: stack_0;
addr_383: return "null";
addr_385: throw new java.lang.ClassFormatError("invalid constant type: " + local_3__220);
}
public java.util.Vector getDependencies(sun.tools.java.Environment local_1__245) {
java.util.Vector local_2__242;
int local_3__244;
local_2__242 = new java.util.Vector();
local_3__244 = 1;
goto addr_68
addr_13: switch (types[local_3__244]) {
local_2__242.addElement(getDeclarationFromName(local_1__245, local_3__244 == 0 ? 0 : ((java.lang.Number)cpool[local_3__244]).intValue()));
addr_65: local_3__244 += 1;
addr_68: if (local_3__244 < cpool.length) goto addr_13
return local_2__242;
}
public int indexObject(java.lang.Object local_1__250, sun.tools.java.Environment local_2__249) {
java.lang.Integer local_3__246;
if (indexHashObject != 0) goto addr_12
createIndexHash(local_2__249);
addr_12: local_3__246 = (java.lang.Integer)indexHashObject.get(local_1__250);
if (local_3__246 != null) goto addr_69
throw new java.lang.IndexOutOfBoundsException("Cannot find object " + local_1__250 + " of type " + local_1__250.getClass() + " in constant pool");
addr_69: return local_3__246.intValue();
}
public int indexString(java.lang.String local_1__252, sun.tools.java.Environment local_2__255) {
java.lang.Integer local_3__251;
if (indexHashObject != 0) goto addr_12
createIndexHash(local_2__255);
addr_12: local_3__251 = (java.lang.Integer)indexHashAscii.get(local_1__252);
if (local_3__251 != null) goto addr_85
if (MoreStuff != 0) goto addr_46
MoreStuff = new java.util.Vector();
addr_46: local_3__251 = new java.lang.Integer(cpool.length + MoreStuff.size());
MoreStuff.addElement(local_1__252);
indexHashAscii.put(local_1__252, local_3__251);
addr_85: return local_3__251.intValue();
}
public void createIndexHash(sun.tools.java.Environment local_1__258) {
int local_2__257;
indexHashObject = new java.util.Hashtable();
indexHashAscii = new java.util.Hashtable();
local_2__257 = 1;
goto addr_91
addr_27: types[local_2__257] == 1 ? indexHashAscii.put(cpool[local_2__257], new java.lang.Integer(local_2__257)) : (indexHashObject.put(getConstant(local_2__257, local_1__258), new java.lang.Integer(local_2__257)));
goto addr_88
addr_87: stack_0;
addr_88: local_2__257 += 1;
addr_91: if (local_2__257 < cpool.length) goto addr_27
return;
}
public void write(java.io.DataOutputStream local_1__262, sun.tools.java.Environment local_2__279) {
int local_3__259;
int local_5__260;
java.lang.String local_6__261;
int local_7__265;
byte local_5__267;
double local_7__269;
float local_7__272;
java.lang.Object local_6__275;
int local_4__277;
local_3__259 = cpool.length;
if (MoreStuff == 0) goto addr_23
local_3__259 = local_3__259 + MoreStuff.size();
addr_23: local_1__262.writeShort(local_3__259);
local_4__277 = 1;
goto addr_295
addr_34: local_5__267 = types[local_4__277];
local_6__275 = cpool[local_4__277];
local_1__262.writeByte(local_5__267);
switch (local_5__267) {
local_1__262.writeUTF((java.lang.String)local_6__275);
goto addr_292
addr_136: local_1__262.writeInt(((java.lang.Number)local_6__275).intValue());
goto addr_292
addr_151: local_7__272 = ((java.lang.Number)local_6__275).floatValue();
local_1__262.writeInt(java.lang.Float.floatToIntBits(local_7__272));
goto addr_292
addr_173: local_1__262.writeLong(((java.lang.Number)local_6__275).longValue());
local_4__277 += 1;
goto addr_292
addr_191: local_7__269 = ((java.lang.Number)local_6__275).doubleValue();
local_1__262.writeLong(java.lang.Double.doubleToLongBits(local_7__269));
local_4__277 += 1;
goto addr_292
addr_216: local_1__262.writeShort(((java.lang.Number)local_6__275).intValue());
goto addr_292
addr_231: local_7__265 = ((java.lang.Number)local_6__275).intValue();
local_1__262.writeShort(local_7__265 >> 16);
local_1__262.writeShort(local_7__265 & 65535);
goto addr_292
addr_262: throw new java.lang.ClassFormatError("invalid constant type: " + types[local_4__277]);
addr_292: local_4__277 += 1;
addr_295: if (local_4__277 < cpool.length) goto addr_34
local_5__260 = cpool.length;
goto addr_349
addr_315: local_6__261 = (java.lang.String)MoreStuff.elementAt(local_5__260 - cpool.length);
local_1__262.writeByte(1);
local_1__262.writeUTF(local_6__261);
local_5__260 += 1;
addr_349: if (local_5__260 < local_3__259) goto addr_315
return;
}
}
/* Original source: BinaryExceptionHandler.java */
public synchronized class BinaryExceptionHandler
extends java.lang.Object
{
public int startPC;
public int endPC;
public int handlerPC;
public sun.tools.java.ClassDeclaration exceptionClass;
sun.tools.java.BinaryExceptionHandler(int local_1__284, int local_2__283, int local_3__282, sun.tools.java.ClassDeclaration local_4__280) {
super();
startPC = local_1__284;
endPC = local_2__283;
handlerPC = local_3__282;
exceptionClass = local_4__280;
return;
}
}
/* Original source: BinaryField.java */
public final class BinaryField
extends sun.tools.java.FieldDefinition
{
sun.tools.tree.Expression value;
sun.tools.java.BinaryAttribute atts;
public sun.tools.java.BinaryField(sun.tools.java.ClassDefinition local_1__290, int local_2__289, sun.tools.java.Type local_3__288, sun.tools.java.Identifier local_4__287, sun.tools.java.BinaryAttribute local_5__286) {
super(0, local_1__290, local_2__289, local_3__288, local_4__287, null, null);
atts = local_5__286;
if (getAttribute(sun.tools.java.Constants.idDeprecated) == 0) goto addr_39
modifiers |= 262144;
addr_39: if (getAttribute(sun.tools.java.Constants.idSynthetic) == 0) goto addr_60
modifiers |= 524288;
addr_60: return;
}
public sun.tools.java.BinaryField(sun.tools.java.ClassDefinition local_1__291) {
super(local_1__291);
return;
}
public boolean isInlineable(sun.tools.java.Environment local_1__297, boolean local_2__298) {
sun.tools.java.ClassDefinition local_3__293;
<java.lang.Object-sun.tools.java.Identifier>local_4__295;
<java.lang.Object-sun.tools.java.Identifier>local_3__296;
local_3__296 = name;
local_4__295 = sun.tools.java.Constants.idInit;
if (local_3__296 != local_4__295 && !false) goto addr_32
local_3__293 = clazz;
if (local_3__293.superClass == 0) goto addr_34
addr_32: return false;
addr_34: return true;
}
public java.util.Vector getArguments() {
sun.tools.java.ClassDefinition local_1__299;
<java.lang.Object-sun.tools.java.Identifier>local_2__301;
<java.lang.Object-sun.tools.java.Identifier>local_1__302;
java.util.Vector local_1__303;
sun.tools.java.ClassDeclaration local_3__304;
sun.tools.java.ClassDefinition local_2__305;
local_1__302 = name;
local_2__301 = sun.tools.java.Constants.idInit;
if (local_1__302 != local_2__301 && !false) goto addr_74
local_1__299 = clazz;
if (local_1__299.superClass != 0) goto addr_74
local_1__303 = new java.util.Vector();
local_1__303.addElement(new sun.tools.tree.LocalField(0, clazz, 0, (local_3__304 = (local_2__305 = clazz).declaration).type, sun.tools.java.Constants.idThis));
return local_1__303;
addr_74: return null;
}
public sun.tools.java.ClassDeclaration[] getExceptions(sun.tools.java.Environment local_1__312) {
<java.lang.Exception-null>local_3__307;
short local_5__309;
short local_6__310;
java.io.DataInputStream local_4__311;
sun.tools.java.BinaryConstantPool local_3__313;
byte local_2__314[];
sun.tools.java.BinaryClass local_3__315;
sun.tools.java.Type local_2__316;
local_2__316 = type;
if ((local_2__316.typeCode == 12 || 0) && exp == 0) goto addr_30
return exp;
addr_30: local_2__314 = getAttribute(sun.tools.java.Constants.idExceptions);
if (local_2__314 != null) goto addr_47
return new sun.tools.java.ClassDeclaration[0];
addr_47: local_3__315 = (sun.tools.java.BinaryClass)clazz;
local_3__313 = local_3__315.cpool;
local_4__311 = new java.io.DataInputStream(new java.io.ByteArrayInputStream(local_2__314));
local_5__309 = local_4__311.readShort();
exp = new sun.tools.java.ClassDeclaration[local_5__309];
local_6__310 = 0;
goto addr_119
addr_99: exp[local_6__310] = local_3__313.getDeclaration(local_1__312, local_4__311.readShort());
local_6__310 += 1;
addr_119: if (local_6__310 < local_5__309) goto addr_99
return exp;
addr_131: local_3__307 = stack_0;
throw new sun.tools.java.CompilerError(local_3__307);
}
public java.lang.String getDocumentation() {
<java.lang.Exception-null>local_2__318;
<java.io.DataInput-java.io.DataInputStream>local_2__319;
byte local_1__320[];
if (documentation == 0) goto addr_12
return documentation;
addr_12: local_1__320 = getAttribute(sun.tools.java.Constants.idDocumentation);
if (local_1__320 != null) goto addr_26
return "null";
addr_26: return documentation = java.io.DataInputStream.readUTF(local_2__319 = new java.io.DataInputStream(new java.io.ByteArrayInputStream(local_1__320)));
addr_52: local_2__318 = stack_0;
throw new sun.tools.java.CompilerError(local_2__318);
}
public sun.tools.tree.Node getValue(sun.tools.java.Environment local_1__343) {
<java.lang.Exception-null>local_3__323;
<sun.tools.tree.Node-sun.tools.tree.StringExpression>local_5__325;
sun.tools.java.BinaryConstantPool local_3__327;
sun.tools.java.Type local_5__328;
byte local_2__329[];
sun.tools.java.BinaryClass local_3__330;
sun.tools.java.Type local_2__331;
<sun.tools.tree.Node-sun.tools.tree.DoubleExpression>local_5__332;
<sun.tools.tree.Node-sun.tools.tree.FloatExpression>local_5__334;
<sun.tools.tree.Node-sun.tools.tree.LongExpression>local_5__336;
<sun.tools.tree.Node-sun.tools.tree.IntExpression>local_5__338;
<sun.tools.tree.Node-sun.tools.tree.BooleanExpression>local_5__340;
java.lang.Object local_4__341;
local_2__331 = type;
if (local_2__331.typeCode != 12 && !false) goto addr_20
return null;
addr_20: if ((modifiers & 16) != 0) goto addr_32
return null;
addr_32: if (value == 0) goto addr_47
return (sun.tools.tree.Expression)value;
addr_47: local_2__329 = getAttribute(sun.tools.java.Constants.idConstantValue);
if (local_2__329 != null) goto addr_61
return null;
addr_61: local_3__330 = (sun.tools.java.BinaryClass)clazz;
local_3__327 = local_3__330.cpool;
local_4__341 = local_3__327.getValue(new java.io.DataInputStream(new java.io.ByteArrayInputStream(local_2__329)).readShort());
local_5__328 = type;
switch (local_5__328.typeCode) {
local_5__340 = new sun.tools.tree.BooleanExpression(0, ((java.lang.Number)local_4__341).intValue() == 0 ? false : true);
value = local_5__340;
goto addr_342
addr_203: local_5__338 = new sun.tools.tree.IntExpression(0, ((java.lang.Number)local_4__341).intValue());
value = local_5__338;
goto addr_342
addr_230: local_5__336 = new sun.tools.tree.LongExpression(0, ((java.lang.Number)local_4__341).longValue());
value = local_5__336;
goto addr_342
addr_257: local_5__334 = new sun.tools.tree.FloatExpression(0, ((java.lang.Number)local_4__341).floatValue());
value = local_5__334;
goto addr_342
addr_284: local_5__332 = new sun.tools.tree.DoubleExpression(0, ((java.lang.Number)local_4__341).doubleValue());
value = local_5__332;
goto addr_342
addr_311: local_5__325 = new sun.tools.tree.StringExpression(0, (java.lang.String)local_3__327.getValue(((java.lang.Number)local_4__341).intValue()));
value = local_5__325;
addr_342: return (sun.tools.tree.Expression)value;
addr_350: local_3__323 = stack_0;
throw new sun.tools.java.CompilerError(local_3__323);
}
public byte[] getAttribute(sun.tools.java.Identifier local_1__348) {
<java.lang.Object-sun.tools.java.Identifier>local_4__346;
<java.lang.Object-sun.tools.java.Identifier>local_3__347;
sun.tools.java.BinaryAttribute local_2__350;
local_2__350 = atts;
goto addr_36
addr_8: local_3__347 = local_2__350.name;
local_4__346 = local_1__348;
if (local_3__347 != local_4__346 && !false) goto addr_31
return local_2__350.data;
addr_31: local_2__350 = local_2__350.next;
addr_36: if (local_2__350 != 0) goto addr_8
return null;
}
public boolean deleteAttribute(sun.tools.java.Identifier local_1__370) {
boolean local_4__351;
sun.tools.java.BinaryAttribute local_2__353;
<java.lang.Object-sun.tools.java.Identifier>local_6__354;
<java.lang.Object-sun.tools.java.Identifier>local_5__355;
sun.tools.java.BinaryAttribute local_3__359;
sun.tools.java.BinaryAttribute local_2__361;
<java.lang.Object-sun.tools.java.Identifier>local_6__362;
<java.lang.Object-sun.tools.java.Identifier>local_5__363;
<java.lang.Object-sun.tools.java.Identifier>local_6__364;
<java.lang.Object-sun.tools.java.Identifier>local_5__365;
<java.lang.Object-null>local_3__368;
<java.lang.Object-null>local_2__369;
local_2__369 = "null";
local_3__368 = "null";
local_4__351 = 0;
goto addr_24
addr_10: atts = atts.next;
local_4__351 = 1;
addr_24: local_5__365 = atts.name;
local_6__364 = local_1__370;
if (local_5__365 == local_6__364 || 0) goto addr_10
local_2__361 = atts;
goto addr_102
addr_55: local_3__359 = local_2__361.next;
if (local_3__359 == null) goto addr_100
local_5__363 = local_3__359.name;
local_6__362 = local_1__370;
if (local_5__363 != local_6__362 && !false) goto addr_100
local_2__361.next = local_3__359.next;
local_3__359 = local_3__359.next;
local_4__351 = 1;
addr_100: local_2__361 = local_3__359;
addr_102: if (local_2__361 != 0) goto addr_55
local_2__353 = atts;
goto addr_163
addr_114: local_5__355 = local_2__353.name;
local_6__354 = local_1__370;
if (local_5__355 != local_6__354 && !false) goto addr_158
throw new java.lang.InternalError("Found attribute " + local_1__370);
addr_158: local_2__353 = local_2__353.next;
addr_163: if (local_2__353 != 0) goto addr_114
return local_4__351;
}
public void addAttribute(sun.tools.java.Identifier local_1__372, byte local_2__374[], sun.tools.java.Environment local_3__371) {
atts = new sun.tools.java.BinaryAttribute(local_1__372, local_2__374, atts);
((sun.tools.java.BinaryClass)clazz).cpool.indexString(local_1__372.name, local_3__371);
return;
}
}
/* Original source: ClassDeclaration.java */
public final class ClassDeclaration
extends java.lang.Object
implements sun.tools.java.Constants {
int status;
sun.tools.java.Type type;
sun.tools.java.ClassDefinition definition;
public sun.tools.java.ClassDeclaration(sun.tools.java.Identifier local_1__375) {
super();
type = sun.tools.java.Type.tClass(local_1__375);
return;
}
public int getStatus() {
return status;
}
public sun.tools.java.Identifier getName() {
return type.getClassName();
}
public sun.tools.java.Type getType() {
return type;
}
public boolean isDefined() {
switch (status) {
addr_44: return true;
addr_46: return false;
}
public sun.tools.java.ClassDefinition getClassDefinition() {
return definition;
}
public sun.tools.java.ClassDefinition getClassDefinition(sun.tools.java.Environment local_1__386) {
switch (status) {
addr_52: local_1__386.loadDefinition(this);
goto addr_0
addr_60: definition.basicCheck(local_1__386);
return definition;
addr_73: return definition;
addr_78: throw new sun.tools.java.ClassNotFound(type.getClassName());
}
public void setDefinition(sun.tools.java.ClassDefinition local_1__393, int local_2__392) {
<java.lang.Object-sun.tools.java.Identifier>local_4__387;
<java.lang.Object-sun.tools.java.Identifier>local_3__388;
sun.tools.java.ClassDeclaration local_4__389;
definition = local_1__393;
status = local_2__392;
if (local_1__393 == 0) goto addr_81
local_3__388 = type.getClassName();
local_4__389 = local_1__393.declaration;
local_4__387 = local_4__389.type.getClassName();
if (local_3__388 == local_4__387 || 0) goto addr_81
throw new sun.tools.java.CompilerError("invalid class defintion: " + this + ", " + local_1__393);
addr_81: return;
}
public boolean equals(java.lang.Object local_1__396) {
if (local_1__396 == null || !(local_1__396 instanceof sun.tools.java.ClassDeclaration)) goto addr_26
return type.equals(((sun.tools.java.ClassDeclaration)local_1__396).type);
addr_26: return false;
}
public java.lang.String toString() {
java.lang.String local_1__398;
java.lang.String local_2__399;
<java.lang.Object-java.lang.String>local_3__400;
sun.tools.java.ClassDefinition local_4__403;
sun.tools.java.ClassDefinition local_4__404;
sun.tools.java.ClassDefinition local_4__406;
sun.tools.java.ClassDefinition local_4__407;
sun.tools.java.Identifier local_1__410;
local_1__410 = type.getClassName();
local_1__398 = local_1__410.name;
local_2__399 = "type ";
local_3__400 = type.getClassName().isInner() ? "nested " : "";
if (definition == 0) goto addr_199
local_4__407 = definition;
(local_4__407.modifiers & 512) != 0 || 0 ? local_2__399 = "interface " : (local_2__399 = "class ");
local_4__406 = definition;
if (local_4__406.outerClass == 0 || (local_4__406.modifiers & 8) != 0 || (local_4__406.modifiers & 512) != 0 || 0) goto addr_199
local_3__400 = "inner ";
local_4__404 = definition;
if ((local_4__404.modifiers & 131072) == 0 && !false) goto addr_199
local_3__400 = "local ";
local_4__403 = definition;
if ((local_4__403.modifiers & 65536) != 0 || 0) goto addr_199
local_1__398 = "" + definition.getLocalName() + " (" + local_1__398 + ")";
addr_199: return "" + local_3__400 + local_2__399 + local_1__398;
}
}
/* Original source: ClassDefinition.java */
public class ClassDefinition
extends java.lang.Object
implements sun.tools.java.Constants {
protected java.lang.Object source;
protected int where;
protected int modifiers;
protected sun.tools.java.Identifier localName;
protected sun.tools.java.ClassDeclaration declaration;
protected sun.tools.java.IdentifierToken superClassId;
protected sun.tools.java.IdentifierToken interfaceIds[];
protected sun.tools.java.ClassDeclaration superClass;
protected sun.tools.java.ClassDeclaration interfaces[];
protected sun.tools.java.ClassDefinition outerClass;
protected sun.tools.java.FieldDefinition outerField;
protected sun.tools.java.FieldDefinition innerClassField;
protected sun.tools.java.FieldDefinition firstField;
protected sun.tools.java.FieldDefinition lastField;
protected boolean resolved;
protected java.lang.String documentation;
protected boolean error;
protected sun.tools.tree.UplevelReference references;
protected boolean referencesFrozen;
private java.util.Hashtable fieldHash;
private int abstr;
protected sun.tools.java.ClassDefinition(java.lang.Object local_1__417, int local_2__416, sun.tools.java.ClassDeclaration local_3__415, int local_4__414, sun.tools.java.IdentifierToken local_5__413, sun.tools.java.IdentifierToken local_6__411[]) {
super();
fieldHash = new java.util.Hashtable(31);
source = local_1__417;
where = local_2__416;
declaration = local_3__415;
modifiers = local_4__414;
superClassId = local_5__413;
interfaceIds = local_6__411;
return;
}
public final java.lang.Object getSource() {
return source;
}
public final boolean getError() {
return error;
}
public final void setError(boolean local_1__420) {
error = local_1__420;
return;
}
public final int getWhere() {
return where;
}
public final sun.tools.java.ClassDeclaration getClassDeclaration() {
return declaration;
}
public final int getModifiers() {
return modifiers;
}
public final sun.tools.java.ClassDeclaration getSuperClass() {
return superClass;
}
public sun.tools.java.ClassDeclaration getSuperClass(sun.tools.java.Environment local_1__427) {
return superClass;
}
public final sun.tools.java.ClassDeclaration[] getInterfaces() {
if (interfaces != 0) goto addr_17
throw new sun.tools.java.CompilerError("getInterfaces");
addr_17: return interfaces;
}
public final sun.tools.java.ClassDefinition getOuterClass() {
return outerClass;
}
protected final void setOuterClass(sun.tools.java.ClassDefinition local_1__430) {
if (outerClass == 0) goto addr_17
throw new sun.tools.java.CompilerError("setOuterClass");
addr_17: outerClass = local_1__430;
return;
}
protected final void setOuterField(sun.tools.java.FieldDefinition local_1__432) {
if ((modifiers & 8) == 0 && outerClass != 0) goto addr_27
throw new sun.tools.java.CompilerError("setOuterField");
addr_27: if (outerField == 0) goto addr_44
throw new sun.tools.java.CompilerError("setOuterField");
addr_44: outerField = local_1__432;
return;
}
public final boolean isInnerClass() {
if (outerClass != 0) goto addr_9
return false;
addr_9: return true;
}
public final boolean isMember() {
if (outerClass != 0 && (modifiers & 131072) == 0) goto addr_19
return false;
addr_19: return true;
}
public final boolean isTopLevel() {
if (outerClass == 0 || (modifiers & 8) != 0 || (modifiers & 512) != 0) goto addr_30
return false;
addr_30: return true;
}
public final boolean isInsideLocal() {
if ((modifiers & 131072) != 0 || outerClass != 0 && outerClass.isInsideLocal()) goto addr_29
return false;
addr_29: return true;
}
public sun.tools.java.Identifier getLocalName() {
sun.tools.java.ClassDeclaration local_1__438;
if (localName == 0) goto addr_12
return localName;
addr_12: local_1__438 = declaration;
return local_1__438.type.getClassName().getFlatName().getName();
}
public void setLocalName(sun.tools.java.Identifier local_1__441) {
if ((modifiers & 131072) == 0) goto addr_15
localName = local_1__441;
addr_15: return;
}
public final sun.tools.java.FieldDefinition getInnerClassField() {
<java.lang.Object-sun.tools.java.Identifier>local_1__446;
sun.tools.java.ClassDefinition local_2__447;
sun.tools.java.ClassDeclaration local_1__448;
sun.tools.java.FieldDefinition local_2__449;
if (outerClass != 0) goto addr_9
return null;
addr_9: if (innerClassField != 0) goto addr_96
local_1__448 = declaration;
local_1__446 = local_1__448.type.getClassName().getFlatName().getName();
local_2__447 = outerClass;
local_2__449 = (sun.tools.java.FieldDefinition)local_2__447.fieldHash.get(local_1__446);
goto addr_75
addr_55: if (local_2__449.innerClass == 0) goto addr_70
innerClassField = local_2__449;
goto addr_79
addr_70: local_2__449 = local_2__449.nextMatch;
addr_75: if (local_2__449 != 0) goto addr_55
addr_79: if (innerClassField != 0) goto addr_96
throw new sun.tools.java.CompilerError("getInnerClassField");
addr_96: return innerClassField;
}
public final sun.tools.java.FieldDefinition findOuterField() {
return outerField;
}
public final boolean isStatic() {
if ((modifiers & 8) != 0) goto addr_12
return false;
addr_12: return true;
}
public final sun.tools.java.ClassDefinition getTopClass() {
sun.tools.java.ClassDefinition local_1__452;
<java.lang.Object-sun.tools.java.ClassDefinition>local_2__454;
local_1__452 = this;
goto addr_7
addr_5: local_1__452 = local_2__454;
addr_7: if ((local_2__454 = local_1__452.outerClass) != null) goto addr_5
return local_1__452;
}
public final sun.tools.java.FieldDefinition getFirstField() {
return firstField;
}
public final sun.tools.java.FieldDefinition getFirstMatch(sun.tools.java.Identifier local_1__457) {
return (sun.tools.java.FieldDefinition)fieldHash.get(local_1__457);
}
public final sun.tools.java.Identifier getName() {
sun.tools.java.ClassDeclaration local_1__459;
local_1__459 = declaration;
return local_1__459.type.getClassName();
}
public final sun.tools.java.Type getType() {
sun.tools.java.ClassDeclaration local_1__461;
local_1__461 = declaration;
return local_1__461.type;
}
public java.lang.String getDocumentation() {
return documentation;
}
public static boolean containsDeprecated(java.lang.String local_0__466) {
int local_1__465;
int local_1__467;
char local_4__468;
int local_3__469;
int local_2__470;
char local_3__471;
if (local_0__466 != 0) goto addr_6
return false;
addr_6: local_1__465 = 0;
goto addr_105
addr_11: local_2__470 = local_1__467 - 1;
goto addr_46
addr_18: local_3__471 = local_0__466.charAt(local_2__470);
if (local_3__471 == 10 || local_3__471 == 13) goto addr_50
if (!java.lang.Character.isSpace(local_3__471)) goto addr_97
local_2__470 -= 1;
addr_46: if (local_2__470 >= 0) goto addr_18
addr_50: local_3__469 = local_1__467 + "@deprecated".length();
if (local_3__469 >= local_0__466.length()) goto addr_95
local_4__468 = local_0__466.charAt(local_3__469);
if (local_4__468 != 10 && local_4__468 != 13 && !java.lang.Character.isSpace(local_4__468)) goto addr_97
addr_95: return true;
addr_97: local_1__465 = local_1__467 + "@deprecated".length();
addr_105: if ((local_1__467 = local_0__466.indexOf("@deprecated", local_1__465)) >= 0) goto addr_11
return false;
}
public final boolean isInterface() {
if ((modifiers & 512) != 0) goto addr_13
return false;
addr_13: return true;
}
public final boolean isClass() {
if ((modifiers & 512) == 0) goto addr_13
return false;
addr_13: return true;
}
public final boolean isPublic() {
if ((modifiers & 1) != 0) goto addr_11
return false;
addr_11: return true;
}
public final boolean isPrivate() {
if ((modifiers & 2) != 0) goto addr_11
return false;
addr_11: return true;
}
public final boolean isProtected() {
if ((modifiers & 4) != 0) goto addr_11
return false;
addr_11: return true;
}
public final boolean isFinal() {
if ((modifiers & 16) != 0) goto addr_12
return false;
addr_12: return true;
}
public final boolean isAbstract() {
if ((modifiers & 1024) != 0) goto addr_13
return false;
addr_13: return true;
}
public final boolean isAbstract(sun.tools.java.Environment local_1__480) {
if ((modifiers & 1024) == 0) goto addr_13
return true;
addr_13: if (abstr != 0) goto addr_48
abstr = (modifiers & 512) != 0 || hasAbstractFields(local_1__480) ? 1 : -1;
addr_48: if (abstr == 1) goto addr_58
return false;
addr_58: return true;
}
public final boolean isSynthetic() {
if ((modifiers & 524288) != 0) goto addr_12
return false;
addr_12: return true;
}
public final boolean isDeprecated() {
if ((modifiers & 262144) != 0) goto addr_12
return false;
addr_12: return true;
}
public final boolean isAnonymous() {
if ((modifiers & 65536) != 0) goto addr_12
return false;
addr_12: return true;
}
public final boolean isLocal() {
if ((modifiers & 131072) != 0) goto addr_12
return false;
addr_12: return true;
}
public final boolean hasConstructor() {
<java.lang.Object-sun.tools.java.Identifier>local_1__485;
local_1__485 = sun.tools.java.Constants.idInit;
if ((sun.tools.java.FieldDefinition)fieldHash.get(local_1__485) != 0) goto addr_20
return false;
addr_20: return true;
}
public java.util.Enumeration getAbstractFields(sun.tools.java.Environment local_1__489) {
java.util.Vector local_2__487;
local_2__487 = new java.util.Vector();
((sun.tools.java.ClassDefinition) this).getAbstractFields(local_1__489, this, local_2__487);
return local_2__487.elements();
}
private void getAbstractFields(sun.tools.java.Environment local_1__492, sun.tools.java.ClassDefinition local_2__495, java.util.Vector local_3__490) {
sun.tools.java.ClassDefinition local_6__491;
sun.tools.java.ClassDeclaration local_5__494;
sun.tools.java.FieldDefinition local_4__497;
sun.tools.java.FieldDefinition local_5__498;
<java.lang.Object-sun.tools.java.FieldDefinition>local_6__499;
local_4__497 = local_2__495.firstField;
goto addr_90
addr_9: if ((local_4__497.modifiers & 1024) == 0) goto addr_83
local_5__498 = findMethod(local_1__492, local_4__497.name, local_4__497.type);
if (local_5__498 != null) goto addr_47
local_5__498 = local_4__497;
addr_47: if ((local_5__498.modifiers & 1024) == 0) goto addr_83
local_6__499 = local_5__498;
if (local_3__490.indexOf(local_6__499, 0) >= 0 || 0) goto addr_83
local_3__490.addElement(local_5__498);
addr_83: local_4__497 = local_4__497.nextField;
addr_90: if (local_4__497 != 0) goto addr_9
local_5__494 = local_2__495.superClass;
if (local_5__494 == null) goto addr_131
local_6__491 = local_5__494.getClassDefinition(local_1__492);
if (!local_6__491.isAbstract(local_1__492)) goto addr_131
((sun.tools.java.ClassDefinition) this).getAbstractFields(local_1__492, local_6__491, local_3__490);
addr_131: return;
}
public boolean hasAbstractFields(sun.tools.java.Environment local_1__502) {
return ((sun.tools.java.ClassDefinition) this).hasAbstractFields(local_1__502, this);
}
private boolean hasAbstractFields(sun.tools.java.Environment local_1__512, sun.tools.java.ClassDefinition local_2__504) {
sun.tools.java.FieldDefinition local_3__506;
sun.tools.java.FieldDefinition local_4__507;
sun.tools.java.Type local_4__510;
sun.tools.java.ClassDefinition local_5__511;
sun.tools.java.ClassDeclaration local_4__514;
local_3__506 = local_2__504.firstField;
goto addr_78
addr_8: if ((local_3__506.modifiers & 1024) == 0) goto addr_73
local_4__510 = local_3__506.type;
if (local_4__510.typeCode != 12 && !false) goto addr_73
local_4__507 = findMethod(local_1__512, local_3__506.name, local_3__506.type);
if (local_4__507 != null && (local_4__507.modifiers & 1024) == 0) goto addr_73
return true;
addr_73: local_3__506 = local_3__506.nextField;
addr_78: if (local_3__506 != 0) goto addr_8
local_4__514 = local_2__504.superClass;
if (local_4__514 == null) goto addr_124
local_5__511 = local_4__514.getClassDefinition(local_1__512);
if (local_5__511.isAbstract(local_1__512) && ((sun.tools.java.ClassDefinition) this).hasAbstractFields(local_1__512, local_5__511)) goto addr_122
return false;
addr_122: return true;
addr_124: return false;
}
public boolean superClassOf(sun.tools.java.Environment local_1__517, sun.tools.java.ClassDeclaration local_2__518) {
sun.tools.java.ClassDefinition local_3__516;
<java.lang.Object-sun.tools.java.ClassDeclaration>local_4__519;
sun.tools.java.ClassDeclaration local_3__520;
nop;
goto addr_55
addr_3: local_3__520 = declaration;
local_4__519 = local_2__518;
if (local_4__519 == null || !(local_4__519 instanceof sun.tools.java.ClassDeclaration) || !local_3__520.type.equals(((sun.tools.java.ClassDeclaration)local_4__519).type)) goto addr_44
return true;
addr_44: local_3__516 = local_2__518.getClassDefinition(local_1__517);
local_2__518 = local_3__516.superClass;
addr_55: if (local_2__518 != 0) goto addr_3
return false;
}
public boolean enclosingClassOf(sun.tools.java.ClassDefinition local_1__523) {
nop;
goto addr_10
addr_3: if (this != local_1__523) goto addr_10
return true;
addr_10: if ((local_1__523 = local_1__523.outerClass) != 0) goto addr_3
return false;
}
public boolean subClassOf(sun.tools.java.Environment local_1__527, sun.tools.java.ClassDeclaration local_2__530) {
sun.tools.java.ClassDefinition local_4__526;
sun.tools.java.ClassDeclaration local_3__528;
<java.lang.Object-sun.tools.java.ClassDeclaration>local_4__529;
local_3__528 = declaration;
goto addr_57
addr_8: local_4__529 = local_2__530;
if (local_4__529 == null || !(local_4__529 instanceof sun.tools.java.ClassDeclaration) || !local_3__528.type.equals(((sun.tools.java.ClassDeclaration)local_4__529).type)) goto addr_44
return true;
addr_44: local_4__526 = local_3__528.getClassDefinition(local_1__527);
local_3__528 = local_4__526.superClass;
addr_57: if (local_3__528 != 0) goto addr_8
return false;
}
public boolean implementedBy(sun.tools.java.Environment local_1__534, sun.tools.java.ClassDeclaration local_2__535) {
sun.tools.java.ClassDefinition local_3__533;
<null-null>local_3__536[];
int local_4__537;
sun.tools.java.ClassDefinition local_3__539;
<java.lang.Object-sun.tools.java.ClassDeclaration>local_4__540;
sun.tools.java.ClassDeclaration local_3__541;
nop;
goto addr_113
addr_3: local_3__541 = declaration;
local_4__540 = local_2__535;
if (local_4__540 == null || !(local_4__540 instanceof sun.tools.java.ClassDeclaration) || !local_3__541.type.equals(((sun.tools.java.ClassDeclaration)local_4__540).type)) goto addr_44
return true;
addr_44: local_3__539 = local_2__535.getClassDefinition(local_1__534);
if (local_3__539.interfaces != 0) goto addr_67
throw new sun.tools.java.CompilerError("getInterfaces");
addr_67: local_3__536 = local_3__539.interfaces;
local_4__537 = 0;
goto addr_95
addr_78: if (!implementedBy(local_1__534, local_3__536[local_4__537])) goto addr_92
return true;
addr_92: local_4__537 += 1;
addr_95: if (local_4__537 < local_3__536.length) goto addr_78
local_3__533 = local_2__535.getClassDefinition(local_1__534);
local_2__535 = local_3__533.superClass;
addr_113: if (local_2__535 != 0) goto addr_3
return false;
}
public boolean canAccess(sun.tools.java.Environment local_1__554, sun.tools.java.ClassDeclaration local_2__545) {
<java.lang.Object-sun.tools.java.Identifier>local_5__542;
<java.lang.Object-sun.tools.java.Identifier>local_4__543;
sun.tools.java.ClassDeclaration local_4__547;
sun.tools.java.Identifier local_4__551;
sun.tools.java.Identifier local_5__552;
sun.tools.java.ClassDefinition local_3__553;
local_3__553 = local_2__545.getClassDefinition(local_1__554);
if ((local_3__553.modifiers & 131072) == 0) goto addr_18
return true;
addr_18: if (local_3__553.outerClass == 0) goto addr_35
return canAccess(local_1__554, local_3__553.getInnerClassField());
addr_35: if ((local_3__553.modifiers & 1) == 0) goto addr_46
return true;
addr_46: local_4__547 = declaration;
local_4__551 = local_4__547.type.getClassName();
local_4__543 = local_4__551.isQualified() ? (sun.tools.java.Identifier)local_4__551.value : sun.tools.java.Constants.idNull;
local_5__552 = local_2__545.type.getClassName();
local_5__542 = local_5__552.isQualified() ? (sun.tools.java.Identifier)local_5__552.value : sun.tools.java.Constants.idNull;
if (local_4__543 == local_5__542) goto addr_128
return false;
addr_128: return true;
}
public boolean canAccess(sun.tools.java.Environment local_1__566, sun.tools.java.FieldDefinition local_2__571) {
<java.lang.Object-sun.tools.java.Identifier>local_4__556;
<java.lang.Object-sun.tools.java.Identifier>local_3__557;
sun.tools.java.ClassDeclaration local_4__559;
sun.tools.java.ClassDefinition local_4__560;
sun.tools.java.ClassDeclaration local_3__563;
sun.tools.java.ClassDefinition local_3__565;
sun.tools.java.Identifier local_3__567;
sun.tools.java.Identifier local_4__568;
sun.tools.java.ClassDefinition local_4__570;
sun.tools.java.ClassDefinition local_3__573;
<java.lang.Object-sun.tools.java.ClassDeclaration>local_4__575;
sun.tools.java.ClassDeclaration local_3__576;
if ((local_2__571.modifiers & 1) == 0) goto addr_11
return true;
addr_11: if ((local_2__571.modifiers & 4) == 0 || !subClassOf(local_1__566, (local_3__565 = local_2__571.clazz).declaration)) goto addr_39
return true;
addr_39: if ((local_2__571.modifiers & 2) == 0) goto addr_105
local_3__573 = getTopClass();
local_3__576 = local_3__573.declaration;
local_4__570 = local_2__571.clazz.getTopClass();
local_4__575 = local_4__570.declaration;
if (local_4__575 == null || !(local_4__575 instanceof sun.tools.java.ClassDeclaration)) goto addr_103
return local_3__576.type.equals(((sun.tools.java.ClassDeclaration)local_4__575).type);
addr_103: return false;
addr_105: local_3__563 = declaration;
local_3__567 = local_3__563.type.getClassName();
local_3__557 = local_3__567.isQualified() ? (sun.tools.java.Identifier)local_3__567.value : sun.tools.java.Constants.idNull;
local_4__560 = local_2__571.clazz;
local_4__559 = local_4__560.declaration;
local_4__568 = local_4__559.type.getClassName();
local_4__556 = local_4__568.isQualified() ? (sun.tools.java.Identifier)local_4__568.value : sun.tools.java.Constants.idNull;
if (local_3__557 == local_4__556) goto addr_194
return false;
addr_194: return true;
}
public boolean protectedAccess(sun.tools.java.Environment local_1__586, sun.tools.java.FieldDefinition local_2__582, sun.tools.java.Type local_3__587) {
<java.lang.Object-sun.tools.java.Identifier>local_5__577;
<java.lang.Object-sun.tools.java.Identifier>local_4__578;
sun.tools.java.ClassDeclaration local_5__580;
sun.tools.java.ClassDefinition local_5__581;
sun.tools.java.ClassDeclaration local_4__584;
sun.tools.java.Identifier local_4__588;
sun.tools.java.Identifier local_5__589;
if ((local_2__582.modifiers & 8) != 0 || local_3__587.typeCode == 9 && local_2__582.name == sun.tools.java.Constants.idClone && local_2__582.type.getArgumentTypes().length == 0 || local_3__587.typeCode == 10 && local_1__586.getClassDefinition(local_3__587.getClassName()).subClassOf(local_1__586, declaration)) goto addr_168
local_4__584 = declaration;
local_4__588 = local_4__584.type.getClassName();
local_4__578 = local_4__588.isQualified() ? (sun.tools.java.Identifier)local_4__588.value : sun.tools.java.Constants.idNull;
local_5__581 = local_2__582.clazz;
local_5__580 = local_5__581.declaration;
local_5__589 = local_5__580.type.getClassName();
local_5__577 = local_5__589.isQualified() ? (sun.tools.java.Identifier)local_5__589.value : sun.tools.java.Constants.idNull;
if (local_4__578 == local_5__577 || 0) goto addr_168
return false;
addr_168: return true;
}
public sun.tools.java.FieldDefinition getAccessField(sun.tools.java.Environment local_1__591, sun.tools.tree.Context local_2__592, sun.tools.java.FieldDefinition local_3__593) {
return null;
}
public sun.tools.java.FieldDefinition getUpdateField(sun.tools.java.Environment local_1__595, sun.tools.tree.Context local_2__596, sun.tools.java.FieldDefinition local_3__597) {
return null;
}
public sun.tools.java.FieldDefinition getVariable(sun.tools.java.Environment local_1__604, sun.tools.java.Identifier local_2__603) {
int local_6__600;
sun.tools.java.Type local_4__608;
sun.tools.java.ClassDeclaration local_4__609;
sun.tools.java.FieldDefinition local_5__610;
sun.tools.java.FieldDefinition local_7__611;
sun.tools.java.FieldDefinition local_3__612;
local_3__612 = (sun.tools.java.FieldDefinition)fieldHash.get(local_2__603);
goto addr_49
addr_15: local_4__608 = local_3__612.type;
if (local_4__608.typeCode == 12 || 0 || local_3__612.innerClass != 0) goto addr_44
return local_3__612;
addr_44: local_3__612 = local_3__612.nextMatch;
addr_49: if (local_3__612 != 0) goto addr_15
local_4__609 = superClass;
local_5__610 = local_4__609 != null ? local_4__609.getClassDefinition(local_1__604).getVariable(local_1__604, local_2__603) : null;
local_6__600 = 0;
goto addr_141
addr_87: local_7__611 = interfaces[local_6__600].getClassDefinition(local_1__604).getVariable(local_1__604, local_2__603);
if (local_7__611 == null) goto addr_138
if (local_5__610 == null || local_7__611 == local_5__610) goto addr_134
throw new sun.tools.java.AmbiguousField(local_7__611, local_5__610);
addr_134: local_5__610 = local_7__611;
addr_138: local_6__600 += 1;
addr_141: if (local_6__600 < interfaces.length) goto addr_87
return local_5__610;
}
public boolean reportDeprecated(sun.tools.java.Environment local_1__613) {
if ((modifiers & 262144) != 0 || outerClass != 0 && outerClass.reportDeprecated(local_1__613)) goto addr_30
return false;
addr_30: return true;
}
public void noteUsedBy(sun.tools.java.ClassDefinition local_1__619, int local_2__616, sun.tools.java.Environment local_3__617) {
<java.lang.Object-sun.tools.java.ClassDefinition>local_4__615;
if (!reportDeprecated(local_3__617)) goto addr_26
local_4__615 = this;
local_3__617.error(local_3__617.source, local_2__616, "warn.class.is.deprecated", local_4__615, "null", "null");
addr_26: return;
}
public sun.tools.java.FieldDefinition getInnerClass(sun.tools.java.Environment local_1__628, sun.tools.java.Identifier local_2__627) {
sun.tools.java.ClassDefinition local_4__625;
sun.tools.java.ClassDeclaration local_4__629;
sun.tools.java.FieldDefinition local_3__630;
local_3__630 = (sun.tools.java.FieldDefinition)fieldHash.get(local_2__627);
goto addr_50
addr_15: if (local_3__630.innerClass == 0) goto addr_45
local_4__625 = local_3__630.getInnerClass();
if ((local_4__625.modifiers & 131072) != 0 || 0) goto addr_45
return local_3__630;
addr_45: local_3__630 = local_3__630.nextMatch;
addr_50: if (local_3__630 != 0) goto addr_15
local_4__629 = getSuperClass(local_1__628);
if (local_4__629 == null) goto addr_78
return local_4__629.getClassDefinition(local_1__628).getInnerClass(local_1__628, local_2__627);
addr_78: return null;
}
private sun.tools.java.FieldDefinition matchMethod(sun.tools.java.Environment local_1__639, sun.tools.java.ClassDefinition local_2__638, sun.tools.java.Identifier local_3__637, sun.tools.java.Type local_4__636[], sun.tools.java.FieldDefinition local_5__650, boolean local_6__634) {
<null-null>local_10__632[];
int local_11__633;
sun.tools.java.ClassDefinition local_9__642;
sun.tools.java.ClassDeclaration local_8__643;
sun.tools.java.Identifier local_8__644;
sun.tools.java.FieldDefinition local_7__649;
local_7__649 = (sun.tools.java.FieldDefinition)fieldHash.get(local_3__637);
goto addr_106
addr_16: if (!local_1__639.isApplicable(local_7__649, local_4__636) || local_2__638 != 0 && !local_2__638.canAccess(local_1__639, local_7__649)) goto addr_99
if (!local_6__634) goto addr_69
if (local_5__650 != 0 && !local_1__639.isMoreSpecific(local_7__649, local_5__650)) goto addr_99
local_5__650 = local_7__649;
goto addr_99
addr_69: if (local_7__649 == local_5__650 || local_1__639.isMoreSpecific(local_5__650, local_7__649)) goto addr_99
throw new sun.tools.java.AmbiguousField(local_5__650, local_7__649);
addr_99: local_7__649 = local_7__649.nextMatch;
addr_106: if (local_7__649 != 0) goto addr_16
local_8__644 = sun.tools.java.Constants.idInit;
if (local_3__637 != local_8__644 && !false) goto addr_129
return local_5__650;
addr_129: if (local_5__650 != 0 && local_6__634) goto addr_248
local_8__643 = superClass;
if (local_8__643 == null) goto addr_248
local_9__642 = local_8__643.getClassDefinition(local_1__639);
local_5__650 = ((sun.tools.java.ClassDefinition) local_9__642).matchMethod(local_1__639, local_2__638, local_3__637, local_4__636, local_5__650, local_6__634);
if ((modifiers & 512) == 0) goto addr_248
if (interfaces != 0) goto addr_202
throw new sun.tools.java.CompilerError("getInterfaces");
addr_202: local_10__632 = interfaces;
local_11__633 = 0;
goto addr_240
addr_214: local_5__650 = ((sun.tools.java.ClassDefinition) local_10__632[local_11__633].getClassDefinition(local_1__639)).matchMethod(local_1__639, local_2__638, local_3__637, local_4__636, local_5__650, local_6__634);
local_11__633 += 1;
addr_240: if (local_11__633 < local_10__632.length) goto addr_214
addr_248: return local_5__650;
}
public sun.tools.java.FieldDefinition matchMethod(sun.tools.java.Environment local_1__655, sun.tools.java.ClassDefinition local_2__654, sun.tools.java.Identifier local_3__653, sun.tools.java.Type local_4__652[]) {
sun.tools.java.FieldDefinition local_5__651;
local_5__651 = ((sun.tools.java.ClassDefinition) this).matchMethod(local_1__655, local_2__654, local_3__653, local_4__652, null, true);
if (local_5__651 == null) goto addr_31
((sun.tools.java.ClassDefinition) this).matchMethod(local_1__655, local_2__654, local_3__653, local_4__652, local_5__651, false);
addr_31: return local_5__651;
}
public sun.tools.java.FieldDefinition matchMethod(sun.tools.java.Environment local_1__659, sun.tools.java.ClassDefinition local_2__658, sun.tools.java.Identifier local_3__657) {
return matchMethod(local_1__659, local_2__658, local_3__657, sun.tools.java.Type.noArgs);
}
public sun.tools.java.FieldDefinition findMethod(sun.tools.java.Environment local_1__663, sun.tools.java.Identifier local_2__662, sun.tools.java.Type local_3__661) {
sun.tools.java.ClassDeclaration local_5__664;
sun.tools.java.Identifier local_5__666;
sun.tools.java.FieldDefinition local_4__669;
local_4__669 = (sun.tools.java.FieldDefinition)fieldHash.get(local_2__662);
goto addr_38
addr_16: if (!local_4__669.type.equalArguments(local_3__661)) goto addr_31
return local_4__669;
addr_31: local_4__669 = local_4__669.nextMatch;
addr_38: if (local_4__669 != 0) goto addr_16
local_5__666 = sun.tools.java.Constants.idInit;
if (local_2__662 != local_5__666 && !false) goto addr_60
return null;
addr_60: local_5__664 = superClass;
if (local_5__664 != null) goto addr_73
return null;
addr_73: return local_5__664.getClassDefinition(local_1__663).findMethod(local_1__663, local_2__662, local_3__661);
}
protected void basicCheck(sun.tools.java.Environment local_1__670) {
if (outerClass == 0) goto addr_15
outerClass.basicCheck(local_1__670);
addr_15: return;
}
public void check(sun.tools.java.Environment local_1__673) {
return;
}
public sun.tools.tree.Vset checkLocalClass(sun.tools.java.Environment local_1__675, sun.tools.tree.Context local_2__676, sun.tools.tree.Vset local_3__677, sun.tools.java.ClassDefinition local_4__678, sun.tools.tree.Expression local_5__679[], sun.tools.java.Type local_6__680[]) {
throw new sun.tools.java.CompilerError("checkLocalClass");
}
public void inlineLocalClass(sun.tools.java.Environment local_1__682) {
return;
}
public void resolveTypeStructure(sun.tools.java.Environment local_1__684) {
return;
}
public sun.tools.java.Identifier resolveName(sun.tools.java.Environment local_1__701, sun.tools.java.Identifier local_2__700) {
sun.tools.java.ClassDefinition local_3__688;
sun.tools.java.ClassDeclaration local_6__691;
sun.tools.java.ClassDefinition local_5__692;
sun.tools.java.FieldDefinition local_4__693;
<sun.tools.java.Identifier-null>local_2__694;
<sun.tools.java.Identifier-null>local_3__695;
sun.tools.java.Identifier local_3__698;
if ((local_1__701.getFlags() & 256) == 0) goto addr_117
if (!local_2__700.isQualified()) goto addr_66
local_3__698 = resolveName(local_1__701, local_2__700.getHead());
if (local_1__701.classExists(local_3__698)) goto addr_42
return local_1__701.resolvePackageQualifiedName(local_2__700);
addr_42: return local_1__701.getClassDefinition(local_3__698).resolveInnerClass(local_1__701, local_2__700.getTail());
addr_56: stack_0;
return sun.tools.java.Identifier.lookupInner(local_3__695, local_2__694.getTail());
addr_66: local_3__688 = this;
goto addr_113
addr_71: local_4__693 = local_3__688.getInnerClass(local_1__701, local_2__700);
if (local_4__693 == null) goto addr_108
local_5__692 = local_4__693.getInnerClass();
local_6__691 = local_5__692.declaration;
return local_6__691.type.getClassName();
addr_107: stack_0;
addr_108: local_3__688 = local_3__688.outerClass;
addr_113: if (local_3__688 != 0) goto addr_71
addr_117: return local_1__701.resolveName(local_2__700);
}
public sun.tools.java.Identifier resolveInnerClass(sun.tools.java.Environment local_1__713, sun.tools.java.Identifier local_2__712) {
sun.tools.java.ClassDeclaration local_3__703;
sun.tools.java.ClassDeclaration local_5__707;
sun.tools.java.ClassDefinition local_4__708;
sun.tools.java.FieldDefinition local_3__709;
<sun.tools.java.Identifier-null>local_2__710;
<sun.tools.java.Identifier-null>local_3__711;
sun.tools.java.Identifier local_3__714;
if (!local_2__712.isInner()) goto addr_17
throw new sun.tools.java.CompilerError("inner");
addr_17: if (!local_2__712.isQualified()) goto addr_58
local_3__714 = resolveInnerClass(local_1__713, local_2__712.getHead());
return local_1__713.getClassDefinition(local_3__714).resolveInnerClass(local_1__713, local_2__712.getTail());
addr_48: stack_0;
return sun.tools.java.Identifier.lookupInner(local_3__711, local_2__710.getTail());
addr_58: local_3__709 = getInnerClass(local_1__713, local_2__712);
if (local_3__709 == null) goto addr_92
local_4__708 = local_3__709.getInnerClass();
local_5__707 = local_4__708.declaration;
return local_5__707.type.getClassName();
addr_91: stack_0;
addr_92: local_3__703 = declaration;
return sun.tools.java.Identifier.lookupInner(local_3__703.type.getClassName(), local_2__712);
}
public boolean innerClassExists(sun.tools.java.Identifier local_1__722) {
sun.tools.java.ClassDefinition local_3__718;
<java.lang.Object-sun.tools.java.Identifier>local_2__719;
sun.tools.java.FieldDefinition local_2__723;
local_2__719 = local_1__722.getHead();
local_2__723 = (sun.tools.java.FieldDefinition)fieldHash.get(local_2__719);
goto addr_76
addr_20: if (local_2__723.innerClass == 0) goto addr_71
local_3__718 = local_2__723.getInnerClass();
if ((local_3__718.modifiers & 131072) != 0 || 0) goto addr_71
if (!local_1__722.isQualified() || local_2__723.getInnerClass().innerClassExists(local_1__722.getTail())) goto addr_69
return false;
addr_69: return true;
addr_71: local_2__723 = local_2__723.nextMatch;
addr_76: if (local_2__723 != 0) goto addr_20
return false;
}
public sun.tools.java.FieldDefinition findAnyMethod(sun.tools.java.Environment local_1__725, sun.tools.java.Identifier local_2__724) {
sun.tools.java.ClassDeclaration local_4__726;
sun.tools.java.Type local_4__730;
sun.tools.java.FieldDefinition local_3__731;
local_3__731 = (sun.tools.java.FieldDefinition)fieldHash.get(local_2__724);
goto addr_42
addr_15: local_4__730 = local_3__731.type;
if (local_4__730.typeCode != 12 && !false) goto addr_37
return local_3__731;
addr_37: local_3__731 = local_3__731.nextMatch;
addr_42: if (local_3__731 != 0) goto addr_15
local_4__726 = superClass;
if (local_4__726 != null) goto addr_59
return null;
addr_59: return local_4__726.getClassDefinition(local_1__725).findAnyMethod(local_1__725, local_2__724);
}
public int diagnoseMismatch(sun.tools.java.Environment local_1__738, sun.tools.java.Identifier local_2__737, sun.tools.java.Type local_3__732[], int local_4__735, sun.tools.java.Type local_5__743[]) {
int local_8__740;
int local_6__741[];
sun.tools.java.Type local_7__742[];
local_6__741 = new int[local_3__732.length];
local_7__742 = new sun.tools.java.Type[local_3__732.length];
if (((sun.tools.java.ClassDefinition) this).diagnoseMismatch(local_1__738, local_2__737, local_3__732, local_4__735, local_6__741, local_7__742)) goto addr_32
return -2;
addr_32: local_8__740 = local_4__735;
goto addr_71
addr_39: if (local_6__741[local_8__740] >= 4) goto addr_68
local_5__743[0] = local_7__742[local_8__740];
return local_8__740 << 2 | local_6__741[local_8__740];
addr_68: local_8__740 += 1;
addr_71: if (local_8__740 < local_3__732.length) goto addr_39
return -1;
}
private boolean diagnoseMismatch(sun.tools.java.Environment local_1__750, sun.tools.java.Identifier local_2__749, sun.tools.java.Type local_3__748[], int local_4__747, int local_5__746[], sun.tools.java.Type local_6__745[]) {
sun.tools.java.ClassDeclaration local_9__751;
sun.tools.java.Identifier local_9__753;
sun.tools.java.FieldDefinition local_8__755;
int local_10__756;
sun.tools.java.Type local_11__758;
<null-null>local_9__759[];
sun.tools.java.Type local_12__760;
sun.tools.java.Type local_9__762;
boolean local_7__764;
local_7__764 = 0;
local_8__755 = (sun.tools.java.FieldDefinition)fieldHash.get(local_2__749);
goto addr_207
addr_19: local_9__762 = local_8__755.type;
if (local_9__762.typeCode != 12 && !false) goto addr_200
local_9__759 = local_8__755.type.getArgumentTypes();
if (local_9__759.length != local_3__748.length) goto addr_200
local_7__764 = 1;
local_10__756 = local_4__747;
goto addr_193
addr_68: local_11__758 = local_3__748[local_10__756];
local_12__760 = local_9__759[local_10__756];
if (!local_1__750.implicitCast(local_11__758, local_12__760)) goto addr_101
local_5__746[local_10__756] = 4;
goto addr_190
addr_101: if (local_5__746[local_10__756] > 2 || !local_1__750.explicitCast(local_11__758, local_12__760)) goto addr_145
if (local_5__746[local_10__756] >= 2) goto addr_136
local_6__745[local_10__756] = null;
addr_136: local_5__746[local_10__756] = 2;
goto addr_153
addr_145: if (local_5__746[local_10__756] > 0) goto addr_190
addr_153: if (local_6__745[local_10__756] != 0) goto addr_171
local_6__745[local_10__756] = local_12__760;
goto addr_190
addr_171: if (local_6__745[local_10__756] == local_12__760) goto addr_190
local_5__746[local_10__756] |= 1;
addr_190: local_10__756 += 1;
addr_193: if (local_10__756 < local_3__748.length) goto addr_68
addr_200: local_8__755 = local_8__755.nextMatch;
addr_207: if (local_8__755 != 0) goto addr_19
local_9__753 = sun.tools.java.Constants.idInit;
if (local_2__749 != local_9__753 && !false) goto addr_230
return local_7__764;
addr_230: local_9__751 = superClass;
if (local_9__751 == null || !((sun.tools.java.ClassDefinition) local_9__751.getClassDefinition(local_1__750)).diagnoseMismatch(local_1__750, local_2__749, local_3__748, local_4__747, local_5__746, local_6__745)) goto addr_265
local_7__764 = true;
addr_265: return local_7__764;
}
public void addField(sun.tools.java.FieldDefinition local_1__765) {
sun.tools.java.Type local_2__767;
if (firstField != 0) goto addr_20
firstField = lastField = local_1__765;
goto addr_130
addr_20: if ((local_1__765.modifiers & 524288) == 0 || (local_1__765.modifiers & 16) == 0) goto addr_99
local_2__767 = local_1__765.type;
if (local_2__767.typeCode == 12 || 0 || local_1__765.innerClass != 0) goto addr_99
local_1__765.nextField = firstField;
firstField = local_1__765;
local_1__765.nextMatch = (sun.tools.java.FieldDefinition)fieldHash.get(local_1__765.name);
goto addr_130
addr_99: lastField.nextField = local_1__765;
lastField = local_1__765;
local_1__765.nextMatch = (sun.tools.java.FieldDefinition)fieldHash.get(local_1__765.name);
addr_130: fieldHash.put(local_1__765.name, local_1__765);
return;
}
public void addField(sun.tools.java.Environment local_1__768, sun.tools.java.FieldDefinition local_2__769) {
addField(local_2__769);
if (!resolved) goto addr_17
local_2__769.resolveTypeStructure(local_1__768);
addr_17: return;
}
public sun.tools.tree.UplevelReference getReference(sun.tools.tree.LocalField local_1__771) {
sun.tools.tree.UplevelReference local_2__775;
local_2__775 = references;
goto addr_23
addr_8: if (local_2__775.getTarget() != local_1__771) goto addr_18
return local_2__775;
addr_18: local_2__775 = local_2__775.getNext();
addr_23: if (local_2__775 != 0) goto addr_8
return addReference(local_1__771);
}
protected sun.tools.tree.UplevelReference addReference(sun.tools.tree.LocalField local_1__780) {
sun.tools.tree.UplevelReference local_2__776;
if (local_1__780.clazz != this) goto addr_32
throw new sun.tools.java.CompilerError("addReference " + local_1__780);
addr_32: if (!referencesFrozen) goto addr_63
throw new sun.tools.java.CompilerError("referencesMustNotBeFrozen " + this);
addr_63: local_2__776 = new sun.tools.tree.UplevelReference(this, local_1__780);
references = local_2__776.insertInto(references);
return local_2__776;
}
public sun.tools.tree.UplevelReference getReferences() {
return references;
}
public sun.tools.tree.UplevelReference getReferencesFrozen() {
referencesFrozen = true;
return references;
}
public final void referencesMustNotBeFrozen() {
if (!referencesFrozen) goto addr_31
throw new sun.tools.java.CompilerError("referencesMustNotBeFrozen " + this);
addr_31: return;
}
public void addDependency(sun.tools.java.ClassDeclaration local_1__786) {
throw new sun.tools.java.CompilerError("addDependency");
}
public void print(java.io.PrintStream local_1__787) {
sun.tools.java.FieldDefinition local_2__789;
int local_2__791;
sun.tools.java.ClassDeclaration local_3__792;
sun.tools.java.ClassDeclaration local_2__793;
sun.tools.java.ClassDeclaration local_2__794;
if ((modifiers & 1) == 0) goto addr_15
local_1__787.print("public ");
addr_15: (modifiers & 512) != 0 ? local_1__787.print("interface ") : local_1__787.print("class ");
local_1__787.print("" + (local_2__794 = declaration).type.getClassName() + " ");
if (superClass == 0) goto addr_118
local_1__787.print("extends " + (local_2__793 = superClass).type.getClassName() + " ");
addr_118: if (interfaces.length <= 0) goto addr_183
local_1__787.print("implements ");
local_2__791 = 0;
goto addr_174
addr_137: if (local_2__791 <= 0) goto addr_147
local_1__787.print(", ");
addr_147: local_1__787.print((local_3__792 = interfaces[local_2__791]).type.getClassName());
local_1__787.print(" ");
local_2__791 += 1;
addr_174: if (local_2__791 < interfaces.length) goto addr_137
addr_183: local_1__787.println("{");
local_2__789 = firstField;
goto addr_213
addr_197: local_1__787.print(" ");
local_2__789.print(local_1__787);
local_2__789 = local_2__789.nextField;
addr_213: if (local_2__789 != 0) goto addr_197
local_1__787.println("}");
return;
}
public java.lang.String toString() {
return declaration.toString();
}
public void cleanup(sun.tools.java.Environment local_1__799) {
sun.tools.java.FieldDefinition local_2__798;
sun.tools.java.ClassDeclaration local_2__800;
if ((local_1__799.getFlags() & 2) == 0) goto addr_45
local_1__799.output("[cleanup " + (local_2__800 = declaration).type.getClassName() + "]");
addr_45: local_2__798 = firstField;
goto addr_63
addr_53: local_2__798.cleanup(local_1__799);
local_2__798 = local_2__798.nextField;
addr_63: if (local_2__798 != 0) goto addr_53
documentation = "null";
return;
}
}
/* Original source: ClassFile.java */
public class ClassFile
extends java.lang.Object
{
private java.io.File file;
private java.util.zip.ZipFile zipFile;
private java.util.zip.ZipEntry zipEntry;
public sun.tools.java.ClassFile(java.io.File local_1__801) {
super();
file = local_1__801;
return;
}
public sun.tools.java.ClassFile(java.util.zip.ZipFile local_1__805, java.util.zip.ZipEntry local_2__803) {
super();
zipFile = local_1__805;
zipEntry = local_2__803;
return;
}
public boolean isZipped() {
if (zipFile != 0) goto addr_9
return false;
addr_9: return true;
}
public java.io.InputStream getInputStream() {
<java.lang.Throwable-null>local_1__807;
if (file == 0) goto addr_19
return new java.io.FileInputStream(file);
addr_19: return zipFile.getInputStream(zipEntry);
addr_31: local_1__807 = stack_0;
throw new java.io.IOException(local_1__807.getMessage());
}
public boolean exists() {
if (file == 0) goto addr_15
return file.exists();
addr_15: return true;
}
public boolean isDirectory() {
if (file == 0) goto addr_15
return file.isDirectory();
addr_15: return zipEntry.getName().endsWith("/");
}
public long lastModified() {
if (file == 0) goto addr_15
return file.lastModified();
addr_15: return zipEntry.getTime();
}
public java.lang.String getPath() {
if (file == 0) goto addr_15
return file.getPath();
addr_15: return "" + zipFile.getName() + "(" + zipEntry.getName() + ")";
}
public java.lang.String getName() {
if (file == 0) goto addr_15
return file.getName();
addr_15: return zipEntry.getName();
}
public java.lang.String getAbsoluteName() {
java.lang.String local_1__820;
<sun.tools.java.ClassFile-null>local_0__822;
if (file == 0) goto addr_30
local_1__820 = file.getCanonicalPath();
goto addr_71
addr_18: stack_0;
local_1__820 = local_0__822.file.getAbsolutePath();
goto addr_71
addr_30: local_1__820 = "" + zipFile.getName() + "(" + zipEntry.getName() + ")";
addr_71: return local_1__820;
}
public long length() {
if (file == 0) goto addr_15
return file.length();
addr_15: return zipEntry.getSize();
}
public java.lang.String toString() {
if (file == 0) goto addr_15
return file.toString();
addr_15: return zipEntry.toString();
}
}
/* Original source: ClassNotFound.java */
public class ClassNotFound
extends java.lang.Exception
{
public sun.tools.java.Identifier name;
public sun.tools.java.ClassNotFound(sun.tools.java.Identifier local_1__828) {
super(local_1__828.name);
name = local_1__828;
return;
}
}
/* Original source: ClassPath.java */
public class ClassPath
extends java.lang.Object
{
static final char dirSeparator;
java.lang.String pathstr;
private sun.tools.java.ClassPathEntry path[];
private final java.lang.String fileSeparatorChar;
public sun.tools.java.ClassPath(java.lang.String local_1__838) {
int local_4__830;
<null-null>local_5__832[];
int local_6__833;
int local_3__835;
int local_2__837;
java.util.zip.ZipFile local_8__840;
java.io.File local_7__841;
int local_4__842;
int local_2__844;
super();
fileSeparatorChar = "" + java.io.File.separatorChar;
pathstr = local_1__838;
local_2__844 = local_4__842 = 0;
goto addr_33
addr_27: local_4__842 += 1;
local_2__844 += 1;
addr_33: if ((local_2__844 = local_1__838.indexOf(dirSeparator, local_2__844)) != -1) goto addr_27
local_5__832 = new sun.tools.java.ClassPathEntry[local_4__842 + 1];
local_6__833 = local_1__838.length();
local_2__837 = local_4__830 = 0;
goto addr_226
addr_70: if ((local_3__835 = local_1__838.indexOf(dirSeparator, local_2__837)) != -1) goto addr_87
local_3__835 = local_6__833;
addr_87: if (local_2__837 != local_3__835) goto addr_127
local_5__832[local_4__830] = new sun.tools.java.ClassPathEntry();
local_5__832[local_4__830++].dir = new java.io.File(".");
goto addr_222
addr_127: local_7__841 = new java.io.File(local_1__838.substring(local_2__837, local_3__835));
if (!local_7__841.isFile()) goto addr_197
local_8__840 = new java.util.zip.ZipFile(local_7__841);
local_5__832[local_4__830] = new sun.tools.java.ClassPathEntry();
local_5__832[local_4__830++].zip = local_8__840;
goto addr_222
addr_189: stack_0;
goto addr_222
addr_193: stack_0;
goto addr_222
addr_197: local_5__832[local_4__830] = new sun.tools.java.ClassPathEntry();
local_5__832[local_4__830++].dir = local_7__841;
addr_222: local_2__837 = local_3__835 + 1;
addr_226: if (local_2__837 < local_6__833) goto addr_70
path = new sun.tools.java.ClassPathEntry[local_4__830];
java.lang.System.arraycopy(local_5__832, 0, path, 0, local_4__830);
return;
}
public sun.tools.java.ClassFile getDirectory(java.lang.String local_1__845) {
return ((sun.tools.java.ClassPath) this).getFile(local_1__845, true);
}
public sun.tools.java.ClassFile getFile(java.lang.String local_1__847) {
return ((sun.tools.java.ClassPath) this).getFile(local_1__847, false);
}
private sun.tools.java.ClassFile getFile(java.lang.String local_1__857, boolean local_2__854) {
int local_8__852;
java.lang.String local_4__853;
java.lang.String local_3__855;
<null-null>local_7__858[];
java.lang.String local_6__860;
int local_5__863;
java.io.File local_6__865;
java.util.zip.ZipEntry local_7__866;
int local_5__867;
local_3__855 = local_1__857;
local_4__853 = "";
if (local_2__854) goto addr_42
local_5__863 = local_1__857.lastIndexOf(java.io.File.separatorChar);
local_3__855 = local_1__857.substring(0, local_5__863 + 1);
local_4__853 = local_1__857.substring(local_5__863 + 1);
goto addr_85
addr_42: if (local_3__855.equals("") || local_3__855.endsWith(fileSeparatorChar)) goto addr_85
local_3__855 = local_3__855 + java.io.File.separatorChar;
local_1__857 = local_3__855;
addr_85: local_5__867 = 0;
goto addr_256
addr_91: if (path[local_5__867].zip == 0) goto addr_157
local_6__860 = local_1__857.replace(java.io.File.separatorChar, 47);
local_7__866 = path[local_5__867].zip.getEntry(local_6__860);
if (local_7__866 == null) goto addr_253
return new sun.tools.java.ClassFile(path[local_5__867].zip, local_7__866);
addr_157: local_6__865 = new java.io.File(path[local_5__867].dir.getPath(), local_1__857);
local_7__858 = path[local_5__867].getFiles(local_3__855);
if (!local_2__854) goto addr_213
if (local_7__858.length <= 0) goto addr_253
return new sun.tools.java.ClassFile(local_6__865);
addr_213: local_8__852 = 0;
goto addr_245
addr_219: if (!local_4__853.equals(local_7__858[local_8__852])) goto addr_242
return new sun.tools.java.ClassFile(local_6__865);
addr_242: local_8__852 += 1;
addr_245: if (local_8__852 < local_7__858.length) goto addr_219
addr_253: local_5__867 += 1;
addr_256: if (local_5__867 < path.length) goto addr_91
return null;
}
public java.util.Enumeration getFiles(java.lang.String local_1__877, java.lang.String local_2__878) {
java.util.Hashtable local_3__869;
int local_4__870;
<null-null>local_5__871[];
int local_6__872;
java.io.File local_8__873;
java.lang.String local_7__874;
<java.lang.String-null>local_7__876;
java.util.Enumeration local_5__879;
java.util.zip.ZipEntry local_6__880;
java.lang.String local_7__881;
java.lang.String local_7__882;
local_3__869 = new java.util.Hashtable();
local_4__870 = path.length;
goto addr_251
addr_18: if (path[local_4__870].zip == 0) goto addr_138
local_5__879 = path[local_4__870].zip.entries();
goto addr_125
addr_49: local_6__880 = (java.util.zip.ZipEntry)local_5__879.nextElement();
local_7__882 = local_6__880.getName();
local_7__881 = local_7__882.replace(47, java.io.File.separatorChar);
if (!local_7__881.startsWith(local_1__877, 0) || !local_7__881.endsWith(local_2__878)) goto addr_125
local_3__869.put(local_7__881, new sun.tools.java.ClassFile(path[local_4__870].zip, local_6__880));
addr_125: if (local_5__879.hasMoreElements()) goto addr_49
nop;
goto addr_251
addr_138: local_5__871 = path[local_4__870].getFiles(local_1__877);
local_6__872 = 0;
goto addr_243
addr_157: local_7__876 = local_5__871[local_6__872];
if (!local_7__876.endsWith(local_2__878)) goto addr_240
local_7__874 = local_1__877 + java.io.File.separatorChar + local_7__876;
local_8__873 = new java.io.File(path[local_4__870].dir.getPath(), local_7__874);
local_3__869.put(local_7__874, new sun.tools.java.ClassFile(local_8__873));
addr_240: local_6__872 += 1;
addr_243: if (local_6__872 < local_5__871.length) goto addr_157
addr_251: local_4__870 -= 1;
if (local_4__870 >= 0) goto addr_18
return local_3__869.elements();
}
public void close() {
int local_1__883;
local_1__883 = path.length;
goto addr_33
addr_9: if (path[local_1__883].zip == 0) goto addr_33
path[local_1__883].zip.close();
addr_33: local_1__883 -= 1;
if (local_1__883 >= 0) goto addr_9
return;
}
public java.lang.String toString() {
return pathstr;
}
static {
dirSeparator = java.io.File.pathSeparatorChar;
return;
}
}
/* Original source: ClassPath.java */
class ClassPathEntry
extends java.lang.Object
{
java.io.File dir;
java.util.zip.ZipFile zip;
java.util.Hashtable subdirs;
java.lang.String[] getFiles(java.lang.String local_1__887) {
<null-null>local_2__886[];
<null-null>local_4__891[];
java.io.File local_3__894;
local_2__886 = (java.lang.String[])subdirs.get(local_1__887);
if (local_2__886 != null) goto addr_90
local_3__894 = new java.io.File(dir.getPath(), local_1__887);
if (!local_3__894.isDirectory()) goto addr_75
local_2__886 = local_3__894.list();
if (local_2__886 != null) goto addr_53
local_2__886 = new java.lang.String[0];
addr_53: if (local_2__886.length != 0) goto addr_80
local_4__891 = {""};
local_2__886 = local_4__891;
goto addr_80
addr_75: local_2__886 = new java.lang.String[0];
addr_80: subdirs.put(local_1__887, local_2__886);
addr_90: return local_2__886;
}
sun.tools.java.ClassPathEntry() {
super();
subdirs = new java.util.Hashtable(29);
return;
}
}
/* Original source: ClassType.java */
public final class ClassType
extends sun.tools.java.Type
{
sun.tools.java.Identifier className;
sun.tools.java.ClassType(java.lang.String local_1__898, sun.tools.java.Identifier local_2__896) {
super(10, local_1__898);
className = local_2__896;
return;
}
public sun.tools.java.Identifier getClassName() {
return className;
}
public java.lang.String typeString(java.lang.String local_1__906, boolean local_2__904, boolean local_3__908) {
sun.tools.java.Identifier local_4__902;
java.lang.String local_4__907;
local_4__902 = local_2__904 ? className.getName() : className;
local_4__907 = local_4__902.name;
if (local_1__906.length() <= 0) goto addr_59
return "" + local_4__907 + " " + local_1__906;
addr_59: return local_4__907;
}
}
/* Original source: CompilerError.java */
public class CompilerError
extends java.lang.Error
{
java.lang.Throwable e;
public sun.tools.java.CompilerError(java.lang.String local_1__910) {
super(local_1__910);
e = this;
return;
}
public sun.tools.java.CompilerError(java.lang.Exception local_1__911) {
super(local_1__911.getMessage());
e = local_1__911;
return;
}
public void printStackTrace() {
if ((/*type error */(/*type error */this).e) != (/*type error */this)) goto addr_13
((java.lang.Throwable) (/*type error */this)).printStackTrace();
return;
addr_13: (/*type error */this).e.printStackTrace();
return;
}
}
/* Original source: Constants.java */
public interface interface Constants
extends java.lang.Object
implements sun.tools.java.RuntimeConstants {
public static final sun.tools.java.Identifier idAppend;
public static final sun.tools.java.Identifier idClassInit;
public static final sun.tools.java.Identifier idCode;
public static final sun.tools.java.Identifier idInit;
public static final sun.tools.java.Identifier idLength;
public static final sun.tools.java.Identifier idNull;
public static final sun.tools.java.Identifier idStar;
public static final sun.tools.java.Identifier idSuper;
public static final sun.tools.java.Identifier idThis;
public static final sun.tools.java.Identifier idClass;
public static final sun.tools.java.Identifier idToString;
public static final sun.tools.java.Identifier idValueOf;
public static final sun.tools.java.Identifier idNew;
public static final sun.tools.java.Identifier idGetClass;
public static final sun.tools.java.Identifier idTYPE;
public static final sun.tools.java.Identifier idFinallyReturnValue;
public static final sun.tools.java.Identifier idJavaLang;
public static final sun.tools.java.Identifier idJavaLangCloneable;
public static final sun.tools.java.Identifier idJavaLangError;
public static final sun.tools.java.Identifier idJavaLangException;
public static final sun.tools.java.Identifier idJavaLangObject;
public static final sun.tools.java.Identifier idJavaLangClass;
public static final sun.tools.java.Identifier idJavaLangRuntimeException;
public static final sun.tools.java.Identifier idJavaLangString;
public static final sun.tools.java.Identifier idJavaLangStringBuffer;
public static final sun.tools.java.Identifier idJavaLangThrowable;
public static final sun.tools.java.Identifier idJavaIoSerializable;
public static final sun.tools.java.Identifier idConstantValue;
public static final sun.tools.java.Identifier idLocalVariableTable;
public static final sun.tools.java.Identifier idLineNumberTable;
public static final sun.tools.java.Identifier idCoverageTable;
public static final sun.tools.java.Identifier idSourceFile;
public static final sun.tools.java.Identifier idDocumentation;
public static final sun.tools.java.Identifier idDeprecated;
public static final sun.tools.java.Identifier idSynthetic;
public static final sun.tools.java.Identifier idExceptions;
public static final sun.tools.java.Identifier idInnerClasses;
public static final sun.tools.java.Identifier idClone;
public static final char SIGC_INNERCLASS = 36;
public static final java.lang.String SIG_INNERCLASS = $;
public static final java.lang.String prefixThis = this$;
public static final java.lang.String prefixVal = val$;
public static final java.lang.String prefixLoc = loc$;
public static final java.lang.String prefixAccess = access$;
public static final java.lang.String prefixClass = class$;
public static final java.lang.String prefixArray = array$;
public static final int F_VERBOSE = 1;
public static final int F_DUMP = 2;
public static final int F_WARNINGS = 4;
public static final int F_DEBUG = 8;
public static final int F_OPTIMIZE = 16;
public static final int F_DEPENDENCIES = 32;
public static final int F_INNERCLASSES = 256;
public static final int F_DEPRECATION = 512;
public static final int F_PRINT_DEPENDENCIES = 1024;
public static final int F_ERRORSREPORTED = 65536;
public static final int F_COVERAGE = 64;
public static final int F_COVDATA = 128;
public static final int M_PUBLIC = 1;
public static final int M_PRIVATE = 2;
public static final int M_PROTECTED = 4;
public static final int M_STATIC = 8;
public static final int M_TRANSIENT = 128;
public static final int M_SYNCHRONIZED = 32;
public static final int M_ABSTRACT = 1024;
public static final int M_NATIVE = 256;
public static final int M_FINAL = 16;
public static final int M_VOLATILE = 64;
public static final int M_INTERFACE = 512;
public static final int M_SUPER = 32;
public static final int M_ANONYMOUS = 65536;
public static final int M_LOCAL = 131072;
public static final int M_DEPRECATED = 262144;
public static final int M_SYNTHETIC = 524288;
public static final int M_INLINEABLE = 1048576;
public static final java.lang.String paraDeprecated = @deprecated;
public static final int CT_METHOD = 1;
public static final int CT_FIKT_METHOD = 2;
public static final int CT_BLOCK = 3;
public static final int CT_FIKT_RET = 4;
public static final int CT_CASE = 5;
public static final int CT_SWITH_WO_DEF = 6;
public static final int CT_BRANCH_TRUE = 7;
public static final int CT_BRANCH_FALSE = 8;
public static final int MM_CLASS = 1585;
public static final int MM_MEMBER = 31;
public static final int MM_FIELD = 223;
public static final int MM_METHOD = 1343;
public static final int MM_INNERCLASS = 198207;
public static final int TC_BOOLEAN = 0;
public static final int TC_BYTE = 1;
public static final int TC_CHAR = 2;
public static final int TC_SHORT = 3;
public static final int TC_INT = 4;
public static final int TC_LONG = 5;
public static final int TC_FLOAT = 6;
public static final int TC_DOUBLE = 7;
public static final int TC_NULL = 8;
public static final int TC_ARRAY = 9;
public static final int TC_CLASS = 10;
public static final int TC_VOID = 11;
public static final int TC_METHOD = 12;
public static final int TC_ERROR = 13;
public static final int TM_NULL = 256;
public static final int TM_VOID = 2048;
public static final int TM_BOOLEAN = 1;
public static final int TM_BYTE = 2;
public static final int TM_CHAR = 4;
public static final int TM_SHORT = 8;
public static final int TM_INT = 16;
public static final int TM_LONG = 32;
public static final int TM_FLOAT = 64;
public static final int TM_DOUBLE = 128;
public static final int TM_ARRAY = 512;
public static final int TM_CLASS = 1024;
public static final int TM_METHOD = 4096;
public static final int TM_ERROR = 8192;
public static final int TM_INT32 = 30;
public static final int TM_NUM32 = 94;
public static final int TM_NUM64 = 160;
public static final int TM_INTEGER = 62;
public static final int TM_REAL = 192;
public static final int TM_NUMBER = 254;
public static final int TM_REFERENCE = 1792;
public static final int CS_UNDEFINED = 0;
public static final int CS_UNDECIDED = 1;
public static final int CS_BINARY = 2;
public static final int CS_SOURCE = 3;
public static final int CS_PARSED = 4;
public static final int CS_COMPILED = 5;
public static final int CS_NOTFOUND = 6;
public static final int CS_CHECKED = 7;
public static final int ATT_ALL = -1;
public static final int ATT_CODE = 1;
public static final int OFFSETBITS = 18;
public static final int MAXFILESIZE = 262143;
public static final int MAXLINENUMBER = 16383;
public static final int COMMA = 0;
public static final int ASSIGN = 1;
public static final int ASGMUL = 2;
public static final int ASGDIV = 3;
public static final int ASGREM = 4;
public static final int ASGADD = 5;
public static final int ASGSUB = 6;
public static final int ASGLSHIFT = 7;
public static final int ASGRSHIFT = 8;
public static final int ASGURSHIFT = 9;
public static final int ASGBITAND = 10;
public static final int ASGBITOR = 11;
public static final int ASGBITXOR = 12;
public static final int COND = 13;
public static final int OR = 14;
public static final int AND = 15;
public static final int BITOR = 16;
public static final int BITXOR = 17;
public static final int BITAND = 18;
public static final int NE = 19;
public static final int EQ = 20;
public static final int GE = 21;
public static final int GT = 22;
public static final int LE = 23;
public static final int LT = 24;
public static final int INSTANCEOF = 25;
public static final int LSHIFT = 26;
public static final int RSHIFT = 27;
public static final int URSHIFT = 28;
public static final int ADD = 29;
public static final int SUB = 30;
public static final int DIV = 31;
public static final int REM = 32;
public static final int MUL = 33;
public static final int CAST = 34;
public static final int POS = 35;
public static final int NEG = 36;
public static final int NOT = 37;
public static final int BITNOT = 38;
public static final int PREINC = 39;
public static final int PREDEC = 40;
public static final int NEWARRAY = 41;
public static final int NEWINSTANCE = 42;
public static final int NEWFROMNAME = 43;
public static final int POSTINC = 44;
public static final int POSTDEC = 45;
public static final int FIELD = 46;
public static final int METHOD = 47;
public static final int ARRAYACCESS = 48;
public static final int NEW = 49;
public static final int INC = 50;
public static final int DEC = 51;
public static final int CONVERT = 55;
public static final int EXPR = 56;
public static final int ARRAY = 57;
public static final int GOTO = 58;
public static final int IDENT = 60;
public static final int BOOLEANVAL = 61;
public static final int BYTEVAL = 62;
public static final int CHARVAL = 63;
public static final int SHORTVAL = 64;
public static final int INTVAL = 65;
public static final int LONGVAL = 66;
public static final int FLOATVAL = 67;
public static final int DOUBLEVAL = 68;
public static final int STRINGVAL = 69;
public static final int BYTE = 70;
public static final int CHAR = 71;
public static final int SHORT = 72;
public static final int INT = 73;
public static final int LONG = 74;
public static final int FLOAT = 75;
public static final int DOUBLE = 76;
public static final int VOID = 77;
public static final int BOOLEAN = 78;
public static final int TRUE = 80;
public static final int FALSE = 81;
public static final int THIS = 82;
public static final int SUPER = 83;
public static final int NULL = 84;
public static final int IF = 90;
public static final int ELSE = 91;
public static final int FOR = 92;
public static final int WHILE = 93;
public static final int DO = 94;
public static final int SWITCH = 95;
public static final int CASE = 96;
public static final int DEFAULT = 97;
public static final int BREAK = 98;
public static final int CONTINUE = 99;
public static final int RETURN = 100;
public static final int TRY = 101;
public static final int CATCH = 102;
public static final int FINALLY = 103;
public static final int THROW = 104;
public static final int STAT = 105;
public static final int EXPRESSION = 106;
public static final int DECLARATION = 107;
public static final int VARDECLARATION = 108;
public static final int IMPORT = 110;
public static final int CLASS = 111;
public static final int EXTENDS = 112;
public static final int IMPLEMENTS = 113;
public static final int INTERFACE = 114;
public static final int PACKAGE = 115;
public static final int PRIVATE = 120;
public static final int PUBLIC = 121;
public static final int PROTECTED = 122;
public static final int CONST = 123;
public static final int STATIC = 124;
public static final int TRANSIENT = 125;
public static final int SYNCHRONIZED = 126;
public static final int NATIVE = 127;
public static final int FINAL = 128;
public static final int VOLATILE = 129;
public static final int ABSTRACT = 130;
public static final int SEMICOLON = 135;
public static final int COLON = 136;
public static final int QUESTIONMARK = 137;
public static final int LBRACE = 138;
public static final int RBRACE = 139;
public static final int LPAREN = 140;
public static final int RPAREN = 141;
public static final int LSQBRACKET = 142;
public static final int RSQBRACKET = 143;
public static final int THROWS = 144;
public static final int ERROR = 145;
public static final int COMMENT = 146;
public static final int TYPE = 147;
public static final int LENGTH = 148;
public static final int INLINERETURN = 149;
public static final int INLINEMETHOD = 150;
public static final int INLINENEWINSTANCE = 151;
public static final int opPrecedence[];
public static final java.lang.String opNames[];
static {
idAppend = sun.tools.java.Identifier.lookup("append");
idClassInit = sun.tools.java.Identifier.lookup("<clinit>");
idCode = sun.tools.java.Identifier.lookup("Code");
idInit = sun.tools.java.Identifier.lookup("<init>");
idLength = sun.tools.java.Identifier.lookup("length");
idNull = sun.tools.java.Identifier.lookup("");
idStar = sun.tools.java.Identifier.lookup("*");
idSuper = sun.tools.java.Identifier.lookup("super");
idThis = sun.tools.java.Identifier.lookup("this");
idClass = sun.tools.java.Identifier.lookup("class");
idToString = sun.tools.java.Identifier.lookup("toString");
idValueOf = sun.tools.java.Identifier.lookup("valueOf");
idNew = sun.tools.java.Identifier.lookup("new");
idGetClass = sun.tools.java.Identifier.lookup("getClass");
idTYPE = sun.tools.java.Identifier.lookup("TYPE");
idFinallyReturnValue = sun.tools.java.Identifier.lookup("<return>");
idJavaLang = sun.tools.java.Identifier.lookup("java.lang");
idJavaLangCloneable = sun.tools.java.Identifier.lookup("java.lang.Cloneable");
idJavaLangError = sun.tools.java.Identifier.lookup("java.lang.Error");
idJavaLangException = sun.tools.java.Identifier.lookup("java.lang.Exception");
idJavaLangObject = sun.tools.java.Identifier.lookup("java.lang.Object");
idJavaLangClass = sun.tools.java.Identifier.lookup("java.lang.Class");
idJavaLangRuntimeException = sun.tools.java.Identifier.lookup("java.lang.RuntimeException");
idJavaLangString = sun.tools.java.Identifier.lookup("java.lang.String");
idJavaLangStringBuffer = sun.tools.java.Identifier.lookup("java.lang.StringBuffer");
idJavaLangThrowable = sun.tools.java.Identifier.lookup("java.lang.Throwable");
idJavaIoSerializable = sun.tools.java.Identifier.lookup("java.io.Serializable");
idConstantValue = sun.tools.java.Identifier.lookup("ConstantValue");
idLocalVariableTable = sun.tools.java.Identifier.lookup("LocalVariableTable");
idLineNumberTable = sun.tools.java.Identifier.lookup("LineNumberTable");
idCoverageTable = sun.tools.java.Identifier.lookup("CoverageTable");
idSourceFile = sun.tools.java.Identifier.lookup("SourceFile");
idDocumentation = sun.tools.java.Identifier.lookup("Documentation");
idDeprecated = sun.tools.java.Identifier.lookup("Deprecated");
idSynthetic = sun.tools.java.Identifier.lookup("Synthetic");
idExceptions = sun.tools.java.Identifier.lookup("Exceptions");
idInnerClasses = sun.tools.java.Identifier.lookup("InnerClasses");
idClone = sun.tools.java.Identifier.lookup("clone");
opPrecedence = {10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 13, 14, 15, 16, 17, 18, 18, 19, 19, 19, 19, 19, 20, 20, 20, 21, 21, 22, 22, 22, 23, 24, 24, 24, 24, 24, 24, 25, 25, 26, 26, 26, 26, 26, 26};
opNames = {",", "=", "*=", "/=", "%=", "+=", "-=", "<<=", ">>=", "<<<=", "&=", "|=", "^=", "?:", "||", "&&", "|", "^", "&", "!=", "==", ">=", ">", "<=", "<", "instanceof", "<<", ">>", "<<<", "+", "-", "/", "%", "*", "cast", "+", "-", "!", "~", "++", "--", "new", "new", "new", "++", "--", "field", "method", "[]", "new", "++", "--", "null", "null", "null", "convert", "expr", "array", "goto", "null", "Identifier", "boolean", "byte", "char", "short", "int", "long", "float", "double", "string", "byte", "char", "short", "int", "long", "float", "double", "void", "boolean", "null", "true", "false", "this", "super", "null", "null", "null", "null", "null", "null", "if", "else", "for", "while", "do", "switch", "case", "default", "break", "continue", "return", "try", "catch", "finally", "throw", "stat", "expression", "declaration", "declaration", "null", "import", "class", "extends", "implements", "interface", "package", "null", "null", "null", "null", "private", "public", "protected", "const", "static", "transient", "synchronized", "native", "final", "volatile", "abstract", "null", "null", "null", "null", ";", ":", "?", "{", "}", "(", ")", "[", "]", "throws", "error", "comment", "type", "length", "inline-return", "inline-method", "inline-new"};
return;
}
}
/* Original source: Environment.java */
public class Environment
extends java.lang.Object
implements sun.tools.java.Constants {
sun.tools.java.Environment env;
java.lang.String encoding;
java.lang.Object source;
private static boolean debugging;
public sun.tools.java.Environment(sun.tools.java.Environment local_1__917, java.lang.Object local_2__915) {
super();
if (local_1__917 == 0 || local_1__917.env == 0 || local_1__917.getClass() != getClass()) goto addr_31
local_1__917 = local_1__917.env;
addr_31: env = local_1__917;
source = local_2__915;
return;
}
public sun.tools.java.Environment() {
((sun.tools.java.Environment) this)(null, "null");
return;
}
public sun.tools.java.ClassDeclaration getClassDeclaration(sun.tools.java.Identifier local_1__920) {
return env.getClassDeclaration(local_1__920);
}
public final sun.tools.java.ClassDefinition getClassDefinition(sun.tools.java.Identifier local_1__931) {
sun.tools.java.FieldDefinition local_5__927;
sun.tools.java.Identifier local_3__930;
sun.tools.java.Identifier local_4__933;
sun.tools.java.ClassDeclaration local_6__934;
sun.tools.java.ClassDefinition local_2__935;
if (!local_1__931.isInner()) goto addr_111
local_2__935 = getClassDefinition(local_1__931.getTopName());
local_3__930 = local_1__931.getFlatName();
goto addr_102
addr_24: local_3__930 = local_3__930.getTail();
local_4__933 = local_3__930.getHead();
local_5__927 = local_2__935.getFirstMatch(local_4__933);
goto addr_70
addr_46: if (local_5__927.innerClass == 0) goto addr_63
local_2__935 = local_5__927.getInnerClass();
goto addr_102
addr_63: local_5__927 = local_5__927.nextMatch;
addr_70: if (local_5__927 != 0) goto addr_46
throw new sun.tools.java.ClassNotFound(sun.tools.java.Identifier.lookupInner((local_6__934 = local_2__935.declaration).type.getClassName(), local_4__933));
addr_102: if (local_3__930.isQualified()) goto addr_24
return local_2__935;
addr_111: return getClassDeclaration(local_1__931).getClassDefinition(this);
}
public sun.tools.java.ClassDeclaration getClassDeclaration(sun.tools.java.Type local_1__936) {
return getClassDeclaration(local_1__936.getClassName());
}
public final sun.tools.java.ClassDefinition getClassDefinition(sun.tools.java.Type local_1__938) {
return getClassDefinition(local_1__938.getClassName());
}
public boolean classExists(sun.tools.java.Identifier local_1__940) {
return env.classExists(local_1__940);
}
public final boolean classExists(sun.tools.java.Type local_1__942) {
if (local_1__942.typeCode != 10 || classExists(local_1__942.getClassName())) goto addr_22
return false;
addr_22: return true;
}
public sun.tools.java.Package getPackage(sun.tools.java.Identifier local_1__944) {
return env.getPackage(local_1__944);
}
public void loadDefinition(sun.tools.java.ClassDeclaration local_1__946) {
env.loadDefinition(local_1__946);
return;
}
public final java.lang.Object getSource() {
return source;
}
public boolean resolve(int local_1__981, sun.tools.java.ClassDefinition local_2__964, sun.tools.java.Type local_3__966) {
int local_6__951;
<null-null>local_5__952[];
boolean local_4__956;
sun.tools.java.Identifier local_5__967;
<java.lang.Object-sun.tools.java.Identifier>local_6__968;
int local_1__969;
<sun.tools.java.Environment-null>local_0__970;
<sun.tools.java.ClassNotFound-null>local_5__971;
sun.tools.java.Environment local_6__972;
<java.lang.Object-sun.tools.java.Identifier>local_7__973;
sun.tools.java.Environment local_6__974;
<java.lang.Object-sun.tools.java.Identifier>local_7__975;
<java.lang.Object-sun.tools.java.Identifier>local_6__976;
int local_1__977;
<sun.tools.java.Environment-null>local_0__978;
<sun.tools.java.AmbiguousClass-null>local_5__979;
<java.lang.Object-sun.tools.java.ClassDefinition>local_6__980;
sun.tools.java.ClassDefinition local_4__983;
switch (local_3__966.typeCode) {
local_5__967 = local_3__966.getClassName();
if (local_5__967.isQualified() || local_5__967.isInner() || classExists(local_5__967)) goto addr_74
resolve(local_5__967);
addr_74: local_4__983 = getClassDefinition(local_3__966.getClassName());
if (local_2__964.canAccess(this, local_4__983.declaration)) goto addr_118
local_6__980 = local_4__983;
error(source, local_1__981, "cant.access.class", local_6__980, "null", "null");
return true;
addr_118: local_4__983.noteUsedBy(local_2__964, local_1__981, env);
goto addr_282
addr_132: local_5__979 = stack_0;
local_6__976 = local_5__979.name1;
local_7__975 = local_5__979.name2;
local_0__978.error(local_0__978.source, local_1__977, "ambig.class", local_6__976, local_7__975, "null");
return false;
addr_166: local_5__971 = stack_0;
if (!local_5__971.name.isInner() || !local_0__970.getPackage(local_5__971.name.getTopName()).exists()) goto addr_257
local_6__974 = local_0__970.env;
local_7__973 = local_5__971.name.getTopName();
local_6__974.error(local_6__974.source, local_1__969, "class.and.package", local_7__973, "null", "null");
goto addr_257
addr_233: stack_0;
local_6__972 = local_0__970.env;
local_6__972.error(local_6__972.source, local_1__969, "io.exception", "package check", "null", "null");
addr_257: local_6__968 = local_5__971.name;
local_0__970.error(local_0__970.source, local_1__969, "class.not.found", local_6__968, "type declaration", "null");
return false;
addr_282: return true;
addr_284: return resolve(local_1__981, local_2__964, local_3__966.getElementType());
addr_295: local_4__956 = resolve(local_1__981, local_2__964, local_3__966.getReturnType());
local_5__952 = local_3__966.getArgumentTypes();
local_6__951 = local_5__952.length;
goto addr_337
addr_321: local_4__956 = local_4__956 & resolve(local_1__981, local_2__964, local_5__952[local_6__951]);
addr_337: if (local_6__951-- > 0) goto addr_321
return local_4__956;
addr_348: return true;
}
public sun.tools.java.Type resolveNames(sun.tools.java.ClassDefinition local_1__1003, sun.tools.java.Type local_2__1004) {
<null-null>local_6__985[];
sun.tools.java.Type local_4__986;
int local_7__987;
int local_8__988;
sun.tools.java.Type local_10__989;
sun.tools.java.Type local_9__990;
<null-null>local_5__993[];
sun.tools.java.Type local_3__995;
sun.tools.java.Identifier local_4__1000;
sun.tools.java.Identifier local_3__1001;
switch (local_2__1004.typeCode) {
local_3__1001 = local_2__1004.getClassName();
local_4__1000 = local_1__1003.resolveName(this, local_3__1001);
if (local_3__1001 == local_4__1000) goto addr_182
local_2__1004 = sun.tools.java.Type.tClass(local_4__1000);
goto addr_182
addr_64: local_2__1004 = sun.tools.java.Type.tArray(resolveNames(local_1__1003, local_2__1004.getElementType()));
goto addr_182
addr_80: local_3__995 = local_2__1004.getReturnType();
local_4__986 = resolveNames(local_1__1003, local_3__995);
local_5__993 = local_2__1004.getArgumentTypes();
local_6__985 = new sun.tools.java.Type[local_5__993.length];
local_7__987 = local_3__995 == local_4__986 ? 0 : 1;
local_8__988 = local_5__993.length;
goto addr_161
addr_128: local_9__990 = local_5__993[local_8__988];
local_10__989 = resolveNames(local_1__1003, local_9__990);
local_6__985[local_8__988] = local_10__989;
if (local_9__990 == local_10__989) goto addr_161
local_7__987 = 1;
addr_161: if (local_8__988-- > 0) goto addr_128
if (local_7__987 == 0) goto addr_182
local_2__1004 = sun.tools.java.Type.tMethod(local_4__986, local_6__985);
addr_182: return local_2__1004;
}
public sun.tools.java.Identifier resolveName(sun.tools.java.Identifier local_1__1018) {
<sun.tools.java.Identifier-null>local_1__1008;
<sun.tools.java.Environment-null>local_0__1009;
sun.tools.java.Imports local_2__1010;
<sun.tools.java.Identifier-null>local_1__1013;
<sun.tools.java.Identifier-null>local_2__1014;
sun.tools.java.Identifier local_2__1017;
if ((getFlags() & 256) == 0 || !local_1__1018.isQualified()) goto addr_65
local_2__1017 = resolveName(local_1__1018.getHead());
if (classExists(local_2__1017)) goto addr_41
return resolvePackageQualifiedName(local_1__1018);
addr_41: return getClassDefinition(local_2__1017).resolveInnerClass(this, local_1__1018.getTail());
addr_55: stack_0;
return sun.tools.java.Identifier.lookupInner(local_2__1014, local_1__1013.getTail());
addr_65: return resolve(local_1__1018);
addr_71: stack_0;
local_2__1010 = local_0__1009.getImports();
if (local_2__1010 == null) goto addr_88
return local_2__1010.forceResolve(local_0__1009, local_1__1008);
addr_88: return local_1__1008;
}
public final sun.tools.java.Identifier resolvePackageQualifiedName(sun.tools.java.Identifier local_1__1032) {
sun.tools.java.Identifier local_2__1021;
sun.tools.java.Identifier local_3__1029;
if ((getFlags() & 256) != 0) goto addr_13
return local_1__1032;
addr_13: local_2__1021 = "null";
addr_15: if (classExists(local_1__1032)) goto addr_92
if (local_1__1032.isQualified()) goto addr_49
local_1__1032 = local_2__1021 == null ? local_1__1032 : sun.tools.java.Identifier.lookup(local_1__1032, local_2__1021);
local_2__1021 = null;
goto addr_92
addr_49: local_3__1029 = local_1__1032.getName();
local_2__1021 = local_2__1021 == 0 ? local_3__1029 : sun.tools.java.Identifier.lookup(local_3__1029, local_2__1021);
local_1__1032 = local_1__1032.isQualified() ? (sun.tools.java.Identifier)local_1__1032.value : sun.tools.java.Constants.idNull;
goto addr_15
addr_92: if (local_2__1021 == 0) goto addr_102
local_1__1032 = sun.tools.java.Identifier.lookupInner(local_1__1032, local_2__1021);
addr_102: return local_1__1032;
}
public sun.tools.java.Identifier resolve(sun.tools.java.Identifier local_1__1035) {
if (env != 0) goto addr_9
return local_1__1035;
addr_9: return env.resolve(local_1__1035);
}
public sun.tools.java.Imports getImports() {
if (env != 0) goto addr_9
return null;
addr_9: return env.getImports();
}
public sun.tools.java.ClassDefinition makeClassDefinition(sun.tools.java.Environment local_1__1044, int local_2__1043, sun.tools.java.IdentifierToken local_3__1042, java.lang.String local_4__1041, int local_5__1040, sun.tools.java.IdentifierToken local_6__1039, sun.tools.java.IdentifierToken local_7__1038[], sun.tools.java.ClassDefinition local_8__1037) {
if (env != 0) goto addr_9
return null;
addr_9: return env.makeClassDefinition(local_1__1044, local_2__1043, local_3__1042, local_4__1041, local_5__1040, local_6__1039, local_7__1038, local_8__1037);
}
public sun.tools.java.FieldDefinition makeFieldDefinition(sun.tools.java.Environment local_1__1055, int local_2__1054, sun.tools.java.ClassDefinition local_3__1053, java.lang.String local_4__1052, int local_5__1051, sun.tools.java.Type local_6__1050, sun.tools.java.Identifier local_7__1049, sun.tools.java.IdentifierToken local_8__1048[], sun.tools.java.IdentifierToken local_9__1047[], java.lang.Object local_10__1046) {
if (env != 0) goto addr_9
return null;
addr_9: return env.makeFieldDefinition(local_1__1055, local_2__1054, local_3__1053, local_4__1052, local_5__1051, local_6__1050, local_7__1049, local_8__1048, local_9__1047, local_10__1046);
}
public boolean isApplicable(sun.tools.java.FieldDefinition local_1__1062, sun.tools.java.Type local_2__1059[]) {
int local_5__1057;
<null-null>local_4__1058[];
sun.tools.java.Type local_3__1061;
local_3__1061 = local_1__1062.type;
if (local_3__1061.typeCode == 12) goto addr_16
return false;
addr_16: local_4__1058 = local_3__1061.getArgumentTypes();
if (local_2__1059.length == local_4__1058.length) goto addr_32
return false;
addr_32: local_5__1057 = local_2__1059.length;
goto addr_57
addr_39: if (isMoreSpecific(local_2__1059[local_5__1057], local_4__1058[local_5__1057])) goto addr_57
return false;
addr_57: local_5__1057 -= 1;
if (local_5__1057 >= 0) goto addr_39
return true;
}
public boolean isMoreSpecific(sun.tools.java.FieldDefinition local_1__1064, sun.tools.java.FieldDefinition local_2__1065) {
boolean local_5__1063;
sun.tools.java.Type local_4__1067;
sun.tools.java.Type local_3__1068;
sun.tools.java.ClassDeclaration local_4__1069;
sun.tools.java.ClassDefinition local_4__1070;
sun.tools.java.ClassDeclaration local_3__1071;
sun.tools.java.ClassDefinition local_3__1072;
local_3__1072 = local_1__1064.clazz;
local_3__1071 = local_3__1072.declaration;
local_3__1068 = local_3__1071.type;
local_4__1070 = local_2__1065.clazz;
local_4__1069 = local_4__1070.declaration;
local_4__1067 = local_4__1069.type;
local_5__1063 = !isMoreSpecific(local_3__1068, local_4__1067) || !isApplicable(local_2__1065, local_1__1064.type.getArgumentTypes()) ? 0 : 1;
return local_5__1063;
}
public boolean isMoreSpecific(sun.tools.java.Type local_1__1074, sun.tools.java.Type local_2__1073) {
return implicitCast(local_1__1074, local_2__1073);
}
public boolean implicitCast(sun.tools.java.Type local_1__1089, sun.tools.java.Type local_2__1092) {
sun.tools.java.ClassDefinition local_4__1079;
sun.tools.java.ClassDefinition local_5__1081;
int local_3__1093;
if (local_1__1089 != local_2__1092) goto addr_7
return true;
addr_7: local_3__1093 = local_2__1092.typeCode;
switch (local_1__1089.typeCode) {
if (local_3__1093 != 3) goto addr_79
return true;
addr_79: if (local_3__1093 != 4) goto addr_86
return true;
addr_86: if (local_3__1093 != 5) goto addr_93
return true;
addr_93: if (local_3__1093 != 6) goto addr_101
return true;
addr_101: if (local_3__1093 != 7) goto addr_109
return true;
addr_109: return false;
addr_111: if ((1 << local_2__1092.typeCode & 1792) != 0) goto addr_126
return false;
addr_126: return true;
addr_128: if (local_2__1092.typeCode == 9) goto addr_162
if (local_2__1092 == sun.tools.java.Type.tObject || local_2__1092 == sun.tools.java.Type.tCloneable || local_2__1092 == sun.tools.java.Type.tSerializable) goto addr_160
return false;
addr_160: return true;
addr_162: local_1__1089 = local_1__1089.getElementType();
local_2__1092 = local_2__1092.getElementType();
if (local_1__1089.typeCode == 9 && local_2__1092.typeCode == 9) goto addr_162
if ((1 << local_1__1089.typeCode & 1536) == 0 || (1 << local_2__1092.typeCode & 1536) == 0) goto addr_223
return isMoreSpecific(local_1__1089, local_2__1092);
addr_223: if (local_1__1089.typeCode == local_2__1092.typeCode) goto addr_236
return false;
addr_236: return true;
addr_238: if (local_3__1093 != 10) goto addr_276
local_4__1079 = getClassDefinition(local_1__1089.getClassName());
local_5__1081 = getClassDefinition(local_2__1092.getClassName());
return local_5__1081.implementedBy(this, local_4__1079.declaration);
addr_276: return false;
}
public boolean explicitCast(sun.tools.java.Type local_1__1110, sun.tools.java.Type local_2__1117) {
sun.tools.java.Type local_4__1103;
sun.tools.java.Type local_3__1104;
sun.tools.java.ClassDefinition local_4__1114;
sun.tools.java.ClassDefinition local_3__1116;
if (!implicitCast(local_1__1110, local_2__1117)) goto addr_11
return true;
addr_11: if ((1 << local_1__1110.typeCode & 254) == 0) goto addr_41
if ((1 << local_2__1117.typeCode & 254) != 0) goto addr_39
return false;
addr_39: return true;
addr_41: if (local_1__1110.typeCode != 10 || local_2__1117.typeCode != 10) goto addr_161
local_3__1116 = getClassDefinition(local_1__1110.getClassName());
local_4__1114 = getClassDefinition(local_2__1117.getClassName());
if ((local_4__1114.modifiers & 16) == 0) goto addr_100
return local_3__1116.implementedBy(this, local_4__1114.declaration);
addr_100: if ((local_3__1116.modifiers & 16) == 0) goto addr_121
return local_4__1114.implementedBy(this, local_3__1116.declaration);
addr_121: if ((local_4__1114.modifiers & 512) != 0 || (local_3__1116.modifiers & 512) != 0 || local_3__1116.superClassOf(this, local_4__1114.declaration)) goto addr_159
return false;
addr_159: return true;
addr_161: if (local_2__1117.typeCode != 9) goto addr_282
if (local_1__1110.typeCode != 9) goto addr_259
local_3__1104 = local_1__1110.getElementType();
local_4__1103 = local_2__1117.getElementType();
goto addr_205
addr_193: local_3__1104 = local_3__1104.getElementType();
local_4__1103 = local_4__1103.getElementType();
addr_205: if (local_3__1104.typeCode == 9 && local_4__1103.typeCode == 9) goto addr_193
if ((1 << local_3__1104.typeCode & 1536) == 0 || (1 << local_4__1103.typeCode & 1536) == 0) goto addr_282
return explicitCast(local_3__1104, local_4__1103);
addr_259: if (local_1__1110 != sun.tools.java.Type.tObject && local_1__1110 != sun.tools.java.Type.tCloneable && local_1__1110 != sun.tools.java.Type.tSerializable) goto addr_282
return true;
addr_282: return false;
}
public int getFlags() {
return env.getFlags();
}
public final boolean debug() {
if ((getFlags() & 8) != 0) goto addr_12
return false;
addr_12: return true;
}
public final boolean optimize() {
if ((getFlags() & 16) != 0) goto addr_12
return false;
addr_12: return true;
}
public final boolean verbose() {
if ((getFlags() & 1) != 0) goto addr_11
return false;
addr_11: return true;
}
public final boolean dump() {
if ((getFlags() & 2) != 0) goto addr_11
return false;
addr_11: return true;
}
public final boolean warnings() {
if ((getFlags() & 4) != 0) goto addr_11
return false;
addr_11: return true;
}
public final boolean dependencies() {
if ((getFlags() & 32) != 0) goto addr_12
return false;
addr_12: return true;
}
public final boolean print_dependencies() {
if ((getFlags() & 1024) != 0) goto addr_13
return false;
addr_13: return true;
}
public final boolean innerClasses() {
if ((getFlags() & 256) != 0) goto addr_13
return false;
addr_13: return true;
}
public final boolean deprecation() {
if ((getFlags() & 512) != 0) goto addr_13
return false;
addr_13: return true;
}
public void innerClassesUsed(int local_1__1128) {
if ((getFlags() & 256) == 0) goto addr_12
return;
addr_12: error(source, local_1__1128, "no.inner.classes", "null", "null", "null");
return;
}
public void shutdown() {
if (env == 0) goto addr_14
env.shutdown();
addr_14: return;
}
public void error(java.lang.Object local_1__1136, int local_2__1135, java.lang.String local_3__1134, java.lang.Object local_4__1133, java.lang.Object local_5__1132, java.lang.Object local_6__1131) {
env.error(local_1__1136, local_2__1135, local_3__1134, local_4__1133, local_5__1132, local_6__1131);
return;
}
public final void error(int local_1__1142, java.lang.String local_2__1141, java.lang.Object local_3__1140, java.lang.Object local_4__1139, java.lang.Object local_5__1138) {
error(source, local_1__1142, local_2__1141, local_3__1140, local_4__1139, local_5__1138);
return;
}
public final void error(int local_1__1147, java.lang.String local_2__1146, java.lang.Object local_3__1145, java.lang.Object local_4__1144) {
error(source, local_1__1147, local_2__1146, local_3__1145, local_4__1144, "null");
return;
}
public final void error(int local_1__1151, java.lang.String local_2__1150, java.lang.Object local_3__1149) {
error(source, local_1__1151, local_2__1150, local_3__1149, "null", "null");
return;
}
public final void error(int local_1__1154, java.lang.String local_2__1153) {
error(source, local_1__1154, local_2__1153, "null", "null", "null");
return;
}
public void output(java.lang.String local_1__1156) {
env.output(local_1__1156);
return;
}
public static void debugOutput(java.lang.Object local_0__1158) {
if (!debugging) goto addr_16
java.lang.System.out.println(local_0__1158.toString());
addr_16: return;
}
public void setCharacterEncoding(java.lang.String local_1__1159) {
encoding = local_1__1159;
return;
}
public java.lang.String getCharacterEncoding() {
return encoding;
}
public final boolean coverage() {
if ((getFlags() & 64) != 0) goto addr_12
return false;
addr_12: return true;
}
public final boolean covdata() {
if ((getFlags() & 128) != 0) goto addr_13
return false;
addr_13: return true;
}
public java.io.File getcovFile() {
return env.getcovFile();
}
static {
debugging = java.lang.System.getProperty("debug") == 0 ? false : true;
return;
}
}
/* Original source: FieldDefinition.java */
public class FieldDefinition
extends java.lang.Object
implements sun.tools.java.Constants {
protected int where;
protected int modifiers;
protected sun.tools.java.Type type;
protected java.lang.String documentation;
protected sun.tools.java.IdentifierToken expIds[];
protected sun.tools.java.ClassDeclaration exp[];
protected sun.tools.tree.Node value;
protected sun.tools.java.ClassDefinition clazz;
protected sun.tools.java.Identifier name;
protected sun.tools.java.ClassDefinition innerClass;
protected sun.tools.java.FieldDefinition nextField;
protected sun.tools.java.FieldDefinition nextMatch;
protected sun.tools.java.FieldDefinition accessPeer;
public sun.tools.java.FieldDefinition(int local_1__1172, sun.tools.java.ClassDefinition local_2__1171, int local_3__1170, sun.tools.java.Type local_4__1169, sun.tools.java.Identifier local_5__1168, sun.tools.java.IdentifierToken local_6__1167[], sun.tools.tree.Node local_7__1165) {
super();
if (local_6__1167 != 0) goto addr_15
local_6__1167 = new sun.tools.java.IdentifierToken[0];
addr_15: where = local_1__1172;
clazz = local_2__1171;
modifiers = local_3__1170;
type = local_4__1169;
name = local_5__1168;
expIds = local_6__1167;
value = local_7__1165;
return;
}
public sun.tools.java.FieldDefinition(sun.tools.java.ClassDefinition local_1__1174) {
sun.tools.java.ClassDeclaration local_2__1176;
sun.tools.java.ClassDeclaration local_2__1177;
((sun.tools.java.FieldDefinition) this)(local_1__1174.where, local_1__1174.outerClass, local_1__1174.modifiers, (local_2__1177 = local_1__1174.declaration).type, (local_2__1176 = local_1__1174.declaration).type.getClassName().getFlatName().getName(), null, null);
innerClass = local_1__1174;
return;
}
public final int getWhere() {
return where;
}
public final sun.tools.java.ClassDeclaration getClassDeclaration() {
sun.tools.java.ClassDefinition local_1__1179;
local_1__1179 = clazz;
return local_1__1179.declaration;
}
public void resolveTypeStructure(sun.tools.java.Environment local_1__1182) {
return;
}
public sun.tools.java.ClassDeclaration getDefiningClassDeclaration() {
sun.tools.java.ClassDefinition local_1__1183;
local_1__1183 = clazz;
return local_1__1183.declaration;
}
public final sun.tools.java.ClassDefinition getClassDefinition() {
return clazz;
}
public final sun.tools.java.ClassDefinition getTopClass() {
return clazz.getTopClass();
}
public final int getModifiers() {
return modifiers;
}
public final void subModifiers(int local_1__1188) {
modifiers &= local_1__1188 ^ -1;
return;
}
public final void addModifiers(int local_1__1190) {
modifiers |= local_1__1190;
return;
}
public final sun.tools.java.Type getType() {
return type;
}
public final sun.tools.java.Identifier getName() {
return name;
}
public java.util.Vector getArguments() {
sun.tools.java.Type local_1__1194;
local_1__1194 = type;
if (local_1__1194.typeCode != 12 && !false) goto addr_26
return new java.util.Vector();
addr_26: return null;
}
public sun.tools.java.ClassDeclaration[] getExceptions(sun.tools.java.Environment local_1__1198) {
if (expIds == 0 || exp != 0) goto addr_57
if (expIds.length != 0) goto addr_33
exp = new sun.tools.java.ClassDeclaration[0];
goto addr_57
addr_33: throw new sun.tools.java.CompilerError("getExceptions " + this);
addr_57: return exp;
}
public final sun.tools.java.IdentifierToken[] getExceptionIds() {
return expIds;
}
public sun.tools.java.ClassDefinition getInnerClass() {
return innerClass;
}
public boolean isUplevelValue() {
java.lang.String local_1__1201;
sun.tools.java.Identifier local_1__1202;
sun.tools.java.Type local_1__1204;
if ((modifiers & 524288) == 0) goto addr_45
local_1__1204 = type;
if (local_1__1204.typeCode != 12 && !false && innerClass == 0 && (modifiers & 8) == 0) goto addr_47
addr_45: return false;
addr_47: local_1__1202 = name;
local_1__1201 = local_1__1202.name;
if (local_1__1201.startsWith("val$", 0) || local_1__1201.startsWith("loc$", 0) || local_1__1201.startsWith("this$", 0)) goto addr_89
return false;
addr_89: return true;
}
public boolean isAccessMethod() {
java.lang.String local_1__1205;
sun.tools.java.Identifier local_1__1206;
sun.tools.java.Type local_1__1208;
if ((modifiers & 524288) == 0) goto addr_48
local_1__1208 = type;
if (local_1__1208.typeCode != 12 && !false) goto addr_48
local_1__1206 = name;
local_1__1205 = local_1__1206.name;
if (local_1__1205.startsWith("access$", 0)) goto addr_50
addr_48: return false;
addr_50: return true;
}
public sun.tools.java.FieldDefinition getAccessMethodTarget() {
sun.tools.java.FieldDefinition local_1__1212;
if (!isAccessMethod()) goto addr_33
local_1__1212 = accessPeer;
goto addr_29
addr_15: if (local_1__1212.isAccessMethod()) goto addr_24
return local_1__1212;
addr_24: local_1__1212 = local_1__1212.accessPeer;
addr_29: if (local_1__1212 != 0) goto addr_15
addr_33: return null;
}
public void setAccessMethodTarget(sun.tools.java.FieldDefinition local_1__1213) {
if (getAccessMethodTarget() == local_1__1213) goto addr_44
if (isAccessMethod() && accessPeer == 0 && local_1__1213.accessPeer == 0) goto addr_39
throw new sun.tools.java.CompilerError("accessPeer");
addr_39: accessPeer = local_1__1213;
addr_44: return;
}
public sun.tools.java.FieldDefinition getAccessUpdateField() {
sun.tools.java.FieldDefinition local_1__1218;
if (!isAccessMethod()) goto addr_33
local_1__1218 = accessPeer;
goto addr_29
addr_15: if (!local_1__1218.isAccessMethod()) goto addr_24
return local_1__1218;
addr_24: local_1__1218 = local_1__1218.accessPeer;
addr_29: if (local_1__1218 != 0) goto addr_15
addr_33: return null;
}
public void setAccessUpdateField(sun.tools.java.FieldDefinition local_1__1219) {
if (getAccessUpdateField() == local_1__1219) goto addr_49
if (isAccessMethod() && local_1__1219.getAccessMethodTarget() == getAccessMethodTarget()) goto addr_36
throw new sun.tools.java.CompilerError("accessPeer");
addr_36: local_1__1219.accessPeer = accessPeer;
accessPeer = local_1__1219;
addr_49: return;
}
public final boolean isBlankFinal() {
if ((modifiers & 16) != 0 && (modifiers & 524288) == 0 && value == 0) goto addr_29
return false;
addr_29: return true;
}
public boolean isNeverNull() {
java.lang.String local_1__1223;
sun.tools.java.Identifier local_1__1224;
if (!isUplevelValue()) goto addr_31
local_1__1224 = name;
local_1__1223 = local_1__1224.name;
if (!local_1__1223.startsWith("val$", 0)) goto addr_29
return false;
addr_29: return true;
addr_31: return false;
}
public sun.tools.tree.Node getValue(sun.tools.java.Environment local_1__1227) {
return value;
}
public final sun.tools.tree.Node getValue() {
return value;
}
public final void setValue(sun.tools.tree.Node local_1__1229) {
value = local_1__1229;
return;
}
public java.lang.Object getInitialValue() {
return "null";
}
public final sun.tools.java.FieldDefinition getNextField() {
return nextField;
}
public final sun.tools.java.FieldDefinition getNextMatch() {
return nextMatch;
}
public java.lang.String getDocumentation() {
return documentation;
}
public void check(sun.tools.java.Environment local_1__1236) {
return;
}
public sun.tools.tree.Vset check(sun.tools.java.Environment local_1__1239, sun.tools.tree.Context local_2__1240, sun.tools.tree.Vset local_3__1237) {
return local_3__1237;
}
public void code(sun.tools.java.Environment local_1__1242, sun.tools.asm.Assembler local_2__1243) {
throw new sun.tools.java.CompilerError("code");
}
public void codeInit(sun.tools.java.Environment local_1__1245, sun.tools.tree.Context local_2__1246, sun.tools.asm.Assembler local_3__1247) {
throw new sun.tools.java.CompilerError("codeInit");
}
public boolean reportDeprecated(sun.tools.java.Environment local_1__1248) {
if ((modifiers & 262144) != 0 || clazz.reportDeprecated(local_1__1248)) goto addr_23
return false;
addr_23: return true;
}
public final boolean canReach(sun.tools.java.Environment local_1__1263, sun.tools.java.FieldDefinition local_2__1262) {
<java.lang.Object-sun.tools.java.ClassDeclaration>local_4__1252;
sun.tools.java.ClassDeclaration local_3__1253;
sun.tools.java.ClassDefinition local_4__1254;
sun.tools.java.ClassDefinition local_3__1255;
<java.lang.Object-sun.tools.java.Identifier>local_4__1256;
<java.lang.Object-sun.tools.java.Identifier>local_3__1257;
sun.tools.java.Type local_3__1258;
sun.tools.java.Type local_3__1259;
if (local_2__1262.isLocal()) goto addr_77
local_3__1259 = local_2__1262.type;
if (local_3__1259.typeCode == 12 || 0 || local_2__1262.innerClass != 0) goto addr_77
local_3__1258 = type;
if (local_3__1258.typeCode != 12 && !false && innerClass == 0) goto addr_79
local_3__1257 = name;
local_4__1256 = sun.tools.java.Constants.idClassInit;
if (local_3__1257 == local_4__1256 || 0) goto addr_79
addr_77: return true;
addr_79: local_3__1255 = clazz;
local_3__1253 = local_3__1255.declaration;
local_4__1254 = local_2__1262.clazz;
local_4__1252 = local_4__1254.declaration;
if (local_4__1252 == null || !(local_4__1252 instanceof sun.tools.java.ClassDeclaration) || !local_3__1253.type.equals(((sun.tools.java.ClassDeclaration)local_4__1252).type) || ((modifiers & 8) == 0 ? 0 : 1) != ((local_2__1262.modifiers & 8) == 0 ? 0 : 1)) goto addr_188
addr_166: if ((local_2__1262 = local_2__1262.nextField) != 0 && local_2__1262 != this) goto addr_166
if (local_2__1262 != 0) goto addr_186
return false;
addr_186: return true;
addr_188: return true;
}
public final boolean isPublic() {
if ((modifiers & 1) != 0) goto addr_11
return false;
addr_11: return true;
}
public final boolean isPrivate() {
if ((modifiers & 2) != 0) goto addr_11
return false;
addr_11: return true;
}
public final boolean isProtected() {
if ((modifiers & 4) != 0) goto addr_11
return false;
addr_11: return true;
}
public final boolean isFinal() {
if ((modifiers & 16) != 0) goto addr_12
return false;
addr_12: return true;
}
public final boolean isStatic() {
if ((modifiers & 8) != 0) goto addr_12
return false;
addr_12: return true;
}
public final boolean isSynchronized() {
if ((modifiers & 32) != 0) goto addr_12
return false;
addr_12: return true;
}
public final boolean isAbstract() {
if ((modifiers & 1024) != 0) goto addr_13
return false;
addr_13: return true;
}
public final boolean isNative() {
if ((modifiers & 256) != 0) goto addr_13
return false;
addr_13: return true;
}
public final boolean isVolatile() {
if ((modifiers & 64) != 0) goto addr_12
return false;
addr_12: return true;
}
public final boolean isTransient() {
if ((modifiers & 128) != 0) goto addr_13
return false;
addr_13: return true;
}
public final boolean isMethod() {
sun.tools.java.Type local_1__1274;
local_1__1274 = type;
if (local_1__1274.typeCode == 12) goto addr_16
return false;
addr_16: return true;
}
public final boolean isVariable() {
sun.tools.java.Type local_1__1277;
local_1__1277 = type;
if (local_1__1277.typeCode != 12 && !false && innerClass == 0) goto addr_27
return false;
addr_27: return true;
}
public final boolean isSynthetic() {
if ((modifiers & 524288) != 0) goto addr_12
return false;
addr_12: return true;
}
public final boolean isDeprecated() {
if ((modifiers & 262144) != 0) goto addr_12
return false;
addr_12: return true;
}
public final boolean isInnerClass() {
if (innerClass != 0) goto addr_9
return false;
addr_9: return true;
}
public final boolean isInitializer() {
<java.lang.Object-sun.tools.java.Identifier>local_2__1281;
<java.lang.Object-sun.tools.java.Identifier>local_1__1282;
local_1__1282 = name;
local_2__1281 = sun.tools.java.Constants.idClassInit;
if (local_1__1282 == local_2__1281) goto addr_16
return false;
addr_16: return true;
}
public final boolean isConstructor() {
<java.lang.Object-sun.tools.java.Identifier>local_2__1284;
<java.lang.Object-sun.tools.java.Identifier>local_1__1285;
local_1__1285 = name;
local_2__1284 = sun.tools.java.Constants.idInit;
if (local_1__1285 == local_2__1284) goto addr_16
return false;
addr_16: return true;
}
public boolean isLocal() {
return false;
}
public boolean isInlineable(sun.tools.java.Environment local_1__1292, boolean local_2__1289) {
<java.lang.Object-sun.tools.java.Identifier>local_4__1290;
<java.lang.Object-sun.tools.java.Identifier>local_3__1291;
if ((modifiers & 8) != 0 || (modifiers & 2) != 0 || (modifiers & 16) != 0) goto addr_53
local_3__1291 = name;
local_4__1290 = sun.tools.java.Constants.idInit;
if (local_3__1291 != local_4__1290 && !false && !local_2__1289) goto addr_74
addr_53: if ((modifiers & 32) == 0 && (modifiers & 256) == 0) goto addr_76
addr_74: return false;
addr_76: return true;
}
public boolean isConstant() {
sun.tools.java.Type local_1__1294;
<error> local_3__1295;
<java.lang.Object-null>local_2__1297;
boolean local_1__1298;
<java.lang.Object-null>local_2__1299;
boolean local_1__1300;
if ((modifiers & 16) == 0) goto addr_89
local_1__1294 = type;
if (local_1__1294.typeCode == 12 || 0 || innerClass != 0 || value == 0) goto addr_89
modifiers &= -17;
local_1__1298 = ((sun.tools.tree.Expression)value).isConstant();
JSR;
goto addr_75
addr_67: return local_1__1300;
addr_69: local_2__1297 = stack_0;
JSR;
goto addr_75
addr_73: throw local_2__1299;
addr_75: local_3__1295 = stack_0;
modifiers |= 16;
push (/*type error */local_3__1295);
addr_89: return false;
}
public java.lang.String toString() {
sun.tools.java.Identifier local_2__1301;
<java.lang.Object-sun.tools.java.Identifier>local_3__1303;
<java.lang.Object-sun.tools.java.Identifier>local_2__1304;
<java.lang.Object-sun.tools.java.Identifier>local_3__1305;
<java.lang.Object-sun.tools.java.Identifier>local_2__1306;
sun.tools.java.ClassDeclaration local_2__1308;
sun.tools.java.ClassDefinition local_1__1309;
java.lang.StringBuffer local_2__1311;
<null-null>local_3__1312[];
int local_4__1313;
<java.lang.Object-sun.tools.java.Identifier>local_1__1315;
local_1__1309 = clazz;
local_2__1308 = local_1__1309.declaration;
local_1__1315 = local_2__1308.type.getClassName();
local_2__1306 = name;
local_3__1305 = sun.tools.java.Constants.idClassInit;
if (local_2__1306 != local_3__1305 && !false) goto addr_52
if ((modifiers & 8) == 0) goto addr_49
return "static {}";
addr_49: return "instance {}";
addr_52: local_2__1304 = name;
local_3__1303 = sun.tools.java.Constants.idInit;
if (local_2__1304 != local_3__1303 && !false) goto addr_155
local_2__1311 = new java.lang.StringBuffer();
local_2__1311.append(local_1__1315);
local_2__1311.append(40);
local_3__1312 = type.getArgumentTypes();
local_4__1313 = 0;
goto addr_132
addr_105: if (local_4__1313 <= 0) goto addr_117
local_2__1311.append(44);
addr_117: local_2__1311.append(local_3__1312[local_4__1313].toString());
local_4__1313 += 1;
addr_132: if (local_4__1313 < local_3__1312.length) goto addr_105
local_2__1311.append(41);
return new java.lang.String(local_2__1311);
addr_155: if (innerClass == 0) goto addr_170
return getInnerClass().toString();
addr_170: return type.typeString((local_2__1301 = name).name);
}
public void print(java.io.PrintStream local_1__1318) {
if ((modifiers & 1) == 0) goto addr_15
local_1__1318.print("public ");
addr_15: if ((modifiers & 2) == 0) goto addr_30
local_1__1318.print("private ");
addr_30: if ((modifiers & 4) == 0) goto addr_45
local_1__1318.print("protected ");
addr_45: if ((modifiers & 16) == 0) goto addr_61
local_1__1318.print("final ");
addr_61: if ((modifiers & 8) == 0) goto addr_77
local_1__1318.print("static ");
addr_77: if ((modifiers & 32) == 0) goto addr_93
local_1__1318.print("synchronized ");
addr_93: if ((modifiers & 1024) == 0) goto addr_110
local_1__1318.print("abstract ");
addr_110: if ((modifiers & 256) == 0) goto addr_127
local_1__1318.print("native ");
addr_127: if ((modifiers & 64) == 0) goto addr_143
local_1__1318.print("volatile ");
addr_143: if ((modifiers & 128) == 0) goto addr_160
local_1__1318.print("transient ");
addr_160: local_1__1318.println("" + toString() + ";");
return;
}
public void cleanup(sun.tools.java.Environment local_1__1331) {
sun.tools.java.Type local_2__1320;
sun.tools.java.Type local_2__1321;
sun.tools.java.Type local_2__1322;
<java.lang.Object-sun.tools.java.Identifier>local_4__1326;
<java.lang.Object-sun.tools.java.Identifier>local_3__1327;
int local_2__1329;
documentation = "null";
local_2__1322 = type;
if (local_2__1322.typeCode != 12 && !false || value == 0) goto addr_179
local_2__1329 = 0;
if ((modifiers & 2) != 0) goto addr_61
local_3__1327 = name;
local_4__1326 = sun.tools.java.Constants.idClassInit;
if (local_3__1327 != local_4__1326 && !false) goto addr_71
addr_61: value = sun.tools.tree.Statement.empty;
goto addr_122
addr_71: if ((local_2__1329 = ((sun.tools.tree.Statement)value).costInline(30, null, null)) < 30) goto addr_102
value = sun.tools.tree.Statement.empty;
goto addr_122
addr_102: if (isInlineable(null, true)) goto addr_122
value = sun.tools.tree.Statement.empty;
goto addr_122
addr_121: stack_0;
addr_122: if ((/*type error */value) == (/*type error */sun.tools.tree.Statement.empty) || (local_1__1331.getFlags() & 2) == 0) goto addr_246
local_1__1331.output("[after cleanup of " + name + ", " + local_2__1329 + " expression cost units remain]");
return;
addr_179: local_2__1321 = type;
if (local_2__1321.typeCode == 12 || 0 || innerClass != 0) goto addr_246
if ((modifiers & 2) != 0 || (modifiers & 16) == 0) goto addr_241
local_2__1320 = type;
if (local_2__1320.typeCode != 9 && !false) goto addr_246
addr_241: value = null;
addr_246: return;
}
}
/* Original source: Identifier.java */
public final class Identifier
extends java.lang.Object
implements sun.tools.java.Constants {
static java.util.Hashtable hash;
java.lang.String name;
java.lang.Object value;
private int ipos;
public static final char INNERCLASS_PREFIX = 32;
private sun.tools.java.Identifier(java.lang.String local_1__1332) {
super();
name = local_1__1332;
ipos = local_1__1332.indexOf(32, 0);
return;
}
int getType() {
if (value == null || !(value instanceof java.lang.Integer)) goto addr_28
return ((java.lang.Integer)value).intValue();
addr_28: return 60;
}
void setType(int local_1__1336) {
value = new java.lang.Integer(local_1__1336);
return;
}
public static synchronized sun.tools.java.Identifier lookup(java.lang.String local_0__1339) {
sun.tools.java.Identifier local_1__1338;
local_1__1338 = (sun.tools.java.Identifier)hash.get(local_0__1339);
if (local_1__1338 != null) goto addr_33
hash.put(local_0__1339, local_1__1338 = new sun.tools.java.Identifier(local_0__1339));
addr_33: return local_1__1338;
}
public static sun.tools.java.Identifier lookup(sun.tools.java.Identifier local_0__1345, sun.tools.java.Identifier local_1__1346) {
sun.tools.java.Identifier local_2__1341;
if (local_0__1345 != sun.tools.java.Constants.idNull) goto addr_9
return local_1__1346;
addr_9: if (local_0__1345.name.charAt(local_0__1345.name.length() - 1) != 32) goto addr_58
return lookup("" + local_0__1345.name + local_1__1346.name);
addr_58: local_2__1341 = lookup("" + local_0__1345 + "." + local_1__1346);
if (local_1__1346.isQualified() || local_0__1345.ipos > 0) goto addr_104
local_2__1341.value = local_0__1345;
addr_104: return local_2__1341;
}
public static sun.tools.java.Identifier lookupInner(sun.tools.java.Identifier local_0__1348, sun.tools.java.Identifier local_1__1351) {
sun.tools.java.Identifier local_2__1347;
local_0__1348.ipos > 0 ? local_0__1348.name.charAt(local_0__1348.name.length() - 1) == 32 ? local_2__1347 = lookup("" + local_0__1348.name + local_1__1351) : (local_2__1347 = lookup(local_0__1348, local_1__1351)) : (local_2__1347 = lookup("" + local_0__1348 + "." + 32 + local_1__1351));
local_2__1347.value = local_0__1348.value;
return local_2__1347;
}
public java.lang.String toString() {
return name;
}
public boolean isQualified() {
int local_2__1354;
int local_1__1355;
if (value != null) goto addr_69
local_1__1355 = ipos;
local_1__1355 <= 0 ? local_1__1355 = name.length() : (local_1__1355 -= 1);
local_2__1354 = name.lastIndexOf(46, local_1__1355 - 1);
value = local_2__1354 < 0 ? sun.tools.java.Constants.idNull : lookup(name.substring(0, local_2__1354));
addr_69: if (value instanceof sun.tools.java.Identifier && (/*type error */value) != (/*type error */sun.tools.java.Constants.idNull)) goto addr_91
return false;
addr_91: return true;
}
public sun.tools.java.Identifier getQualifier() {
if (!isQualified()) goto addr_15
return (sun.tools.java.Identifier)value;
addr_15: return sun.tools.java.Constants.idNull;
}
public sun.tools.java.Identifier getName() {
if (!isQualified()) goto addr_33
return lookup(name.substring(((sun.tools.java.Identifier)value).name.length() + 1));
addr_33: return this;
}
public boolean isInner() {
if (ipos > 0) goto addr_9
return false;
addr_9: return true;
}
public sun.tools.java.Identifier getFlatName() {
java.lang.String local_1__1362;
<java.lang.Object-java.lang.String>local_2__1363;
if (!isQualified()) goto addr_15
return getName().getFlatName();
addr_15: if (ipos <= 0 || name.charAt(ipos - 1) != 46) goto addr_123
if (ipos + 1 != name.length()) goto addr_74
return lookup(name.substring(0, ipos - 1));
addr_74: local_1__1362 = name.substring(ipos + 1);
local_2__1363 = name.substring(0, ipos);
return lookup("" + local_2__1363 + local_1__1362);
addr_123: return this;
}
public sun.tools.java.Identifier getTopName() {
if (ipos > 0) goto addr_9
return this;
addr_9: return lookup(isQualified() ? (sun.tools.java.Identifier)value : sun.tools.java.Constants.idNull, getFlatName().getHead());
}
public sun.tools.java.Identifier getHead() {
sun.tools.java.Identifier local_1__1371;
local_1__1371 = this;
goto addr_26
addr_5: local_1__1371 = local_1__1371.isQualified() ? (sun.tools.java.Identifier)local_1__1371.value : sun.tools.java.Constants.idNull;
addr_26: if (local_1__1371.isQualified()) goto addr_5
return local_1__1371;
}
public sun.tools.java.Identifier getTail() {
sun.tools.java.Identifier local_1__1373;
local_1__1373 = getHead();
if (local_1__1373 != this) goto addr_14
return sun.tools.java.Constants.idNull;
addr_14: return lookup(name.substring(local_1__1373.name.length() + 1));
}
static {
hash = new java.util.Hashtable(3001, 0.5);
return;
}
}
/* Original source: IdentifierToken.java */
public class IdentifierToken
extends java.lang.Object
{
int where;
int modifiers;
sun.tools.java.Identifier id;
public sun.tools.java.IdentifierToken(int local_1__1377, sun.tools.java.Identifier local_2__1375) {
super();
where = local_1__1377;
id = local_2__1375;
return;
}
public sun.tools.java.IdentifierToken(sun.tools.java.Identifier local_1__1378) {
super();
where = 0;
id = local_1__1378;
return;
}
public sun.tools.java.IdentifierToken(int local_1__1383, sun.tools.java.Identifier local_2__1382, int local_3__1380) {
super();
where = local_1__1383;
id = local_2__1382;
modifiers = local_3__1380;
return;
}
public int getWhere() {
return where;
}
public sun.tools.java.Identifier getName() {
return id;
}
public int getModifiers() {
return modifiers;
}
public java.lang.String toString() {
sun.tools.java.Identifier local_1__1387;
local_1__1387 = id;
return local_1__1387.name;
}
public static int getWhere(sun.tools.java.IdentifierToken local_0__1391, int local_1__1389) {
if (local_0__1391 == 0 || local_0__1391.where == 0) goto addr_16
return local_0__1391.where;
addr_16: return local_1__1389;
}
}
/* Original source: Imports.java */
final class ImportEnvironment
extends sun.tools.java.Environment
{
sun.tools.java.Imports imports;
sun.tools.java.ImportEnvironment(sun.tools.java.Environment local_1__1394, sun.tools.java.Imports local_2__1392) {
super(local_1__1394, local_1__1394.source);
imports = local_2__1392;
return;
}
public sun.tools.java.Identifier resolve(sun.tools.java.Identifier local_1__1395) {
return imports.resolve(this, local_1__1395);
}
public sun.tools.java.Imports getImports() {
return imports;
}
}
/* Original source: Imports.java */
public class Imports
extends java.lang.Object
implements sun.tools.java.Constants {
sun.tools.java.Identifier currentPackage;
java.util.Hashtable classes;
java.util.Vector packages;
java.util.Vector singles;
protected int checked;
public sun.tools.java.Imports(sun.tools.java.Environment local_1__1399) {
super();
classes = new java.util.Hashtable();
packages = new java.util.Vector();
singles = new java.util.Vector();
addPackage(sun.tools.java.Constants.idJavaLang);
return;
}
public synchronized void resolve(sun.tools.java.Environment local_1__1416) {
java.util.Enumeration local_4__1401;
<java.lang.Object-sun.tools.java.Identifier>local_12__1402;
int local_7__1403;
<sun.tools.java.ClassNotFound-null>local_11__1405;
<java.lang.Object-sun.tools.java.Identifier>local_13__1406;
<java.lang.Object-sun.tools.java.Identifier>local_12__1407;
int local_7__1408;
<sun.tools.java.AmbiguousClass-null>local_11__1410;
<java.lang.Object-sun.tools.java.Identifier>local_12__1413;
<java.lang.Object-sun.tools.java.Identifier>local_8__1414;
sun.tools.java.Identifier local_6__1415;
<java.lang.Object-sun.tools.java.Identifier>local_9__1417;
<java.lang.Object-sun.tools.java.Identifier>local_14__1418;
<java.lang.Object-sun.tools.java.Identifier>local_13__1419;
sun.tools.java.Identifier local_10__1421;
<java.lang.Object-sun.tools.java.Identifier>local_13__1422;
<java.lang.Object-sun.tools.java.Identifier>local_11__1423;
<java.lang.Object-sun.tools.java.Identifier>local_12__1424;
<java.lang.Object-sun.tools.java.Identifier>local_9__1425;
sun.tools.java.Identifier local_6__1426;
sun.tools.java.IdentifierToken local_5__1427;
<java.lang.Object-sun.tools.java.ClassDefinition>local_12__1428;
int local_7__1429;
sun.tools.java.ClassDefinition local_11__1430;
java.util.Vector local_2__1431;
java.util.Enumeration local_3__1432;
int local_6__1433;
sun.tools.java.Identifier local_5__1434;
int local_6__1435;
<java.lang.Object-sun.tools.java.Identifier>local_8__1436;
<java.lang.Object-sun.tools.java.Identifier>local_8__1439;
sun.tools.java.Identifier local_7__1440;
<java.lang.Object-sun.tools.java.Identifier>local_8__1442;
sun.tools.java.IdentifierToken local_4__1443;
if (checked == 0) goto addr_8
return;
addr_8: checked = -1;
if (currentPackage != 0) goto addr_27
currentPackage = sun.tools.java.Constants.idNull;
addr_27: packages.addElement(new sun.tools.java.IdentifierToken(currentPackage));
local_2__1431 = new java.util.Vector();
local_3__1432 = packages.elements();
goto addr_297
addr_64: local_4__1443 = (sun.tools.java.IdentifierToken)local_3__1432.nextElement();
local_5__1434 = local_4__1443.getName();
local_6__1435 = local_4__1443.getWhere();
if (local_6__1435 != 0) goto addr_103
local_2__1431.addElement(local_4__1443);
goto addr_297
addr_103: local_7__1440 = local_1__1416.resolvePackageQualifiedName(local_5__1434);
if ((local_1__1416.getFlags() & 256) == 0 || !((sun.tools.java.Imports) this).importable(local_7__1440, local_1__1416)) goto addr_195
if (!local_1__1416.getPackage(local_7__1440.getTopName()).exists()) goto addr_170
local_8__1442 = local_7__1440.getTopName();
local_1__1416.error(local_1__1416.source, local_6__1435, "class.and.package", local_8__1442, "null", "null");
addr_170: if (local_7__1440.isInner()) goto addr_188
local_7__1440 = sun.tools.java.Identifier.lookupInner(local_7__1440, sun.tools.java.Constants.idNull);
addr_188: local_5__1434 = local_7__1440;
goto addr_262
addr_195: if (local_1__1416.getPackage(local_5__1434).exists()) goto addr_231
local_8__1439 = local_5__1434;
local_1__1416.error(local_1__1416.source, local_6__1435, "package.not.found", local_8__1439, "import", "null");
goto addr_262
addr_231: if (!local_7__1440.isInner()) goto addr_262
local_8__1436 = local_7__1440.getTopName();
local_1__1416.error(local_1__1416.source, local_6__1435, "class.and.package", local_8__1436, "null", "null");
addr_262: local_2__1431.addElement(new sun.tools.java.IdentifierToken(local_6__1435, local_5__1434));
goto addr_297
addr_280: stack_0;
local_1__1416.error(local_1__1416.source, local_6__1433, "io.exception", "import", "null", "null");
addr_297: if (local_3__1432.hasMoreElements()) goto addr_64
packages = local_2__1431;
local_4__1401 = singles.elements();
goto addr_707
addr_323: local_5__1427 = (sun.tools.java.IdentifierToken)local_4__1401.nextElement();
local_6__1426 = local_5__1427.getName();
local_7__1429 = local_5__1427.getWhere();
local_8__1414 = local_6__1426.isQualified() ? (sun.tools.java.Identifier)local_6__1426.value : sun.tools.java.Constants.idNull;
local_6__1415 = local_1__1416.resolvePackageQualifiedName(local_6__1426);
if (local_1__1416.classExists(local_6__1415.getTopName())) goto addr_414
local_9__1425 = local_6__1415;
local_1__1416.error(local_1__1416.source, local_7__1429, "class.not.found", local_9__1425, "import", "null");
addr_414: local_9__1417 = local_6__1415.getFlatName().getName();
local_10__1421 = (sun.tools.java.Identifier)classes.get(local_9__1417);
if (local_10__1421 == null) goto addr_547
local_11__1423 = sun.tools.java.Identifier.lookup(local_10__1421.isQualified() ? (sun.tools.java.Identifier)local_10__1421.value : sun.tools.java.Constants.idNull, local_10__1421.getFlatName());
local_12__1424 = sun.tools.java.Identifier.lookup(local_6__1415.isQualified() ? (sun.tools.java.Identifier)local_6__1415.value : sun.tools.java.Constants.idNull, local_6__1415.getFlatName());
local_13__1422 = local_12__1424;
if (local_11__1423 == local_13__1422 || 0) goto addr_547
local_13__1419 = local_6__1415;
local_14__1418 = local_10__1421;
local_1__1416.error(local_1__1416.source, local_7__1429, "ambig.class", local_13__1419, local_14__1418, "null");
addr_547: classes.put(local_9__1417, local_6__1415);
local_11__1430 = local_1__1416.getClassDefinition(local_6__1415);
goto addr_637
addr_570: if ((local_11__1430.modifiers & 2) != 0) goto addr_607
if ((local_11__1430.modifiers & 1) != 0) goto addr_630
local_12__1413 = currentPackage;
if (local_8__1414 == local_12__1413 || 0) goto addr_630
addr_607: local_12__1428 = local_11__1430;
local_1__1416.error(local_1__1416.source, local_7__1429, "cant.access.class", local_12__1428, "null", "null");
goto addr_707
addr_630: local_11__1430 = local_11__1430.outerClass;
addr_637: if (local_11__1430 != 0) goto addr_570
nop;
goto addr_707
addr_645: local_11__1410 = stack_0;
local_12__1407 = local_11__1410.name1;
local_13__1406 = local_11__1410.name2;
local_1__1416.error(local_1__1416.source, local_7__1408, "ambig.class", local_12__1407, local_13__1406, "null");
goto addr_707
addr_681: local_11__1405 = stack_0;
local_12__1402 = local_11__1405.name;
local_1__1416.error(local_1__1416.source, local_7__1403, "class.not.found", local_12__1402, "import", "null");
addr_707: if (local_4__1401.hasMoreElements()) goto addr_323
checked = 1;
return;
}
public synchronized sun.tools.java.Identifier resolve(sun.tools.java.Environment local_1__1453, sun.tools.java.Identifier local_2__1460) {
java.util.Enumeration local_4__1447;
sun.tools.java.Identifier local_7__1449;
<java.lang.Object-sun.tools.java.Identifier>local_8__1451;
<java.lang.Object-sun.tools.java.Identifier>local_7__1452;
sun.tools.java.IdentifierToken local_5__1454;
sun.tools.java.Identifier local_6__1458;
sun.tools.java.Identifier local_3__1459;
if (!local_2__1460.isQualified()) goto addr_9
return local_2__1460;
addr_9: if (checked > 0) goto addr_26
checked = 0;
resolve(local_1__1453);
addr_26: local_3__1459 = (sun.tools.java.Identifier)classes.get(local_2__1460);
if (local_3__1459 == null) goto addr_44
return local_3__1459;
addr_44: local_4__1447 = packages.elements();
goto addr_171
addr_56: local_5__1454 = (sun.tools.java.IdentifierToken)local_4__1447.nextElement();
local_6__1458 = sun.tools.java.Identifier.lookup(local_5__1454.getName(), local_2__1460);
if (!((sun.tools.java.Imports) this).importable(local_6__1458, local_1__1453)) goto addr_171
local_7__1452 = local_6__1458.isQualified() ? (sun.tools.java.Identifier)local_6__1458.value : sun.tools.java.Constants.idNull;
local_8__1451 = currentPackage;
if (local_7__1452 != local_8__1451 && !false) goto addr_136
local_3__1459 = local_6__1458;
goto addr_181
addr_136: if (local_3__1459 == 0) goto addr_154
local_7__1449 = local_6__1458;
if (local_3__1459 != local_7__1449 && !false) goto addr_160
addr_154: local_3__1459 = local_6__1458;
goto addr_171
addr_160: throw new sun.tools.java.AmbiguousClass(local_6__1458, local_3__1459);
addr_171: if (local_4__1447.hasMoreElements()) goto addr_56
addr_181: if (local_3__1459 != 0) goto addr_194
throw new sun.tools.java.ClassNotFound(local_2__1460);
addr_194: classes.put(local_2__1460, local_3__1459);
return local_3__1459;
}
private boolean importable(sun.tools.java.Identifier local_1__1464, sun.tools.java.Environment local_2__1465) {
sun.tools.java.ClassDefinition local_3__1462;
if (local_1__1464.isInner()) goto addr_13
return local_2__1465.classExists(local_1__1464);
addr_13: if (local_2__1465.classExists(local_1__1464.getTopName())) goto addr_26
return false;
addr_26: local_3__1462 = local_2__1465.getClassDefinition(local_1__1464.getTopName());
return local_3__1462.innerClassExists(local_1__1464.getFlatName().getTail());
addr_47: stack_0;
return false;
}
public synchronized sun.tools.java.Identifier forceResolve(sun.tools.java.Environment local_1__1473, sun.tools.java.Identifier local_2__1472) {
sun.tools.java.Identifier local_3__1467;
sun.tools.java.Identifier local_3__1471;
if (!local_2__1472.isQualified()) goto addr_9
return local_2__1472;
addr_9: local_3__1471 = (sun.tools.java.Identifier)classes.get(local_2__1472);
if (local_3__1471 == null) goto addr_27
return local_3__1471;
addr_27: local_3__1467 = sun.tools.java.Identifier.lookup(currentPackage, local_2__1472);
classes.put(local_2__1472, local_3__1467);
return local_3__1467;
}
public synchronized void addClass(sun.tools.java.IdentifierToken local_1__1474) {
singles.addElement(local_1__1474);
return;
}
public void addClass(sun.tools.java.Identifier local_1__1476) {
addClass(new sun.tools.java.IdentifierToken(local_1__1476));
return;
}
public synchronized void addPackage(sun.tools.java.IdentifierToken local_1__1478) {
packages.addElement(local_1__1478);
return;
}
public void addPackage(sun.tools.java.Identifier local_1__1480) {
addPackage(new sun.tools.java.IdentifierToken(local_1__1480));
return;
}
public synchronized void setCurrentPackage(sun.tools.java.Identifier local_1__1482) {
currentPackage = local_1__1482;
return;
}
public sun.tools.java.Identifier getCurrentPackage() {
return currentPackage;
}
public sun.tools.java.Environment newEnvironment(sun.tools.java.Environment local_1__1486) {
return new sun.tools.java.ImportEnvironment(local_1__1486, this);
}
}
/* Original source: MethodType.java */
public final class MethodType
extends sun.tools.java.Type
{
sun.tools.java.Type returnType;
sun.tools.java.Type argTypes[];
sun.tools.java.MethodType(java.lang.String local_1__1490, sun.tools.java.Type local_2__1489, sun.tools.java.Type local_3__1487[]) {
super(12, local_1__1490);
returnType = local_2__1489;
argTypes = local_3__1487;
return;
}
public sun.tools.java.Type getReturnType() {
return returnType;
}
public sun.tools.java.Type[] getArgumentTypes() {
return argTypes;
}
public boolean equalArguments(sun.tools.java.Type local_1__1496) {
int local_3__1493;
sun.tools.java.MethodType local_2__1494;
if (local_1__1496.typeCode == 12) goto addr_11
return false;
addr_11: local_2__1494 = (sun.tools.java.MethodType)local_1__1496;
if (argTypes.length == local_2__1494.argTypes.length) goto addr_31
return false;
addr_31: local_3__1493 = argTypes.length - 1;
goto addr_62
addr_42: if (argTypes[local_3__1493] == local_2__1494.argTypes[local_3__1493]) goto addr_59
return false;
addr_59: local_3__1493 -= 1;
addr_62: if (local_3__1493 >= 0) goto addr_42
return true;
}
public int stackSize() {
int local_2__1499;
int local_1__1500;
local_1__1500 = 0;
local_2__1499 = 0;
goto addr_22
addr_7: local_1__1500 = local_1__1500 + argTypes[local_2__1499].stackSize();
local_2__1499 += 1;
addr_22: if (local_2__1499 < argTypes.length) goto addr_7
return local_1__1500;
}
public java.lang.String typeString(java.lang.String local_1__1506, boolean local_2__1508, boolean local_3__1507) {
int local_5__1504;
java.lang.StringBuffer local_4__1509;
local_4__1509 = new java.lang.StringBuffer();
local_4__1509.append(local_1__1506);
local_4__1509.append(40);
local_5__1504 = 0;
goto addr_66
addr_30: if (local_5__1504 <= 0) goto addr_43
local_4__1509.append(", ");
addr_43: local_4__1509.append(argTypes[local_5__1504].typeString("", local_2__1508, local_3__1507));
local_5__1504 += 1;
addr_66: if (local_5__1504 < argTypes.length) goto addr_30
local_4__1509.append(41);
if (!local_3__1507) goto addr_107
return returnType.typeString(new java.lang.String(local_4__1509), local_2__1508, local_3__1507);
addr_107: return new java.lang.String(local_4__1509);
}
}
/* Original source: Package.java */
public class Package
extends java.lang.Object
{
sun.tools.java.ClassPath path;
java.lang.String pkg;
public sun.tools.java.Package(sun.tools.java.ClassPath local_1__1513, sun.tools.java.Identifier local_2__1511) {
super();
if (!local_2__1511.isInner()) goto addr_39
local_2__1511 = sun.tools.java.Identifier.lookup(local_2__1511.isQualified() ? (sun.tools.java.Identifier)local_2__1511.value : sun.tools.java.Constants.idNull, local_2__1511.getFlatName());
addr_39: path = local_1__1513;
pkg = local_2__1511.name.replace(46, java.io.File.separatorChar);
return;
}
public boolean classExists(sun.tools.java.Identifier local_1__1515) {
if (getBinaryFile(local_1__1515) != 0 || !local_1__1515.isInner() && getSourceFile(local_1__1515) != 0) goto addr_25
return false;
addr_25: return true;
}
public boolean exists() {
java.lang.String local_2__1517;
sun.tools.java.ClassFile local_1__1520;
local_1__1520 = path.getDirectory(pkg);
if (local_1__1520 == null) goto addr_21
return local_1__1520.isDirectory();
addr_21: local_2__1517 = "" + pkg + java.io.File.separator;
if (path.getFiles(local_2__1517, ".class").hasMoreElements() || path.getFiles(local_2__1517, ".java").hasMoreElements()) goto addr_83
return false;
addr_83: return true;
}
private java.lang.String makeName(java.lang.String local_1__1523) {
if (!pkg.equals("")) goto addr_14
return local_1__1523;
addr_14: return "" + pkg + java.io.File.separator + local_1__1523;
}
public sun.tools.java.ClassFile getBinaryFile(sun.tools.java.Identifier local_1__1527) {
java.lang.String local_2__1524;
sun.tools.java.Identifier local_1__1526;
local_1__1526 = sun.tools.java.Type.mangleInnerType(local_1__1527);
local_2__1524 = "" + local_1__1526.name + ".class";
return path.getFile(((sun.tools.java.Package) this).makeName(local_2__1524));
}
public sun.tools.java.ClassFile getSourceFile(sun.tools.java.Identifier local_1__1531) {
java.lang.String local_2__1528;
sun.tools.java.Identifier local_1__1530;
local_1__1530 = local_1__1531.getTopName();
local_2__1528 = "" + local_1__1530.name + ".java";
return path.getFile(((sun.tools.java.Package) this).makeName(local_2__1528));
}
public sun.tools.java.ClassFile getSourceFile(java.lang.String local_1__1533) {
if (!local_1__1533.endsWith(".java")) goto addr_22
return path.getFile(((sun.tools.java.Package) this).makeName(local_1__1533));
addr_22: return null;
}
public java.util.Enumeration getSourceFiles() {
return path.getFiles(pkg, ".java");
}
public java.util.Enumeration getBinaryFiles() {
return path.getFiles(pkg, ".class");
}
public java.lang.String toString() {
if (!pkg.equals("")) goto addr_15
return "unnamed package";
addr_15: return "package " + pkg;
}
}
/* Original source: Parser.java */
public class Parser
extends sun.tools.java.Scanner
implements sun.tools.java.ParserActions, sun.tools.java.Constants {
sun.tools.java.ParserActions actions;
private sun.tools.tree.Node args[];
protected int argIndex;
private int aCount;
private sun.tools.java.Type aTypes[];
private sun.tools.java.IdentifierToken aNames[];
private sun.tools.java.ClassDefinition curClass;
protected sun.tools.java.Scanner scanner;
protected sun.tools.java.Parser(sun.tools.java.Environment local_1__1540, java.io.InputStream local_2__1539) {
super(local_1__1540, local_2__1539);
args = new sun.tools.tree.Node[32];
aTypes = new sun.tools.java.Type[8];
aNames = new sun.tools.java.IdentifierToken[aTypes.length];
scanner = this;
actions = this;
return;
}
protected sun.tools.java.Parser(sun.tools.java.Scanner local_1__1542) {
super(local_1__1542.env);
args = new sun.tools.tree.Node[32];
aTypes = new sun.tools.java.Type[8];
aNames = new sun.tools.java.IdentifierToken[aTypes.length];
scanner = local_1__1542;
env = local_1__1542.env;
token = local_1__1542.token;
pos = local_1__1542.pos;
actions = this;
return;
}
public sun.tools.java.Parser(sun.tools.java.Scanner local_1__1545, sun.tools.java.ParserActions local_2__1543) {
((sun.tools.java.Parser) this)(local_1__1545);
actions = local_2__1543;
return;
}
public void packageDeclaration(int local_1__1547, sun.tools.java.IdentifierToken local_2__1546) {
packageDeclaration(local_1__1547, local_2__1546.id);
return;
}
protected void packageDeclaration(int local_1__1550, sun.tools.java.Identifier local_2__1551) {
throw new java.lang.RuntimeException("beginClass method is abstract");
}
public void importClass(int local_1__1553, sun.tools.java.IdentifierToken local_2__1552) {
importClass(local_1__1553, local_2__1552.id);
return;
}
protected void importClass(int local_1__1556, sun.tools.java.Identifier local_2__1557) {
throw new java.lang.RuntimeException("importClass method is abstract");
}
public void importPackage(int local_1__1559, sun.tools.java.IdentifierToken local_2__1558) {
importPackage(local_1__1559, local_2__1558.id);
return;
}
protected void importPackage(int local_1__1562, sun.tools.java.Identifier local_2__1563) {
throw new java.lang.RuntimeException("importPackage method is abstract");
}
public sun.tools.java.ClassDefinition beginClass(int local_1__1570, java.lang.String local_2__1569, int local_3__1568, sun.tools.java.IdentifierToken local_4__1567, sun.tools.java.IdentifierToken local_5__1574, sun.tools.java.IdentifierToken local_6__1571[]) {
<null-null>local_8__1565[];
sun.tools.java.Identifier local_7__1566;
int local_9__1572;
local_7__1566 = local_5__1574 == 0 ? null : local_5__1574.id;
local_8__1565 = "null";
if (local_6__1571 == 0) goto addr_62
local_8__1565 = new sun.tools.java.Identifier[local_6__1571.length];
local_9__1572 = 0;
goto addr_54
addr_38: local_8__1565[local_9__1572] = local_6__1571[local_9__1572].id;
local_9__1572 += 1;
addr_54: if (local_9__1572 < local_6__1571.length) goto addr_38
addr_62: beginClass(local_1__1570, local_2__1569, local_3__1568, local_4__1567.id, local_7__1566, local_8__1565);
return getCurrentClass();
}
protected void beginClass(int local_1__1576, java.lang.String local_2__1577, int local_3__1578, sun.tools.java.Identifier local_4__1579, sun.tools.java.Identifier local_5__1580, sun.tools.java.Identifier local_6__1581[]) {
throw new java.lang.RuntimeException("beginClass method is abstract");
}
protected sun.tools.java.ClassDefinition getCurrentClass() {
return null;
}
public void endClass(int local_1__1585, sun.tools.java.ClassDefinition local_2__1584) {
sun.tools.java.ClassDeclaration local_3__1583;
endClass(local_1__1585, (local_3__1583 = local_2__1584.declaration).type.getClassName().getFlatName().getName());
return;
}
protected void endClass(int local_1__1588, sun.tools.java.Identifier local_2__1589) {
throw new java.lang.RuntimeException("endClass method is abstract");
}
public void defineField(int local_1__1597, sun.tools.java.ClassDefinition local_2__1605, java.lang.String local_3__1596, int local_4__1595, sun.tools.java.Type local_5__1594, sun.tools.java.IdentifierToken local_6__1593, sun.tools.java.IdentifierToken local_7__1601[], sun.tools.java.IdentifierToken local_8__1599[], sun.tools.tree.Node local_9__1590) {
<null-null>local_11__1591[];
<null-null>local_10__1592[];
int local_12__1600;
int local_12__1602;
local_10__1592 = "null";
local_11__1591 = "null";
if (local_7__1601 == 0) goto addr_49
local_10__1592 = new sun.tools.java.Identifier[local_7__1601.length];
local_12__1602 = 0;
goto addr_41
addr_25: local_10__1592[local_12__1602] = local_7__1601[local_12__1602].id;
local_12__1602 += 1;
addr_41: if (local_12__1602 < local_7__1601.length) goto addr_25
addr_49: if (local_8__1599 == 0) goto addr_92
local_11__1591 = new sun.tools.java.Identifier[local_8__1599.length];
local_12__1600 = 0;
goto addr_84
addr_68: local_11__1591[local_12__1600] = local_8__1599[local_12__1600].id;
local_12__1600 += 1;
addr_84: if (local_12__1600 < local_8__1599.length) goto addr_68
addr_92: defineField(local_1__1597, local_3__1596, local_4__1595, local_5__1594, local_6__1593.id, local_10__1592, local_11__1591, local_9__1590);
return;
}
protected void defineField(int local_1__1607, java.lang.String local_2__1608, int local_3__1609, sun.tools.java.Type local_4__1610, sun.tools.java.Identifier local_5__1611, sun.tools.java.Identifier local_6__1612[], sun.tools.java.Identifier local_7__1613[], sun.tools.tree.Node local_8__1614) {
throw new java.lang.RuntimeException("defineField method is abstract");
}
protected final void addArgument(sun.tools.tree.Node local_1__1615) {
sun.tools.tree.Node local_2__1617[];
if (argIndex != args.length) goto addr_43
local_2__1617 = new sun.tools.tree.Node[args.length * 2];
java.lang.System.arraycopy(args, 0, local_2__1617, 0, args.length);
args = local_2__1617;
addr_43: args[argIndex++] = local_1__1615;
return;
}
protected final sun.tools.tree.Expression[] exprArgs(int local_1__1619) {
sun.tools.tree.Expression local_2__1618[];
local_2__1618 = new sun.tools.tree.Expression[argIndex - local_1__1619];
java.lang.System.arraycopy(args, local_1__1619, local_2__1618, 0, argIndex - local_1__1619);
argIndex = local_1__1619;
return local_2__1618;
}
protected final sun.tools.tree.Statement[] statArgs(int local_1__1622) {
sun.tools.tree.Statement local_2__1621[];
local_2__1621 = new sun.tools.tree.Statement[argIndex - local_1__1622];
java.lang.System.arraycopy(args, local_1__1622, local_2__1621, 0, argIndex - local_1__1622);
argIndex = local_1__1622;
return local_2__1621;
}
protected void expect(int local_1__1629) {
<java.lang.Object-java.lang.String>local_4__1626;
int local_3__1627;
sun.tools.java.Environment local_2__1628;
int local_3__1631;
sun.tools.java.Environment local_2__1632;
if (token == local_1__1629) goto addr_101
switch (local_1__1629) {
local_2__1632 = env;
local_3__1631 = scanner.prevPos;
local_2__1632.error(local_2__1632.source, local_3__1631, "identifier.expected", "null", "null", "null");
goto addr_93
addr_58: local_2__1628 = env;
local_3__1627 = scanner.prevPos;
local_4__1626 = sun.tools.java.Constants.opNames[local_1__1629];
local_2__1628.error(local_2__1628.source, local_3__1627, "token.expected", local_4__1626, "null", "null");
addr_93: throw new sun.tools.java.SyntaxError();
addr_101: scan();
return;
}
protected sun.tools.tree.Expression parseTypeExpression() {
int local_2__1634;
sun.tools.java.Environment local_1__1635;
sun.tools.tree.Expression local_1__1639;
switch (token) {
return new sun.tools.tree.TypeExpression(scan(), sun.tools.java.Type.tVoid);
addr_111: return new sun.tools.tree.TypeExpression(scan(), sun.tools.java.Type.tBoolean);
addr_126: return new sun.tools.tree.TypeExpression(scan(), sun.tools.java.Type.tByte);
addr_141: return new sun.tools.tree.TypeExpression(scan(), sun.tools.java.Type.tChar);
addr_156: return new sun.tools.tree.TypeExpression(scan(), sun.tools.java.Type.tShort);
addr_171: return new sun.tools.tree.TypeExpression(scan(), sun.tools.java.Type.tInt);
addr_186: return new sun.tools.tree.TypeExpression(scan(), sun.tools.java.Type.tLong);
addr_201: return new sun.tools.tree.TypeExpression(scan(), sun.tools.java.Type.tFloat);
addr_216: return new sun.tools.tree.TypeExpression(scan(), sun.tools.java.Type.tDouble);
addr_231: local_1__1639 = new sun.tools.tree.IdentifierExpression(pos, scanner.idValue);
scan();
goto addr_284
addr_258: local_1__1639 = new sun.tools.tree.FieldExpression(scan(), local_1__1639, scanner.idValue);
expect(60);
addr_284: if (token == 46) goto addr_258
return local_1__1639;
addr_295: local_1__1635 = env;
local_2__1634 = pos;
local_1__1635.error(local_1__1635.source, local_2__1634, "type.expected", "null", "null", "null");
throw new sun.tools.java.SyntaxError();
}
protected sun.tools.tree.Expression parseMethodExpression(sun.tools.tree.Expression local_1__1652, sun.tools.java.Identifier local_2__1651) {
int local_4__1649;
int local_3__1653;
local_3__1653 = scan();
local_4__1649 = argIndex;
if (token == 141) goto addr_52
addArgument(parseExpression());
goto addr_45
addr_32: scan();
addArgument(parseExpression());
addr_45: if (token == 0) goto addr_32
addr_52: expect(141);
return new sun.tools.tree.MethodExpression(local_3__1653, local_1__1652, local_2__1651, exprArgs(local_4__1649));
}
protected sun.tools.tree.Expression parseNewInstanceExpression(int local_1__1672, sun.tools.tree.Expression local_2__1655, sun.tools.tree.Expression local_3__1671) {
sun.tools.java.ClassDefinition local_5__1654;
java.util.Vector local_9__1660;
java.util.Vector local_8__1661;
int local_6__1662;
int local_11__1663;
sun.tools.java.Environment local_10__1664;
int local_9__1665;
sun.tools.java.Environment local_8__1666;
<java.lang.Object-sun.tools.java.Identifier>local_7__1667;
int local_4__1669;
local_4__1669 = argIndex;
expect(140);
if (token == 141) goto addr_54
addArgument(parseExpression());
goto addr_47
addr_34: scan();
addArgument(parseExpression());
addr_47: if (token == 0) goto addr_34
addr_54: expect(141);
local_5__1654 = "null";
if (token != 138 || local_3__1671 instanceof sun.tools.tree.TypeExpression) goto addr_256
local_6__1662 = pos;
env.innerClassesUsed(local_1__1672);
local_7__1667 = sun.tools.tree.FieldExpression.toIdentifier(local_3__1671);
if (local_7__1667 != null) goto addr_135
local_8__1666 = env;
local_9__1665 = local_3__1671.getWhere();
local_8__1666.error(local_8__1666.source, local_9__1665, "type.expected", "null", "null", "null");
addr_135: local_8__1661 = new java.util.Vector(1);
local_9__1660 = new java.util.Vector(0);
local_8__1661.addElement(new sun.tools.java.IdentifierToken(sun.tools.java.Constants.idNull));
if (token != 113 && token != 112) goto addr_225
local_10__1664 = env;
local_11__1663 = pos;
local_10__1664.error(local_10__1664.source, local_11__1663, "anonymous.extends", "null", "null", "null");
parseInheritance(local_8__1661, local_9__1660);
addr_225: local_5__1654 = parseClassBody(new sun.tools.java.IdentifierToken(local_6__1662, sun.tools.java.Constants.idNull), 196608, 56, "null", local_8__1661, local_9__1660, local_3__1671.getWhere());
addr_256: if (local_2__1655 != 0 || local_5__1654 != null) goto addr_281
return new sun.tools.tree.NewInstanceExpression(local_1__1672, local_3__1671, exprArgs(local_4__1669));
addr_281: return new sun.tools.tree.NewInstanceExpression(local_1__1672, local_3__1671, exprArgs(local_4__1669), local_2__1655, local_5__1654);
}
protected sun.tools.tree.Expression parseTerm() {
int local_2__1674;
sun.tools.java.Environment local_1__1675;
int local_2__1684;
sun.tools.tree.Expression local_4__1686[];
sun.tools.tree.Expression local_3__1687;
int local_1__1689;
sun.tools.java.Environment local_3__1690;
int local_2__1692;
int local_1__1694;
sun.tools.tree.Expression local_2__1702;
int local_1__1703;
int local_1__1709;
double local_2__1710;
float local_2__1712;
long local_2__1714;
int local_2__1716;
int local_1__1719;
double local_2__1720;
float local_2__1722;
long local_2__1724;
int local_4__1725;
sun.tools.java.Environment local_5__1726;
int local_2__1728;
int local_3__1729;
sun.tools.java.Environment local_4__1730;
<sun.tools.tree.Expression-sun.tools.tree.SuperExpression>local_1__1735;
<sun.tools.tree.Expression-sun.tools.tree.ThisExpression>local_1__1739;
int local_2__1745;
sun.tools.java.Identifier local_1__1747;
java.lang.String local_1__1749;
double local_1__1751;
float local_1__1753;
long local_1__1755;
int local_3__1756;
sun.tools.java.Environment local_4__1757;
int local_1__1759;
int local_2__1760;
sun.tools.java.Environment local_3__1761;
char local_1__1763;
switch (token) {
local_1__1763 = scanner.charValue;
return new sun.tools.tree.CharExpression(scan(), local_1__1763);
addr_277: local_1__1759 = scanner.intValue;
local_2__1760 = scan();
if (local_1__1759 >= 0 || radix != 10) goto addr_322
local_3__1761 = env;
local_3__1761.error(local_3__1761.source, local_2__1760, "overflow", "null", "null", "null");
addr_322: return new sun.tools.tree.IntExpression(local_2__1760, local_1__1759);
addr_332: local_1__1755 = scanner.longValue;
local_3__1756 = scan();
if (local_1__1755 >= 0L || radix != 10) goto addr_382
local_4__1757 = env;
local_4__1757.error(local_4__1757.source, local_3__1756, "overflow", "null", "null", "null");
addr_382: return new sun.tools.tree.LongExpression(local_3__1756, local_1__1755);
addr_392: local_1__1753 = scanner.floatValue;
return new sun.tools.tree.FloatExpression(scan(), local_1__1753);
addr_413: local_1__1751 = scanner.doubleValue;
return new sun.tools.tree.DoubleExpression(scan(), local_1__1751);
addr_434: local_1__1749 = scanner.stringValue;
return new sun.tools.tree.StringExpression(scan(), local_1__1749);
addr_455: local_1__1747 = scanner.idValue;
local_2__1745 = scan();
if (token != 140) goto addr_485
return parseMethodExpression(null, local_1__1747);
addr_485: return new sun.tools.tree.IdentifierExpression(local_2__1745, local_1__1747);
addr_495: return new sun.tools.tree.BooleanExpression(scan(), true);
addr_508: return new sun.tools.tree.BooleanExpression(scan(), false);
addr_521: return new sun.tools.tree.NullExpression(scan());
addr_533: local_1__1739 = new sun.tools.tree.ThisExpression(scan());
if (token != 140) goto addr_564
return parseMethodExpression(local_1__1739, sun.tools.java.Constants.idInit);
addr_564: return local_1__1739;
addr_566: local_1__1735 = new sun.tools.tree.SuperExpression(scan());
if (token != 140) goto addr_597
return parseMethodExpression(local_1__1735, sun.tools.java.Constants.idInit);
addr_597: return local_1__1735;
addr_599: return parseTypeExpression();
addr_604: local_1__1719 = scan();
switch (token) {
local_2__1728 = scanner.intValue;
local_3__1729 = scan();
if (local_2__1728 >= 0 || radix != 10) goto addr_692
local_4__1730 = env;
local_4__1730.error(local_4__1730.source, local_3__1729, "overflow", "null", "null", "null");
addr_692: return new sun.tools.tree.IntExpression(local_3__1729, local_2__1728);
addr_702: local_2__1724 = scanner.longValue;
local_4__1725 = scan();
if (local_2__1724 >= 0L || radix != 10) goto addr_754
local_5__1726 = env;
local_5__1726.error(local_5__1726.source, local_4__1725, "overflow", "null", "null", "null");
addr_754: return new sun.tools.tree.LongExpression(local_4__1725, local_2__1724);
addr_765: local_2__1722 = scanner.floatValue;
return new sun.tools.tree.FloatExpression(scan(), local_2__1722);
addr_786: local_2__1720 = scanner.doubleValue;
return new sun.tools.tree.DoubleExpression(scan(), local_2__1720);
addr_807: return new sun.tools.tree.PositiveExpression(local_1__1719, parseTerm());
addr_820: local_1__1709 = scan();
switch (token) {
local_2__1716 = - scanner.intValue;
return new sun.tools.tree.IntExpression(scan(), local_2__1716);
addr_882: local_2__1714 = - scanner.longValue;
return new sun.tools.tree.LongExpression(scan(), local_2__1714);
addr_904: local_2__1712 = - scanner.floatValue;
return new sun.tools.tree.FloatExpression(scan(), local_2__1712);
addr_926: local_2__1710 = - scanner.doubleValue;
return new sun.tools.tree.DoubleExpression(scan(), local_2__1710);
addr_948: return new sun.tools.tree.NegativeExpression(local_1__1709, parseTerm());
addr_961: return new sun.tools.tree.NotExpression(scan(), parseTerm());
addr_977: return new sun.tools.tree.BitNotExpression(scan(), parseTerm());
addr_993: return new sun.tools.tree.PreIncExpression(scan(), parseTerm());
addr_1009: return new sun.tools.tree.PreDecExpression(scan(), parseTerm());
addr_1025: local_1__1703 = scan();
local_2__1702 = parseExpression();
expect(141);
if (local_2__1702.getOp() != 147) goto addr_1066
return new sun.tools.tree.CastExpression(local_1__1703, local_2__1702, parseTerm());
addr_1066: switch (token) {
addr_1224: return new sun.tools.tree.CastExpression(local_1__1703, local_2__1702, parseTerm());
addr_1238: return new sun.tools.tree.ExprExpression(local_1__1703, local_2__1702);
addr_1248: local_1__1694 = scan();
local_2__1692 = argIndex;
if (token == 139) goto addr_1309
addArgument(parseExpression());
goto addr_1302
addr_1279: scan();
if (token == 139) goto addr_1309
addArgument(parseExpression());
addr_1302: if (token == 0) goto addr_1279
addr_1309: expect(139);
return new sun.tools.tree.ArrayExpression(local_1__1694, exprArgs(local_2__1692));
addr_1330: local_1__1689 = scan();
local_2__1684 = argIndex;
if (token != 140) goto addr_1396
scan();
parseExpression();
expect(141);
local_3__1690 = env;
local_3__1690.error(local_3__1690.source, local_1__1689, "not.supported", "new(...)", "null", "null");
return new sun.tools.tree.NullExpression(local_1__1689);
addr_1396: local_3__1687 = parseTypeExpression();
if (token != 142) goto addr_1511
nop;
goto addr_1448
addr_1414: scan();
addArgument(token != 143 ? parseExpression() : null);
expect(143);
addr_1448: if (token == 142) goto addr_1414
local_4__1686 = exprArgs(local_2__1684);
if (token != 138) goto addr_1499
env.innerClassesUsed(local_1__1689);
return new sun.tools.tree.NewArrayExpression(local_1__1689, local_3__1687, local_4__1686, parseTerm());
addr_1499: return new sun.tools.tree.NewArrayExpression(local_1__1689, local_3__1687, local_4__1686);
addr_1511: return parseNewInstanceExpression(local_1__1689, null, local_3__1687);
addr_1519: local_1__1675 = env;
local_2__1674 = scanner.prevPos;
local_1__1675.error(local_1__1675.source, local_2__1674, "missing.term", "null", "null", "null");
return new sun.tools.tree.IntExpression(pos, 0);
}
protected sun.tools.tree.Expression parseExpression() {
sun.tools.tree.Expression local_1__1766;
<java.lang.Object-sun.tools.tree.Expression>local_2__1767;
sun.tools.tree.Expression local_1__1770;
local_1__1770 = parseTerm();
goto addr_27
addr_8: local_2__1767 = parseBinaryExpression(local_1__1770);
if (local_2__1767 != null) goto addr_20
return local_1__1770;
addr_20: local_1__1766 = local_2__1767;
local_1__1770 = local_1__1766.order();
addr_27: if (local_1__1770 != 0) goto addr_8
return null;
}
protected sun.tools.tree.Expression parseBinaryExpression(sun.tools.tree.Expression local_1__1771) {
sun.tools.tree.Expression local_3__1773;
int local_2__1775;
sun.tools.java.Identifier local_3__1844;
<sun.tools.tree.Expression-sun.tools.tree.SuperExpression>local_1__1847;
int local_2__1858;
sun.tools.tree.Expression local_3__1864;
int local_2__1866;
if (local_1__1771 == 0) goto addr_1309
switch (token) {
local_2__1866 = scan();
local_3__1864 = token != 143 ? parseExpression() : null;
expect(143);
local_1__1771 = new sun.tools.tree.ArrayAccessExpression(local_2__1866, local_1__1771, local_3__1864);
goto addr_1309
addr_361: local_1__1771 = new sun.tools.tree.PostIncExpression(scan(), local_1__1771);
goto addr_1309
addr_377: local_1__1771 = new sun.tools.tree.PostDecExpression(scan(), local_1__1771);
goto addr_1309
addr_393: local_2__1858 = scan();
if (token != 82) goto addr_436
env.innerClassesUsed(local_2__1858);
scan();
local_1__1771 = new sun.tools.tree.FieldExpression(local_2__1858, local_1__1771, sun.tools.java.Constants.idThis);
goto addr_1309
addr_436: if (token != 49) goto addr_487
env.innerClassesUsed(local_2__1858);
scan();
if (token == 60) goto addr_473
expect(60);
addr_473: local_1__1771 = parseNewInstanceExpression(local_2__1858, local_1__1771, parseTypeExpression());
goto addr_1309
addr_487: if (token != 111) goto addr_525
env.innerClassesUsed(local_2__1858);
scan();
local_1__1771 = new sun.tools.tree.FieldExpression(local_2__1858, local_1__1771, sun.tools.java.Constants.idClass);
goto addr_1309
addr_525: if (token != 83) goto addr_584
env.innerClassesUsed(local_2__1858);
local_1__1847 = new sun.tools.tree.SuperExpression(scan(), local_1__1771);
if (token == 140) goto addr_572
expect(140);
addr_572: local_1__1771 = parseMethodExpression(local_1__1847, sun.tools.java.Constants.idInit);
goto addr_1309
addr_584: local_3__1844 = scanner.idValue;
expect(60);
token == 140 ? local_1__1771 = parseMethodExpression(local_1__1771, local_3__1844) : (local_1__1771 = new sun.tools.tree.FieldExpression(local_2__1858, local_1__1771, local_3__1844));
goto addr_1309
addr_632: local_1__1771 = new sun.tools.tree.InstanceOfExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_652: local_1__1771 = new sun.tools.tree.AddExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_672: local_1__1771 = new sun.tools.tree.SubtractExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_692: local_1__1771 = new sun.tools.tree.MultiplyExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_712: local_1__1771 = new sun.tools.tree.DivideExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_732: local_1__1771 = new sun.tools.tree.RemainderExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_752: local_1__1771 = new sun.tools.tree.ShiftLeftExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_772: local_1__1771 = new sun.tools.tree.ShiftRightExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_792: local_1__1771 = new sun.tools.tree.UnsignedShiftRightExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_812: local_1__1771 = new sun.tools.tree.LessExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_832: local_1__1771 = new sun.tools.tree.LessOrEqualExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_852: local_1__1771 = new sun.tools.tree.GreaterExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_872: local_1__1771 = new sun.tools.tree.GreaterOrEqualExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_892: local_1__1771 = new sun.tools.tree.EqualExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_912: local_1__1771 = new sun.tools.tree.NotEqualExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_932: local_1__1771 = new sun.tools.tree.BitAndExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_952: local_1__1771 = new sun.tools.tree.BitXorExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_972: local_1__1771 = new sun.tools.tree.BitOrExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_992: local_1__1771 = new sun.tools.tree.AndExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_1012: local_1__1771 = new sun.tools.tree.OrExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_1032: local_1__1771 = new sun.tools.tree.AssignExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_1052: local_1__1771 = new sun.tools.tree.AssignMultiplyExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_1072: local_1__1771 = new sun.tools.tree.AssignDivideExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_1092: local_1__1771 = new sun.tools.tree.AssignRemainderExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_1112: local_1__1771 = new sun.tools.tree.AssignAddExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_1132: local_1__1771 = new sun.tools.tree.AssignSubtractExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_1152: local_1__1771 = new sun.tools.tree.AssignShiftLeftExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_1172: local_1__1771 = new sun.tools.tree.AssignShiftRightExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_1192: local_1__1771 = new sun.tools.tree.AssignUnsignedShiftRightExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_1212: local_1__1771 = new sun.tools.tree.AssignBitAndExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_1232: local_1__1771 = new sun.tools.tree.AssignBitOrExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_1252: local_1__1771 = new sun.tools.tree.AssignBitXorExpression(scan(), local_1__1771, parseTerm());
goto addr_1309
addr_1272: local_2__1775 = scan();
local_3__1773 = parseExpression();
expect(136);
local_1__1771 = new sun.tools.tree.ConditionalExpression(local_2__1775, local_1__1771, local_3__1773, parseExpression());
goto addr_1309
addr_1307: return null;
addr_1309: return local_1__1771;
}
protected boolean recoverStatement() {
switch (token) {
addr_200: return true;
addr_202: expect(139);
return false;
addr_211: match(140, 141);
scan();
goto addr_0
addr_229: match(142, 143);
scan();
goto addr_0
addr_247: scan();
goto addr_0
}
protected sun.tools.tree.Statement parseDeclaration(int local_1__1873, int local_2__1872, sun.tools.tree.Expression local_3__1871) {
int local_4__1869;
local_4__1869 = argIndex;
if (token != 60) goto addr_68
addArgument(new sun.tools.tree.VarDeclarationStatement(pos, parseExpression()));
goto addr_61
addr_37: scan();
addArgument(new sun.tools.tree.VarDeclarationStatement(pos, parseExpression()));
addr_61: if (token == 0) goto addr_37
addr_68: return new sun.tools.tree.DeclarationStatement(local_1__1873, local_2__1872, local_3__1871, statArgs(local_4__1869));
}
protected void topLevelExpression(sun.tools.tree.Expression local_1__1876) {
int local_3__1874;
sun.tools.java.Environment local_2__1875;
switch (local_1__1876.getOp()) {
addr_160: return;
addr_161: local_2__1875 = env;
local_3__1874 = local_1__1876.getWhere();
local_2__1875.error(local_2__1875.source, local_3__1874, "invalid.expr", "null", "null", "null");
return;
}
protected sun.tools.tree.Statement parseStatement() {
sun.tools.tree.Statement local_3__1881;
sun.tools.tree.Statement local_3__1884;
sun.tools.tree.Expression local_2__1886;
int local_1__1887;
int local_2__1888;
sun.tools.java.Environment local_1__1889;
int local_4__1891;
sun.tools.java.Environment local_3__1892;
sun.tools.tree.Statement local_4__1896;
sun.tools.tree.Expression local_3__1898;
int local_1__1900;
int local_2__1902;
sun.tools.tree.Expression local_2__1906;
int local_1__1907;
int local_1__1908;
sun.tools.java.Environment local_2__1909;
sun.tools.tree.Expression local_2__1911;
int local_1__1912;
int local_2__1915;
sun.tools.java.Environment local_1__1916;
sun.tools.tree.Statement local_1__1917;
int local_2__1920;
sun.tools.java.Environment local_1__1921;
int local_6__1924;
sun.tools.java.Environment local_5__1925;
int local_3__1927;
int local_2__1928;
sun.tools.java.IdentifierToken local_8__1930;
sun.tools.tree.Expression local_7__1931;
int local_5__1932;
int local_6__1933;
sun.tools.tree.Statement local_4__1936;
int local_1__1937;
int local_2__1939;
sun.tools.java.Environment local_1__1940;
int local_2__1942;
sun.tools.java.Environment local_1__1943;
int local_2__1944;
sun.tools.tree.Expression local_3__1946;
int local_1__1947;
int local_4__1948;
int local_4__1950;
<java.lang.Object-null>local_5__1951;
sun.tools.tree.Expression local_2__1952;
int local_1__1953;
sun.tools.java.Identifier local_2__1956;
int local_1__1957;
sun.tools.java.Identifier local_2__1960;
int local_1__1961;
sun.tools.tree.Expression local_3__1964;
sun.tools.tree.Statement local_2__1965;
int local_1__1966;
sun.tools.tree.Expression local_2__1969;
int local_1__1970;
sun.tools.tree.Expression local_3__1973;
sun.tools.tree.Statement local_2__1974;
int local_1__1975;
sun.tools.tree.Expression local_6__1976;
sun.tools.tree.Expression local_4__1977;
int local_5__1978;
sun.tools.tree.Expression local_9__1981;
int local_8__1983;
sun.tools.tree.Expression local_7__1988;
int local_6__1989;
int local_5__1990;
int local_2__1992;
sun.tools.java.Environment local_1__1993;
sun.tools.tree.Statement local_3__1999;
sun.tools.tree.Expression local_2__2000;
int local_1__2001;
switch (token) {
return new sun.tools.tree.CompoundStatement(scan(), new sun.tools.tree.Statement[0]);
addr_256: return parseBlockStatement();
addr_261: local_1__2001 = scan();
expect(140);
local_2__2000 = parseExpression();
expect(141);
local_3__1999 = parseStatement();
if (token != 91) goto addr_319
scan();
return new sun.tools.tree.IfStatement(local_1__2001, local_2__2000, local_3__1999, parseStatement());
addr_319: return new sun.tools.tree.IfStatement(local_1__2001, local_2__2000, local_3__1999, null);
addr_331: local_1__1993 = env;
local_2__1992 = scan();
local_1__1993.error(local_1__1993.source, local_2__1992, "else.without.if", "null", "null", "null");
return parseStatement();
addr_360: local_1__1975 = scan();
local_2__1974 = "null";
local_3__1973 = "null";
local_4__1977 = "null";
expect(140);
if (token == 135) goto addr_520
local_5__1990 = pos;
local_6__1989 = parseModifiers(16);
if (local_6__1989 == 0) goto addr_419
env.innerClassesUsed(pos);
addr_419: local_7__1988 = parseExpression();
if (token != 60) goto addr_448
local_2__1974 = parseDeclaration(local_5__1990, local_6__1989, local_7__1988);
goto addr_520
addr_448: if (local_6__1989 == 0) goto addr_459
expect(60);
addr_459: topLevelExpression(local_7__1988);
goto addr_501
addr_468: local_8__1983 = scan();
local_9__1981 = parseExpression();
topLevelExpression(local_9__1981);
local_7__1988 = new sun.tools.tree.CommaExpression(local_8__1983, local_7__1988, local_9__1981);
addr_501: if (token == 0) goto addr_468
local_2__1974 = new sun.tools.tree.ExpressionStatement(local_5__1990, local_7__1988);
addr_520: expect(135);
if (token == 135) goto addr_542
local_3__1973 = parseExpression();
addr_542: expect(135);
if (token == 141) goto addr_614
local_4__1977 = parseExpression();
topLevelExpression(local_4__1977);
goto addr_607
addr_574: local_5__1978 = scan();
local_6__1976 = parseExpression();
topLevelExpression(local_6__1976);
local_4__1977 = new sun.tools.tree.CommaExpression(local_5__1978, local_4__1977, local_6__1976);
addr_607: if (token == 0) goto addr_574
addr_614: expect(141);
return new sun.tools.tree.ForStatement(local_1__1975, local_2__1974, local_3__1973, local_4__1977, parseStatement());
addr_638: local_1__1970 = scan();
expect(140);
local_2__1969 = parseExpression();
expect(141);
return new sun.tools.tree.WhileStatement(local_1__1970, local_2__1969, parseStatement());
addr_676: local_1__1966 = scan();
local_2__1965 = parseStatement();
expect(93);
expect(140);
local_3__1964 = parseExpression();
expect(141);
expect(135);
return new sun.tools.tree.DoStatement(local_1__1966, local_2__1965, local_3__1964);
addr_729: local_1__1961 = scan();
local_2__1960 = "null";
if (token != 60) goto addr_758
local_2__1960 = scanner.idValue;
scan();
addr_758: expect(135);
return new sun.tools.tree.BreakStatement(local_1__1961, local_2__1960);
addr_775: local_1__1957 = scan();
local_2__1956 = "null";
if (token != 60) goto addr_804
local_2__1956 = scanner.idValue;
scan();
addr_804: expect(135);
return new sun.tools.tree.ContinueStatement(local_1__1957, local_2__1956);
addr_821: local_1__1953 = scan();
local_2__1952 = "null";
if (token == 135) goto addr_843
local_2__1952 = parseExpression();
addr_843: expect(135);
return new sun.tools.tree.ReturnStatement(local_1__1953, local_2__1952);
addr_860: local_1__1947 = scan();
local_2__1944 = argIndex;
expect(140);
local_3__1946 = parseExpression();
expect(141);
expect(138);
goto addr_1016
addr_899: local_4__1950 = argIndex;
switch (token) {
addArgument(new sun.tools.tree.CaseStatement(scan(), parseExpression()));
expect(136);
goto addr_1016
addr_961: addArgument(new sun.tools.tree.CaseStatement(scan(), null));
expect(136);
goto addr_1016
addr_987: addArgument(parseStatement());
goto addr_1016
addr_998: local_5__1951 = stack_0;
argIndex = local_4__1948;
if (recoverStatement()) goto addr_1016
throw local_5__1951;
addr_1016: if (token != -1 && token != 139) goto addr_899
expect(139);
return new sun.tools.tree.SwitchStatement(local_1__1947, local_3__1946, statArgs(local_2__1944));
addr_1056: local_1__1943 = env;
local_2__1942 = pos;
local_1__1943.error(local_1__1943.source, local_2__1942, "case.without.switch", "null", "null", "null");
goto addr_1100
addr_1083: scan();
parseExpression();
expect(136);
addr_1100: if (token == 96) goto addr_1083
return parseStatement();
addr_1114: local_1__1940 = env;
local_2__1939 = pos;
local_1__1940.error(local_1__1940.source, local_2__1939, "default.without.switch", "null", "null", "null");
scan();
expect(136);
return parseStatement();
addr_1155: local_1__1937 = scan();
local_2__1928 = argIndex;
local_3__1927 = 0;
local_4__1936 = parseBlockStatement();
goto addr_1261
addr_1176: local_5__1932 = pos;
expect(102);
expect(140);
local_6__1933 = parseModifiers(16);
local_7__1931 = parseExpression();
local_8__1930 = scanner.getIdToken();
expect(60);
local_8__1930.modifiers = local_6__1933;
expect(141);
addArgument(new sun.tools.tree.CatchStatement(local_5__1932, local_7__1931, local_8__1930, parseBlockStatement()));
local_3__1927 = 1;
addr_1261: if (token == 102) goto addr_1176
if (local_3__1927 == 0) goto addr_1291
local_4__1936 = new sun.tools.tree.TryStatement(local_1__1937, local_4__1936, statArgs(local_2__1928));
addr_1291: if (token != 103) goto addr_1320
scan();
return new sun.tools.tree.FinallyStatement(local_1__1937, local_4__1936, parseBlockStatement());
addr_1320: if (local_3__1927 == 0) goto addr_1327
return local_4__1936;
addr_1327: local_5__1925 = env;
local_6__1924 = pos;
local_5__1925.error(local_5__1925.source, local_6__1924, "try.without.catch.finally", "null", "null", "null");
return new sun.tools.tree.TryStatement(local_1__1937, local_4__1936, null);
addr_1368: local_1__1921 = env;
local_2__1920 = pos;
local_1__1921.error(local_1__1921.source, local_2__1920, "catch.without.try", "null", "null", "null");
addr_1392: scan();
expect(140);
parseModifiers(16);
parseExpression();
expect(60);
expect(141);
local_1__1917 = parseBlockStatement();
if (token == 102) goto addr_1392
if (token != 103) goto addr_1462
scan();
local_1__1917 = parseBlockStatement();
addr_1462: return local_1__1917;
addr_1464: local_1__1916 = env;
local_2__1915 = pos;
local_1__1916.error(local_1__1916.source, local_2__1915, "finally.without.try", "null", "null", "null");
scan();
return parseBlockStatement();
addr_1498: local_1__1912 = scan();
local_2__1911 = parseExpression();
expect(135);
return new sun.tools.tree.ThrowStatement(local_1__1912, local_2__1911);
addr_1525: local_1__1908 = scan();
expect(60);
expect(135);
local_2__1909 = env;
local_2__1909.error(local_2__1909.source, local_1__1908, "not.supported", "goto", "null", "null");
return new sun.tools.tree.CompoundStatement(local_1__1908, new sun.tools.tree.Statement[0]);
addr_1576: local_1__1907 = scan();
expect(140);
local_2__1906 = parseExpression();
expect(141);
return new sun.tools.tree.SynchronizedStatement(local_1__1907, local_2__1906, parseBlockStatement());
addr_1614: return parseLocalClass(0);
addr_1620: local_1__1900 = pos;
env.innerClassesUsed(pos);
local_2__1902 = parseModifiers(1040);
switch (token) {
addr_1748: return parseLocalClass(local_2__1902);
addr_1754: if ((local_2__1902 & 1024) == 0) goto addr_1774
local_2__1902 = local_2__1902 & -1025;
expect(111);
addr_1774: local_3__1898 = parseExpression();
if (token == 60) goto addr_1794
expect(60);
addr_1794: local_4__1896 = parseDeclaration(local_1__1900, local_2__1902, local_3__1898);
expect(135);
return local_4__1896;
addr_1813: local_3__1892 = env;
local_4__1891 = pos;
local_3__1892.error(local_3__1892.source, local_4__1891, "type.expected", "null", "null", "null");
throw new sun.tools.java.SyntaxError();
addr_1847: local_1__1889 = env;
local_2__1888 = pos;
local_1__1889.error(local_1__1889.source, local_2__1888, "statement.expected", "null", "null", "null");
throw new sun.tools.java.SyntaxError();
addr_1879: local_1__1887 = pos;
local_2__1886 = parseExpression();
if (token != 60) goto addr_1915
local_3__1884 = parseDeclaration(local_1__1887, 0, local_2__1886);
expect(135);
return local_3__1884;
addr_1915: if (token != 136) goto addr_1946
scan();
local_3__1881 = parseStatement();
local_3__1881.setLabel(env, local_2__1886);
return local_3__1881;
addr_1946: topLevelExpression(local_2__1886);
expect(135);
return new sun.tools.tree.ExpressionStatement(local_1__1887, local_2__1886);
}
protected sun.tools.tree.Statement parseBlockStatement() {
int local_2__2004;
int local_1__2006;
int local_3__2007;
int local_3__2009;
<java.lang.Object-null>local_4__2010;
<java.lang.Object-java.lang.String>local_3__2012;
int local_2__2013;
sun.tools.java.Environment local_1__2014;
if (token == 138) goto addr_50
local_1__2014 = env;
local_2__2013 = scanner.prevPos;
local_3__2012 = sun.tools.java.Constants.opNames[138];
local_1__2014.error(local_1__2014.source, local_2__2013, "token.expected", local_3__2012, "null", "null");
return parseStatement();
addr_50: local_1__2006 = scan();
local_2__2004 = argIndex;
goto addr_96
addr_63: local_3__2009 = argIndex;
addArgument(parseStatement());
goto addr_96
addr_79: local_4__2010 = stack_0;
argIndex = local_3__2007;
if (recoverStatement()) goto addr_96
throw local_4__2010;
addr_96: if (token != -1 && token != 139) goto addr_63
expect(139);
return new sun.tools.tree.CompoundStatement(local_1__2006, statArgs(local_2__2004));
}
protected sun.tools.java.IdentifierToken parseName(boolean local_1__2018) {
java.lang.StringBuffer local_3__2016;
sun.tools.java.Identifier local_3__2019;
sun.tools.java.IdentifierToken local_2__2021;
local_2__2021 = scanner.getIdToken();
expect(60);
if (token == 46) goto addr_25
return local_2__2021;
addr_25: local_3__2016 = new java.lang.StringBuffer((local_3__2019 = local_2__2021.id).name);
goto addr_112
addr_45: scan();
if (token != 33 || !local_1__2018) goto addr_78
scan();
local_3__2016.append(".*");
goto addr_121
addr_78: local_3__2016.append(46);
if (token != 60) goto addr_106
local_3__2016.append(scanner.idValue);
addr_106: expect(60);
addr_112: if (token == 46) goto addr_45
addr_121: local_2__2021.id = sun.tools.java.Identifier.lookup(new java.lang.String(local_3__2016));
return local_2__2021;
}
protected sun.tools.java.Identifier parseIdentifier(boolean local_1__2022) {
return parseName(local_1__2022).id;
}
protected sun.tools.java.Type parseType() {
sun.tools.java.Type local_1__2024;
int local_3__2026;
sun.tools.java.Environment local_2__2027;
switch (token) {
local_1__2024 = sun.tools.java.Type.tClass(parseName(false).id);
goto addr_251
addr_111: scan();
local_1__2024 = sun.tools.java.Type.tVoid;
goto addr_251
addr_123: scan();
local_1__2024 = sun.tools.java.Type.tBoolean;
goto addr_251
addr_135: scan();
local_1__2024 = sun.tools.java.Type.tByte;
goto addr_251
addr_147: scan();
local_1__2024 = sun.tools.java.Type.tChar;
goto addr_251
addr_159: scan();
local_1__2024 = sun.tools.java.Type.tShort;
goto addr_251
addr_171: scan();
local_1__2024 = sun.tools.java.Type.tInt;
goto addr_251
addr_183: scan();
local_1__2024 = sun.tools.java.Type.tFloat;
goto addr_251
addr_195: scan();
local_1__2024 = sun.tools.java.Type.tLong;
goto addr_251
addr_207: scan();
local_1__2024 = sun.tools.java.Type.tDouble;
goto addr_251
addr_219: local_2__2027 = env;
local_3__2026 = pos;
local_2__2027.error(local_2__2027.source, local_3__2026, "type.expected", "null", "null", "null");
throw new sun.tools.java.SyntaxError();
addr_251: return parseArrayBrackets(local_1__2024);
}
protected sun.tools.java.Type parseArrayBrackets(sun.tools.java.Type local_1__2031) {
int local_3__2032;
sun.tools.java.Environment local_2__2033;
nop;
goto addr_59
addr_3: scan();
if (token == 143) goto addr_47
local_2__2033 = env;
local_3__2032 = pos;
local_2__2033.error(local_2__2033.source, local_3__2032, "array.dim.in.decl", "null", "null", "null");
parseExpression();
addr_47: expect(143);
local_1__2031 = sun.tools.java.Type.tArray(local_1__2031);
addr_59: if (token == 142) goto addr_3
return local_1__2031;
}
private void addArgument(int local_1__2039, sun.tools.java.Type local_2__2036, sun.tools.java.IdentifierToken local_3__2034) {
sun.tools.java.IdentifierToken local_5__2037[];
sun.tools.java.Type local_4__2038[];
local_3__2034.modifiers = local_1__2039;
if (aCount < aTypes.length) goto addr_81
local_4__2038 = new sun.tools.java.Type[aCount * 2];
java.lang.System.arraycopy(aTypes, 0, local_4__2038, 0, aCount);
aTypes = local_4__2038;
local_5__2037 = new sun.tools.java.IdentifierToken[aCount * 2];
java.lang.System.arraycopy(aNames, 0, local_5__2037, 0, aCount);
aNames = local_5__2037;
addr_81: aTypes[aCount] = local_2__2036;
aNames[aCount++] = local_3__2034;
return;
}
protected int parseModifiers(int local_1__2041) {
int local_3__2045;
int local_2__2046;
int local_5__2047;
sun.tools.java.Environment local_4__2048;
local_2__2046 = 0;
addr_2: local_3__2045 = 0;
switch (token) {
local_3__2045 = 2;
goto addr_125
addr_73: local_3__2045 = 1;
goto addr_125
addr_78: local_3__2045 = 4;
goto addr_125
addr_83: local_3__2045 = 8;
goto addr_125
addr_89: local_3__2045 = 128;
goto addr_125
addr_96: local_3__2045 = 16;
goto addr_125
addr_102: local_3__2045 = 1024;
goto addr_125
addr_109: local_3__2045 = 256;
goto addr_125
addr_116: local_3__2045 = 64;
goto addr_125
addr_122: local_3__2045 = 32;
addr_125: if ((local_3__2045 & local_1__2041) == 0) goto addr_178
if ((local_3__2045 & local_2__2046) == 0) goto addr_166
local_4__2048 = env;
local_5__2047 = pos;
local_4__2048.error(local_4__2048.source, local_5__2047, "repeated.modifier", "null", "null", "null");
addr_166: local_2__2046 = local_2__2046 | local_3__2045;
scan();
goto addr_2
addr_178: return local_2__2046;
}
protected void parseField() {
<sun.tools.tree.Node-sun.tools.tree.Expression>local_7__2050;
sun.tools.java.Type local_6__2052;
int local_2__2055;
java.util.Vector local_9__2064;
sun.tools.java.Type local_6__2067[];
sun.tools.java.Type local_4__2068;
sun.tools.java.Type local_4__2070;
sun.tools.java.IdentifierToken local_8__2071;
sun.tools.java.Type local_7__2072;
int local_6__2073;
sun.tools.java.Type local_7__2074;
sun.tools.java.IdentifierToken local_8__2075;
sun.tools.java.Type local_7__2076;
int local_6__2077;
sun.tools.java.Type local_7__2078;
<null-null>local_8__2089[];
sun.tools.java.IdentifierToken local_7__2090[];
sun.tools.java.IdentifierToken local_5__2091;
sun.tools.java.Type local_4__2092;
int local_2__2095;
int local_3__2101;
java.lang.String local_1__2102;
int local_2__2103;
if (token != 135) goto addr_16
scan();
return;
addr_16: local_1__2102 = scanner.docComment;
local_2__2103 = pos;
local_3__2101 = parseModifiers(1535);
if (local_3__2101 != (local_3__2101 & 8) || token != 138) goto addr_94
actions.defineField(local_2__2103, curClass, local_1__2102, local_3__2101, sun.tools.java.Type.tMethod(sun.tools.java.Type.tVoid), new sun.tools.java.IdentifierToken(sun.tools.java.Constants.idClassInit), null, null, parseStatement());
return;
addr_94: if (token != 111 && token != 114) goto addr_130
env.innerClassesUsed(local_2__2103);
parseNamedClass(local_3__2101, 111, local_1__2102);
return;
addr_130: local_2__2095 = pos;
local_4__2070 = parseType();
local_5__2091 = "null";
switch (token) {
local_5__2091 = scanner.getIdToken();
local_2__2095 = scan();
goto addr_214
addr_193: local_5__2091 = new sun.tools.java.IdentifierToken(sun.tools.java.Constants.idInit);
goto addr_214
addr_208: expect(60);
addr_214: if (token != 140) goto addr_624
scan();
aCount = 0;
if (token == 141) goto addr_353
local_6__2077 = parseModifiers(16);
local_7__2078 = parseType();
local_8__2075 = scanner.getIdToken();
expect(60);
local_7__2076 = parseArrayBrackets(local_7__2078);
((sun.tools.java.Parser) this).addArgument(local_6__2077, local_7__2076, local_8__2075);
goto addr_346
addr_294: scan();
local_6__2073 = parseModifiers(16);
local_7__2074 = parseType();
local_8__2071 = scanner.getIdToken();
expect(60);
local_7__2072 = parseArrayBrackets(local_7__2074);
((sun.tools.java.Parser) this).addArgument(local_6__2073, local_7__2072, local_8__2071);
addr_346: if (token == 0) goto addr_294
addr_353: expect(141);
local_4__2068 = parseArrayBrackets(local_4__2070);
local_6__2067 = new sun.tools.java.Type[aCount];
java.lang.System.arraycopy(aTypes, 0, local_6__2067, 0, aCount);
local_7__2090 = new sun.tools.java.IdentifierToken[aCount];
java.lang.System.arraycopy(aNames, 0, local_7__2090, 0, aCount);
local_4__2092 = sun.tools.java.Type.tMethod(local_4__2068, local_6__2067);
local_8__2089 = "null";
if (token != 144) goto addr_504
local_9__2064 = new java.util.Vector();
scan();
local_9__2064.addElement(parseName(false));
goto addr_480
addr_465: scan();
local_9__2064.addElement(parseName(false));
addr_480: if (token == 0) goto addr_465
local_8__2089 = new sun.tools.java.IdentifierToken[local_9__2064.size()];
local_9__2064.copyInto(local_8__2089);
addr_504: switch (token) {
actions.defineField(local_2__2095, curClass, local_1__2102, local_3__2101, local_4__2092, local_5__2091, local_7__2090, local_8__2089, parseStatement());
return;
addr_569: scan();
actions.defineField(local_2__2095, curClass, local_1__2102, local_3__2101, local_4__2092, local_5__2091, local_7__2090, local_8__2089, null);
return;
addr_600: if ((local_3__2101 & 1280) != 0) goto addr_616
expect(138);
return;
addr_616: expect(135);
return;
addr_624: local_2__2055 = pos;
local_6__2052 = parseArrayBrackets(local_4__2070);
local_7__2050 = "null";
if (token != 1) goto addr_659
scan();
local_7__2050 = parseExpression();
addr_659: actions.defineField(local_2__2055, curClass, local_1__2102, local_3__2101, local_6__2052, local_5__2091, null, null, local_7__2050);
if (token == 0) goto addr_698
expect(135);
return;
addr_698: scan();
local_5__2091 = scanner.getIdToken();
expect(60);
goto addr_624
}
protected void recoverField(sun.tools.java.ClassDefinition local_1__2105) {
switch (token) {
addr_208: return;
addr_209: match(138, 139);
scan();
goto addr_0
addr_227: match(140, 141);
scan();
goto addr_0
addr_245: match(142, 143);
scan();
goto addr_0
addr_263: actions.endClass(pos, local_1__2105);
throw new sun.tools.java.SyntaxError();
addr_285: scan();
goto addr_0
}
protected void parseClass() {
java.lang.String local_1__2107;
int local_2__2108;
local_1__2107 = scanner.docComment;
local_2__2108 = parseModifiers(1599);
parseNamedClass(local_2__2108, 115, local_1__2107);
return;
}
protected sun.tools.tree.Statement parseLocalClass(int local_1__2115) {
sun.tools.tree.Statement local_4__2110[];
<sun.tools.tree.Expression-sun.tools.tree.TypeExpression>local_5__2111;
int local_2__2112;
sun.tools.java.ClassDeclaration local_5__2113;
sun.tools.java.ClassDefinition local_3__2114;
local_2__2112 = pos;
env.innerClassesUsed(local_2__2112);
local_3__2114 = parseNamedClass(131072 | local_1__2115, 105, "null");
local_4__2110 = {(/*type error */new sun.tools.tree.VarDeclarationStatement(local_2__2112, new sun.tools.tree.LocalField(local_3__2114), null))};
local_5__2111 = new sun.tools.tree.TypeExpression(local_2__2112, (local_5__2113 = local_3__2114.declaration).type);
return new sun.tools.tree.DeclarationStatement(local_2__2112, 0, local_5__2111, local_4__2110);
}
protected sun.tools.java.ClassDefinition parseNamedClass(int local_1__2127, int local_2__2121, java.lang.String local_3__2120) {
int local_5__2117;
java.util.Vector local_7__2118;
java.util.Vector local_6__2119;
sun.tools.java.IdentifierToken local_4__2123;
int local_5__2125;
sun.tools.java.Environment local_4__2126;
switch (token) {
scan();
local_1__2127 = local_1__2127 | 512;
goto addr_87
addr_50: scan();
goto addr_87
addr_58: local_4__2126 = env;
local_5__2125 = pos;
local_4__2126.error(local_4__2126.source, local_5__2125, "class.expected", "null", "null", "null");
addr_87: local_4__2123 = scanner.getIdToken();
local_5__2117 = pos;
expect(60);
local_6__2119 = new java.util.Vector();
local_7__2118 = new java.util.Vector();
parseInheritance(local_6__2119, local_7__2118);
return parseClassBody(local_4__2123, local_1__2127, local_2__2121, local_3__2120, local_6__2119, local_7__2118, local_5__2117);
}
protected void parseInheritance(java.util.Vector local_1__2130, java.util.Vector local_2__2129) {
if (token != 112) goto addr_47
scan();
local_1__2130.addElement(parseName(false));
goto addr_40
addr_26: scan();
local_1__2130.addElement(parseName(false));
addr_40: if (token == 0) goto addr_26
addr_47: if (token != 113) goto addr_94
scan();
local_2__2129.addElement(parseName(false));
goto addr_87
addr_73: scan();
local_2__2129.addElement(parseName(false));
addr_87: if (token == 0) goto addr_73
addr_94: return;
}
protected sun.tools.java.ClassDefinition parseClassBody(sun.tools.java.IdentifierToken local_1__2135, int local_2__2136, int local_3__2156, java.lang.String local_4__2137, java.util.Vector local_5__2145, java.util.Vector local_6__2148, int local_7__2138) {
<null-null>local_10__2133[];
sun.tools.java.IdentifierToken local_8__2134;
int local_10__2142;
sun.tools.java.Environment local_9__2143;
int local_10__2146;
sun.tools.java.Environment local_9__2147;
<error> local_13__2149;
sun.tools.java.ClassDefinition local_9__2150;
<java.lang.Object-null>local_12__2152;
<sun.tools.java.ClassDefinition-null>local_11__2153;
sun.tools.java.ClassDefinition local_11__2154;
<java.lang.Object-null>local_12__2155;
local_8__2134 = "null";
if ((local_2__2136 & 512) == 0) goto addr_63
if (local_6__2148.size() <= 0) goto addr_56
local_9__2147 = env;
local_10__2146 = ((sun.tools.java.IdentifierToken)local_6__2148.elementAt(0)).getWhere();
local_9__2147.error(local_9__2147.source, local_10__2146, "intf.impl.intf", "null", "null", "null");
addr_56: local_6__2148 = local_5__2145;
goto addr_128
addr_63: if (local_5__2145.size() <= 0) goto addr_128
if (local_5__2145.size() <= 1) goto addr_117
local_9__2143 = env;
local_10__2142 = ((sun.tools.java.IdentifierToken)local_5__2145.elementAt(1)).getWhere();
local_9__2143.error(local_9__2143.source, local_10__2142, "multiple.inherit", "null", "null", "null");
addr_117: local_8__2134 = (sun.tools.java.IdentifierToken)local_5__2145.elementAt(0);
addr_128: local_9__2150 = curClass;
local_10__2133 = new sun.tools.java.IdentifierToken[local_6__2148.size()];
local_6__2148.copyInto(local_10__2133);
local_11__2154 = actions.beginClass(local_7__2138, local_4__2137, local_2__2136, local_1__2135, local_8__2134, local_10__2133);
expect(138);
goto addr_226
addr_182: curClass = local_11__2154;
parseField();
goto addr_202
addr_195: stack_0;
recoverField(local_11__2153);
addr_202: JSR;
goto addr_216
addr_205: nop;
goto addr_226
addr_208: local_12__2152 = stack_0;
JSR;
goto addr_216
addr_213: throw local_12__2155;
addr_216: local_13__2149 = stack_0;
curClass = local_9__2150;
push (/*type error */local_13__2149);
addr_226: if (token != -1 && token != 139) goto addr_182
expect(139);
actions.endClass(scanner.prevPos, local_11__2154);
return local_11__2154;
}
protected void recoverFile() {
switch (token) {
addr_64: return;
addr_65: match(138, 139);
scan();
goto addr_0
addr_83: match(140, 141);
scan();
goto addr_0
addr_101: match(142, 143);
scan();
goto addr_0
addr_119: return;
addr_120: scan();
goto addr_0
}
public void parseFile() {
java.lang.Object local_3__2158;
int local_2__2159;
sun.tools.java.Environment local_1__2160;
sun.tools.java.Environment local_3__2161;
<sun.tools.java.Scanner-null>local_0__2162;
<java.lang.Object-sun.tools.java.Identifier>local_4__2166;
<java.lang.Object-sun.tools.java.Identifier>local_3__2167;
sun.tools.java.IdentifierToken local_2__2168;
int local_1__2169;
sun.tools.java.Identifier local_3__2171;
sun.tools.java.IdentifierToken local_2__2172;
int local_1__2173;
int local_2__2174;
sun.tools.java.Environment local_1__2175;
if (token != 115) goto addr_152
local_1__2173 = scan();
local_2__2172 = parseName(false);
expect(135);
actions.packageDeclaration(local_1__2173, local_2__2172);
goto addr_152
addr_41: stack_0;
recoverFile();
goto addr_152
addr_49: local_1__2169 = scan();
local_2__2168 = parseName(true);
expect(135);
local_3__2167 = local_2__2168.id.getName();
local_4__2166 = sun.tools.java.Constants.idStar;
if (local_3__2167 != local_4__2166 && !false) goto addr_133
local_2__2168.id = (local_3__2171 = local_2__2168.id).isQualified() ? (sun.tools.java.Identifier)local_3__2171.value : sun.tools.java.Constants.idNull;
actions.importPackage(local_1__2169, local_2__2168);
goto addr_152
addr_133: actions.importClass(local_1__2169, local_2__2168);
goto addr_152
addr_147: stack_0;
recoverFile();
addr_152: if (token == 110) goto addr_49
nop;
goto addr_297
addr_164: switch (token) {
addr_244: parseClass();
goto addr_297
addr_251: scan();
goto addr_297
addr_259: return;
addr_260: local_1__2175 = env;
local_2__2174 = pos;
local_1__2175.error(local_1__2175.source, local_2__2174, "toplevel.expected", "null", "null", "null");
throw new sun.tools.java.SyntaxError();
addr_292: stack_0;
recoverFile();
addr_297: if (token != -1) goto addr_164
return;
addr_306: stack_0;
local_1__2160 = local_0__2162.env;
local_2__2159 = local_0__2162.pos;
local_3__2161 = local_0__2162.env;
local_3__2158 = local_3__2161.source;
local_1__2160.error(local_1__2160.source, local_2__2159, "io.exception", local_3__2158, "null", "null");
return;
}
public int scan() {
int local_1__2178;
if ((/*type error */(/*type error */this).scanner) == (/*type error */this) || (/*type error */this).scanner == 0) goto addr_47
local_1__2178 = (/*type error */this).scanner.scan();
(/*type error */this).token = (/*type error */this).scanner.token;
(/*type error */this).pos = (/*type error */this).scanner.pos;
return local_1__2178;
addr_47: return ((sun.tools.java.Scanner) (/*type error */this)).scan();
}
public void match(int local_1__2185, int local_2__2184) {
if ((/*type error */(/*type error */this).scanner) == (/*type error */this)) goto addr_40
(/*type error */this).scanner.match(local_1__2185, local_2__2184);
(/*type error */this).token = (/*type error */this).scanner.token;
(/*type error */this).pos = (/*type error */this).scanner.pos;
return;
addr_40: ((sun.tools.java.Scanner) (/*type error */this)).match(local_1__2185, local_2__2184);
return;
}
}
/* Original source: ParserActions.java */
public interface interface ParserActions
extends java.lang.Object
{
public abstract void packageDeclaration(int, sun.tools.java.IdentifierToken);
public abstract void importClass(int, sun.tools.java.IdentifierToken);
public abstract void importPackage(int, sun.tools.java.IdentifierToken);
public abstract sun.tools.java.ClassDefinition beginClass(int, java.lang.String, int, sun.tools.java.IdentifierToken, sun.tools.java.IdentifierToken, sun.tools.java.IdentifierToken[]);
public abstract void endClass(int, sun.tools.java.ClassDefinition);
public abstract void defineField(int, sun.tools.java.ClassDefinition, java.lang.String, int, sun.tools.java.Type, sun.tools.java.IdentifierToken, sun.tools.java.IdentifierToken[], sun.tools.java.IdentifierToken[], sun.tools.tree.Node);
}
/* Original source: RuntimeConstants.java */
public interface interface RuntimeConstants
extends java.lang.Object
{
public static final char SIGC_VOID = 86;
public static final java.lang.String SIG_VOID = V;
public static final char SIGC_BOOLEAN = 90;
public static final java.lang.String SIG_BOOLEAN = Z;
public static final char SIGC_BYTE = 66;
public static final java.lang.String SIG_BYTE = B;
public static final char SIGC_CHAR = 67;
public static final java.lang.String SIG_CHAR = C;
public static final char SIGC_SHORT = 83;
public static final java.lang.String SIG_SHORT = S;
public static final char SIGC_INT = 73;
public static final java.lang.String SIG_INT = I;
public static final char SIGC_LONG = 74;
public static final java.lang.String SIG_LONG = J;
public static final char SIGC_FLOAT = 70;
public static final java.lang.String SIG_FLOAT = F;
public static final char SIGC_DOUBLE = 68;
public static final java.lang.String SIG_DOUBLE = D;
public static final char SIGC_ARRAY = 91;
public static final java.lang.String SIG_ARRAY = [;
public static final char SIGC_CLASS = 76;
public static final java.lang.String SIG_CLASS = L;
public static final char SIGC_METHOD = 40;
public static final java.lang.String SIG_METHOD = (;
public static final char SIGC_ENDCLASS = 59;
public static final java.lang.String SIG_ENDCLASS = ;;
public static final char SIGC_ENDMETHOD = 41;
public static final java.lang.String SIG_ENDMETHOD = );
public static final char SIGC_PACKAGE = 47;
public static final java.lang.String SIG_PACKAGE = /;
public static final int JAVA_MAGIC = -889275714;
public static final int JAVA_VERSION = 45;
public static final int JAVA_MINOR_VERSION = 3;
public static final int CONSTANT_UTF8 = 1;
public static final int CONSTANT_UNICODE = 2;
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_FIELD = 9;
public static final int CONSTANT_METHOD = 10;
public static final int CONSTANT_INTERFACEMETHOD = 11;
public static final int CONSTANT_NAMEANDTYPE = 12;
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_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 ACC_SUPER = 32;
public static final int T_CLASS = 2;
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 int opc_try = -3;
public static final int opc_dead = -2;
public static final int opc_label = -1;
public static final int opc_nop = 0;
public static final int opc_aconst_null = 1;
public static final int opc_iconst_m1 = 2;
public static final int opc_iconst_0 = 3;
public static final int opc_iconst_1 = 4;
public static final int opc_iconst_2 = 5;
public static final int opc_iconst_3 = 6;
public static final int opc_iconst_4 = 7;
public static final int opc_iconst_5 = 8;
public static final int opc_lconst_0 = 9;
public static final int opc_lconst_1 = 10;
public static final int opc_fconst_0 = 11;
public static final int opc_fconst_1 = 12;
public static final int opc_fconst_2 = 13;
public static final int opc_dconst_0 = 14;
public static final int opc_dconst_1 = 15;
public static final int opc_bipush = 16;
public static final int opc_sipush = 17;
public static final int opc_ldc = 18;
public static final int opc_ldc_w = 19;
public static final int opc_ldc2_w = 20;
public static final int opc_iload = 21;
public static final int opc_lload = 22;
public static final int opc_fload = 23;
public static final int opc_dload = 24;
public static final int opc_aload = 25;
public static final int opc_iload_0 = 26;
public static final int opc_iload_1 = 27;
public static final int opc_iload_2 = 28;
public static final int opc_iload_3 = 29;
public static final int opc_lload_0 = 30;
public static final int opc_lload_1 = 31;
public static final int opc_lload_2 = 32;
public static final int opc_lload_3 = 33;
public static final int opc_fload_0 = 34;
public static final int opc_fload_1 = 35;
public static final int opc_fload_2 = 36;
public static final int opc_fload_3 = 37;
public static final int opc_dload_0 = 38;
public static final int opc_dload_1 = 39;
public static final int opc_dload_2 = 40;
public static final int opc_dload_3 = 41;
public static final int opc_aload_0 = 42;
public static final int opc_aload_1 = 43;
public static final int opc_aload_2 = 44;
public static final int opc_aload_3 = 45;
public static final int opc_iaload = 46;
public static final int opc_laload = 47;
public static final int opc_faload = 48;
public static final int opc_daload = 49;
public static final int opc_aaload = 50;
public static final int opc_baload = 51;
public static final int opc_caload = 52;
public static final int opc_saload = 53;
public static final int opc_istore = 54;
public static final int opc_lstore = 55;
public static final int opc_fstore = 56;
public static final int opc_dstore = 57;
public static final int opc_astore = 58;
public static final int opc_istore_0 = 59;
public static final int opc_istore_1 = 60;
public static final int opc_istore_2 = 61;
public static final int opc_istore_3 = 62;
public static final int opc_lstore_0 = 63;
public static final int opc_lstore_1 = 64;
public static final int opc_lstore_2 = 65;
public static final int opc_lstore_3 = 66;
public static final int opc_fstore_0 = 67;
public static final int opc_fstore_1 = 68;
public static final int opc_fstore_2 = 69;
public static final int opc_fstore_3 = 70;
public static final int opc_dstore_0 = 71;
public static final int opc_dstore_1 = 72;
public static final int opc_dstore_2 = 73;
public static final int opc_dstore_3 = 74;
public static final int opc_astore_0 = 75;
public static final int opc_astore_1 = 76;
public static final int opc_astore_2 = 77;
public static final int opc_astore_3 = 78;
public static final int opc_iastore = 79;
public static final int opc_lastore = 80;
public static final int opc_fastore = 81;
public static final int opc_dastore = 82;
public static final int opc_aastore = 83;
public static final int opc_bastore = 84;
public static final int opc_castore = 85;
public static final int opc_sastore = 86;
public static final int opc_pop = 87;
public static final int opc_pop2 = 88;
public static final int opc_dup = 89;
public static final int opc_dup_x1 = 90;
public static final int opc_dup_x2 = 91;
public static final int opc_dup2 = 92;
public static final int opc_dup2_x1 = 93;
public static final int opc_dup2_x2 = 94;
public static final int opc_swap = 95;
public static final int opc_iadd = 96;
public static final int opc_ladd = 97;
public static final int opc_fadd = 98;
public static final int opc_dadd = 99;
public static final int opc_isub = 100;
public static final int opc_lsub = 101;
public static final int opc_fsub = 102;
public static final int opc_dsub = 103;
public static final int opc_imul = 104;
public static final int opc_lmul = 105;
public static final int opc_fmul = 106;
public static final int opc_dmul = 107;
public static final int opc_idiv = 108;
public static final int opc_ldiv = 109;
public static final int opc_fdiv = 110;
public static final int opc_ddiv = 111;
public static final int opc_irem = 112;
public static final int opc_lrem = 113;
public static final int opc_frem = 114;
public static final int opc_drem = 115;
public static final int opc_ineg = 116;
public static final int opc_lneg = 117;
public static final int opc_fneg = 118;
public static final int opc_dneg = 119;
public static final int opc_ishl = 120;
public static final int opc_lshl = 121;
public static final int opc_ishr = 122;
public static final int opc_lshr = 123;
public static final int opc_iushr = 124;
public static final int opc_lushr = 125;
public static final int opc_iand = 126;
public static final int opc_land = 127;
public static final int opc_ior = 128;
public static final int opc_lor = 129;
public static final int opc_ixor = 130;
public static final int opc_lxor = 131;
public static final int opc_iinc = 132;
public static final int opc_i2l = 133;
public static final int opc_i2f = 134;
public static final int opc_i2d = 135;
public static final int opc_l2i = 136;
public static final int opc_l2f = 137;
public static final int opc_l2d = 138;
public static final int opc_f2i = 139;
public static final int opc_f2l = 140;
public static final int opc_f2d = 141;
public static final int opc_d2i = 142;
public static final int opc_d2l = 143;
public static final int opc_d2f = 144;
public static final int opc_i2b = 145;
public static final int opc_i2c = 146;
public static final int opc_i2s = 147;
public static final int opc_lcmp = 148;
public static final int opc_fcmpl = 149;
public static final int opc_fcmpg = 150;
public static final int opc_dcmpl = 151;
public static final int opc_dcmpg = 152;
public static final int opc_ifeq = 153;
public static final int opc_ifne = 154;
public static final int opc_iflt = 155;
public static final int opc_ifge = 156;
public static final int opc_ifgt = 157;
public static final int opc_ifle = 158;
public static final int opc_if_icmpeq = 159;
public static final int opc_if_icmpne = 160;
public static final int opc_if_icmplt = 161;
public static final int opc_if_icmpge = 162;
public static final int opc_if_icmpgt = 163;
public static final int opc_if_icmple = 164;
public static final int opc_if_acmpeq = 165;
public static final int opc_if_acmpne = 166;
public static final int opc_goto = 167;
public static final int opc_jsr = 168;
public static final int opc_ret = 169;
public static final int opc_tableswitch = 170;
public static final int opc_lookupswitch = 171;
public static final int opc_ireturn = 172;
public static final int opc_lreturn = 173;
public static final int opc_freturn = 174;
public static final int opc_dreturn = 175;
public static final int opc_areturn = 176;
public static final int opc_return = 177;
public static final int opc_getstatic = 178;
public static final int opc_putstatic = 179;
public static final int opc_getfield = 180;
public static final int opc_putfield = 181;
public static final int opc_invokevirtual = 182;
public static final int opc_invokespecial = 183;
public static final int opc_invokestatic = 184;
public static final int opc_invokeinterface = 185;
public static final int opc_xxxunusedxxx = 186;
public static final int opc_new = 187;
public static final int opc_newarray = 188;
public static final int opc_anewarray = 189;
public static final int opc_arraylength = 190;
public static final int opc_athrow = 191;
public static final int opc_checkcast = 192;
public static final int opc_instanceof = 193;
public static final int opc_monitorenter = 194;
public static final int opc_monitorexit = 195;
public static final int opc_wide = 196;
public static final int opc_multianewarray = 197;
public static final int opc_ifnull = 198;
public static final int opc_ifnonnull = 199;
public static final int opc_goto_w = 200;
public static final int opc_jsr_w = 201;
public static final int opc_breakpoint = 202;
public static final java.lang.String opcNames[];
public static final int opcLengths[];
static {
opcNames = {"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", "xxxunusedxxx", "new", "newarray", "anewarray", "arraylength", "athrow", "checkcast", "instanceof", "monitorenter", "monitorexit", "wide", "multianewarray", "ifnull", "ifnonnull", "goto_w", "jsr_w", "breakpoint"};
opcLengths = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 2, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 99, 99, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 5, , 3, 2, 3, 1, 1, 3, 3, 1, 1, , 4, 3, 3, 5, 5, 1};
return;
}
}
/* Original source: Scanner.java */
public class Scanner
extends java.lang.Object
implements sun.tools.java.Constants {
public static final int OFFSETINC = 1;
public static final int LINEINC = 262144;
public static final int EOF = -1;
public sun.tools.java.Environment env;
protected sun.tools.java.ScannerInputStream in;
public boolean scanComments;
public int token;
public int pos;
public int prevPos;
protected int ch;
public char charValue;
public int intValue;
public long longValue;
public float floatValue;
public double doubleValue;
public java.lang.String stringValue;
public sun.tools.java.Identifier idValue;
public int radix;
public java.lang.String docComment;
private int count;
private char buffer[];
private void putc(int local_1__2186) {
char local_2__2188[];
if (count != buffer.length) goto addr_42
local_2__2188 = new char[buffer.length * 2];
java.lang.System.arraycopy(buffer, 0, local_2__2188, 0, buffer.length);
buffer = local_2__2188;
addr_42: buffer[count++] = (char) local_1__2186;
return;
}
private java.lang.String bufferString() {
char local_1__2189[];
local_1__2189 = new char[count];
java.lang.System.arraycopy(buffer, 0, local_1__2189, 0, count);
return new java.lang.String(local_1__2189);
}
public sun.tools.java.Scanner(sun.tools.java.Environment local_1__2193, java.io.InputStream local_2__2191) {
super();
scanComments = false;
buffer = new char[32];
env = local_1__2193;
useInputStream(local_2__2191);
return;
}
protected void useInputStream(java.io.InputStream local_1__2196) {
<java.io.InputStream-null>local_1__2195;
in = new sun.tools.java.ScannerInputStream(env, local_1__2196);
goto addr_44
addr_19: stack_0;
env.setCharacterEncoding("null");
in = new sun.tools.java.ScannerInputStream(env, local_1__2195);
addr_44: ch = in.read();
prevPos = in.pos;
scan();
return;
}
protected sun.tools.java.Scanner(sun.tools.java.Environment local_1__2197) {
super();
scanComments = false;
buffer = new char[32];
env = local_1__2197;
return;
}
private static void defineKeyword(int local_0__2199) {
sun.tools.java.Identifier local_1__2200;
local_1__2200 = sun.tools.java.Identifier.lookup(sun.tools.java.Constants.opNames[local_0__2199]);
local_1__2200.value = new java.lang.Integer(local_0__2199);
return;
}
private void skipComment() {
int local_2__2202;
sun.tools.java.Environment local_1__2203;
switch (ch) {
local_1__2203 = env;
local_2__2202 = pos;
local_1__2203.error(local_1__2203.source, local_2__2202, "eof.in.comment", "null", "null", "null");
return;
addr_57: if ((ch = in.read()) != 47) goto addr_0
ch = in.read();
return;
addr_86: ch = in.read();
goto addr_0
}
private java.lang.String scanDocComment() {
int local_1__2209;
int local_2__2211;
int local_4__2213;
sun.tools.java.Environment local_3__2214;
count = 0;
if (ch != 42) goto addr_57
addr_14: ch = in.read();
if (ch == 42) goto addr_14
if (ch != 47) goto addr_57
ch = in.read();
return "";
addr_57: switch (ch) {
addr_88: ch = in.read();
addr_99: local_1__2209 = 0;
local_2__2211 = count;
addr_106: switch (ch) {
local_3__2214 = env;
local_4__2213 = pos;
local_3__2214.error(local_3__2214.source, local_4__2213, "eof.in.comment", "null", "null", "null");
return ((sun.tools.java.Scanner) this).bufferString();
addr_191: ((sun.tools.java.Scanner) this).putc(10);
ch = in.read();
local_1__2209 = 0;
local_2__2211 = count;
goto addr_106
addr_218: if (local_1__2209 == 0) goto addr_230
((sun.tools.java.Scanner) this).putc(ch);
addr_230: ch = in.read();
goto addr_106
addr_244: if (local_1__2209 == 0) goto addr_295
if ((ch = in.read()) != 47) goto addr_286
ch = in.read();
count = local_2__2211;
return ((sun.tools.java.Scanner) this).bufferString();
addr_286: ((sun.tools.java.Scanner) this).putc(42);
goto addr_106
addr_295: local_1__2209 = 1;
count = local_2__2211;
addr_302: if ((ch = in.read()) == 42) goto addr_302
switch (ch) {
ch = in.read();
count = local_2__2211;
return ((sun.tools.java.Scanner) this).bufferString();
addr_361: if (local_1__2209 != 0) goto addr_367
local_1__2209 = 1;
addr_367: ((sun.tools.java.Scanner) this).putc(ch);
ch = in.read();
local_2__2211 = count;
goto addr_106
}
private void scanNumber() {
int local_6__2216;
sun.tools.java.Environment local_5__2217;
int local_1__2221;
int local_2__2228;
long local_3__2229;
int local_2__2230;
int local_6__2231;
sun.tools.java.Environment local_5__2232;
int local_6__2235;
sun.tools.java.Environment local_5__2236;
local_1__2221 = 0;
local_2__2230 = 0;
radix = ch == 48 ? 8 : 10;
local_3__2229 = (long) (ch - 48);
count = 0;
((sun.tools.java.Scanner) this).putc(ch);
addr_46: switch (ch = in.read()) {
if (radix == 16) goto addr_596
((sun.tools.java.Scanner) this).scanReal();
return;
addr_298: local_1__2221 = 1;
addr_300: ((sun.tools.java.Scanner) this).putc(ch);
if (radix != 10) goto addr_379
local_2__2228 = local_2__2230 == 0 && local_3__2229 * 10 / 10 == local_3__2229 ? 0 : 1;
local_3__2229 = local_3__2229 * 10 + (long) (ch - 48);
local_2__2230 = local_2__2228 == 0 && local_3__2229 - 1L >= -1 ? 0 : 1;
goto addr_46
addr_379: if (radix != 8) goto addr_423
local_2__2230 = local_2__2230 == 0 && local_3__2229 >>> 61 == 0L ? 0 : 1;
local_3__2229 = (local_3__2229 << 3) + (long) (ch - 48);
goto addr_46
addr_423: local_2__2230 = local_2__2230 == 0 && local_3__2229 >>> 60 == 0L ? 0 : 1;
local_3__2229 = (local_3__2229 << 4) + (long) (ch - 48);
goto addr_46
addr_458: if (radix == 16) goto addr_472
((sun.tools.java.Scanner) this).scanReal();
return;
addr_472: ((sun.tools.java.Scanner) this).putc(ch);
if (radix != 16) goto addr_596
local_2__2230 = local_2__2230 == 0 && local_3__2229 >>> 60 == 0L ? 0 : 1;
local_3__2229 = (local_3__2229 << 4) + 10 + (long) java.lang.Character.toLowerCase((char) ch) - 97;
goto addr_46
addr_533: ch = in.read();
longValue = local_3__2229;
token = 66;
goto addr_596
addr_558: if (count != 1 || radix != 8) goto addr_596
radix = 16;
goto addr_46
addr_584: intValue = (int) local_3__2229;
token = 65;
addr_596: if (!java.lang.Character.isJavaLetterOrDigit((char) ch) && ch != 46) goto addr_691
local_5__2236 = env;
local_6__2235 = in.pos;
local_5__2236.error(local_5__2236.source, local_6__2235, "invalid.number", "null", "null", "null");
addr_648: ch = in.read();
if (java.lang.Character.isJavaLetterOrDigit((char) ch) || ch == 46) goto addr_648
intValue = 0;
token = 65;
return;
addr_691: if (radix != 8 || local_1__2221 == 0) goto addr_748
intValue = 0;
token = 65;
local_5__2232 = env;
local_6__2231 = in.pos;
local_5__2232.error(local_5__2232.source, local_6__2231, "invalid.octal.number", "null", "null", "null");
return;
addr_748: if (local_2__2230 == 0 && (token != 65 || !(radix == 10 ? intValue - 1 < -1 : (local_3__2229 & -4294967296) != 0L))) goto addr_837
intValue = 0;
longValue = 0L;
local_5__2217 = env;
local_6__2216 = pos;
local_5__2217.error(local_5__2217.source, local_6__2216, "overflow", "null", "null", "null");
addr_837: return;
}
private void scanReal() {
java.lang.String local_4__2239;
double local_5__2241;
int local_2__2242;
char local_3__2243;
char local_3__2244;
int local_1__2246;
<sun.tools.java.Scanner-null>local_0__2247;
int local_5__2248;
sun.tools.java.Environment local_4__2249;
int local_6__2250;
sun.tools.java.Environment local_5__2251;
java.lang.String local_4__2253;
float local_5__2255;
int local_6__2256;
sun.tools.java.Environment local_5__2257;
int local_6__2259;
sun.tools.java.Environment local_5__2260;
int local_6__2262;
sun.tools.java.Environment local_5__2263;
int local_5__2265;
sun.tools.java.Environment local_4__2266;
int local_5__2269;
sun.tools.java.Environment local_4__2270;
local_1__2246 = 0;
local_2__2242 = 0;
if (ch != 46) goto addr_32
((sun.tools.java.Scanner) this).putc(ch);
ch = in.read();
addr_32: switch (ch) {
addr_192: ((sun.tools.java.Scanner) this).putc(ch);
goto addr_285
addr_203: if (local_1__2246 != 0) goto addr_299
((sun.tools.java.Scanner) this).putc(ch);
local_1__2246 = 1;
goto addr_285
addr_220: local_3__2244 = buffer[count - 1];
if (local_3__2244 != 101 && local_3__2244 != 69) goto addr_299
((sun.tools.java.Scanner) this).putc(ch);
goto addr_285
addr_255: ch = in.read();
local_2__2242 = 1;
goto addr_299
addr_271: ch = in.read();
goto addr_299
addr_285: ch = in.read();
goto addr_32
addr_299: if (!java.lang.Character.isJavaLetterOrDigit((char) ch) && ch != 46) goto addr_394
local_4__2270 = env;
local_5__2269 = in.pos;
local_4__2270.error(local_4__2270.source, local_5__2269, "invalid.number", "null", "null", "null");
addr_351: ch = in.read();
if (java.lang.Character.isJavaLetterOrDigit((char) ch) || ch == 46) goto addr_351
doubleValue = 0.0;
token = 68;
return;
addr_394: token = local_2__2242 != 0 ? 67 : 68;
local_3__2243 = buffer[count - 1];
if (local_3__2243 != 101 && local_3__2243 != 69 && local_3__2243 != 43 && local_3__2243 != 45) goto addr_480
local_4__2266 = env;
local_5__2265 = in.pos - 1;
local_4__2266.error(local_4__2266.source, local_5__2265, "float.format", "null", "null", "null");
return;
addr_480: if (local_2__2242 == 0) goto addr_605
local_4__2253 = ((sun.tools.java.Scanner) this).bufferString();
floatValue = java.lang.Float.valueOf(local_4__2253).floatValue();
local_5__2255 = floatValue;
if (local_5__2255 != Infinity && local_5__2255 != -Infinity && !false) goto addr_558
local_5__2263 = env;
local_6__2262 = pos;
local_5__2263.error(local_5__2263.source, local_6__2262, "overflow", "null", "null", "null");
return;
addr_558: if (floatValue != 0.0F || looksLikeZero(local_4__2253)) goto addr_727
local_5__2260 = env;
local_6__2259 = pos;
local_5__2260.error(local_5__2260.source, local_6__2259, "underflow", "null", "null", "null");
return;
addr_605: local_4__2239 = ((sun.tools.java.Scanner) this).bufferString();
doubleValue = java.lang.Double.valueOf(local_4__2239).doubleValue();
local_5__2241 = doubleValue;
if (local_5__2241 != Infinity && local_5__2241 != -Infinity && !false) goto addr_681
local_5__2257 = env;
local_6__2256 = pos;
local_5__2257.error(local_5__2257.source, local_6__2256, "overflow", "null", "null", "null");
return;
addr_681: if (doubleValue != 0.0 || looksLikeZero(local_4__2239)) goto addr_769
local_5__2251 = env;
local_6__2250 = pos;
local_5__2251.error(local_5__2251.source, local_6__2250, "underflow", "null", "null", "null");
addr_727: return;
addr_728: stack_0;
local_4__2249 = local_0__2247.env;
local_5__2248 = local_0__2247.pos;
local_4__2249.error(local_4__2249.source, local_5__2248, "float.format", "null", "null", "null");
local_0__2247.doubleValue = 0.0;
local_0__2247.floatValue = 0.0F;
return;
addr_769: return;
}
private static boolean looksLikeZero(java.lang.String local_0__2273) {
int local_1__2271;
int local_2__2272;
local_1__2271 = local_0__2273.length();
local_2__2272 = 0;
goto addr_151
addr_10: switch (local_0__2273.charAt(local_2__2272)) {
addr_144: return false;
addr_146: return true;
addr_148: local_2__2272 += 1;
addr_151: if (local_2__2272 < local_1__2271) goto addr_10
return true;
}
private int scanEscapeChar() {
sun.tools.java.Environment local_2__2276;
sun.tools.java.Environment local_4__2287;
int local_3__2289;
int local_2__2291;
int local_1__2292;
sun.tools.java.Environment local_4__2293;
local_1__2292 = in.pos;
switch (ch = in.read()) {
addr_160: local_2__2291 = ch - 48;
local_3__2289 = 2;
goto addr_281
addr_173: switch (ch = in.read()) {
addr_232: local_2__2291 = (local_2__2291 << 3) + ch - 48;
goto addr_278
addr_247: if (local_2__2291 <= 255) goto addr_276
local_4__2293 = env;
local_4__2293.error(local_4__2293.source, local_1__2292, "invalid.escape.char", "null", "null", "null");
addr_276: return local_2__2291;
addr_278: local_3__2289 -= 1;
addr_281: if (local_3__2289 > 0) goto addr_173
ch = in.read();
if (local_2__2291 <= 255) goto addr_325
local_4__2287 = env;
local_4__2287.error(local_4__2287.source, local_1__2292, "invalid.escape.char", "null", "null", "null");
addr_325: return local_2__2291;
addr_327: ch = in.read();
return 13;
addr_341: ch = in.read();
return 10;
addr_355: ch = in.read();
return 12;
addr_369: ch = in.read();
return 8;
addr_383: ch = in.read();
return 9;
addr_397: ch = in.read();
return 92;
addr_411: ch = in.read();
return 34;
addr_425: ch = in.read();
return 39;
addr_439: local_2__2276 = env;
local_2__2276.error(local_2__2276.source, local_1__2292, "invalid.escape.char", "null", "null", "null");
ch = in.read();
return -1;
}
private void scanString() {
int local_1__2296;
int local_2__2298;
sun.tools.java.Environment local_1__2299;
int local_2__2301;
sun.tools.java.Environment local_1__2302;
token = 69;
count = 0;
ch = in.read();
addr_22: switch (ch) {
local_1__2302 = env;
local_2__2301 = pos;
local_1__2302.error(local_1__2302.source, local_2__2301, "eof.in.string", "null", "null", "null");
stringValue = ((sun.tools.java.Scanner) this).bufferString();
return;
addr_101: ch = in.read();
local_1__2299 = env;
local_2__2298 = pos;
local_1__2299.error(local_1__2299.source, local_2__2298, "newline.in.string", "null", "null", "null");
stringValue = ((sun.tools.java.Scanner) this).bufferString();
return;
addr_145: ch = in.read();
stringValue = ((sun.tools.java.Scanner) this).bufferString();
return;
addr_165: local_1__2296 = ((sun.tools.java.Scanner) this).scanEscapeChar();
if (local_1__2296 < 0) goto addr_22
((sun.tools.java.Scanner) this).putc((int) local_1__2296);
goto addr_22
addr_183: ((sun.tools.java.Scanner) this).putc(ch);
ch = in.read();
goto addr_22
}
private void scanCharacter() {
int local_2__2304;
sun.tools.java.Environment local_1__2305;
int local_1__2307;
int local_3__2310;
sun.tools.java.Environment local_2__2311;
token = 63;
switch (ch = in.read()) {
local_1__2307 = ((sun.tools.java.Scanner) this).scanEscapeChar();
charValue = (char) (local_1__2307 >= 0 ? local_1__2307 : 0);
goto addr_116
addr_66: charValue = 0;
local_2__2311 = env;
local_3__2310 = pos;
local_2__2311.error(local_2__2311.source, local_3__2310, "invalid.char.constant", "null", "null", "null");
return;
addr_96: charValue = (char) ch;
ch = in.read();
addr_116: if (ch != 39) goto addr_137
ch = in.read();
return;
addr_137: local_1__2305 = env;
local_2__2304 = pos;
local_1__2305.error(local_1__2305.source, local_2__2304, "invalid.char.constant", "null", "null", "null");
addr_161: switch (ch) {
ch = in.read();
return;
addr_220: return;
addr_221: ch = in.read();
goto addr_161
}
private void scanIdentifier() {
sun.tools.java.Identifier local_1__2315;
count = 0;
addr_5: ((sun.tools.java.Scanner) this).putc(ch);
switch (ch = in.read()) {
addr_388: if (java.lang.Character.isJavaLetterOrDigit((char) ch)) goto addr_5
idValue = sun.tools.java.Identifier.lookup(((sun.tools.java.Scanner) this).bufferString());
token = (local_1__2315 = idValue).value != null && local_1__2315.value instanceof java.lang.Integer ? ((java.lang.Integer)local_1__2315.value).intValue() : 60;
return;
}
public int getEndPos() {
return in.pos;
}
public sun.tools.java.IdentifierToken getIdToken() {
if (token == 60) goto addr_11
return null;
addr_11: return new sun.tools.java.IdentifierToken(pos, idValue);
}
public int scan() {
int local_1__2318;
local_1__2318 = xscan();
return local_1__2318;
}
protected int xscan() {
int local_3__2322;
sun.tools.java.Environment local_2__2323;
int local_3__2324;
sun.tools.java.Environment local_2__2325;
int local_1__2434;
local_1__2434 = pos;
prevPos = in.pos;
docComment = "null";
addr_21: pos = in.pos;
switch (ch) {
token = -1;
return local_1__2434;
addr_571: if (!scanComments) goto addr_593
ch = 32;
token = 146;
return local_1__2434;
addr_593: ch = in.read();
goto addr_21
addr_607: switch (ch = in.read()) {
addr_652: if ((ch = in.read()) != -1 && ch != 10) goto addr_652
if (!scanComments) goto addr_21
token = 146;
return local_1__2434;
addr_693: ch = in.read();
ch == 42 ? docComment = ((sun.tools.java.Scanner) this).scanDocComment() : ((sun.tools.java.Scanner) this).skipComment();
if (!scanComments) goto addr_21
return local_1__2434;
addr_737: ch = in.read();
token = 3;
return local_1__2434;
addr_755: token = 31;
return local_1__2434;
addr_763: ((sun.tools.java.Scanner) this).scanString();
return local_1__2434;
addr_769: ((sun.tools.java.Scanner) this).scanCharacter();
return local_1__2434;
addr_775: ((sun.tools.java.Scanner) this).scanNumber();
return local_1__2434;
addr_781: switch (ch = in.read()) {
addr_848: count = 0;
((sun.tools.java.Scanner) this).putc(46);
((sun.tools.java.Scanner) this).scanReal();
goto addr_872
addr_866: token = 46;
addr_872: return local_1__2434;
addr_874: ch = in.read();
token = 138;
return local_1__2434;
addr_894: ch = in.read();
token = 139;
return local_1__2434;
addr_914: ch = in.read();
token = 140;
return local_1__2434;
addr_934: ch = in.read();
token = 141;
return local_1__2434;
addr_954: ch = in.read();
token = 142;
return local_1__2434;
addr_974: ch = in.read();
token = 143;
return local_1__2434;
addr_994: ch = in.read();
token = 0;
return local_1__2434;
addr_1012: ch = in.read();
token = 135;
return local_1__2434;
addr_1032: ch = in.read();
token = 137;
return local_1__2434;
addr_1052: ch = in.read();
token = 38;
return local_1__2434;
addr_1071: ch = in.read();
token = 136;
return local_1__2434;
addr_1091: switch (ch = in.read()) {
ch = in.read();
token = 51;
return local_1__2434;
addr_1147: ch = in.read();
token = 6;
return local_1__2434;
addr_1166: token = 30;
return local_1__2434;
addr_1174: switch (ch = in.read()) {
ch = in.read();
token = 50;
return local_1__2434;
addr_1231: ch = in.read();
token = 5;
return local_1__2434;
addr_1249: token = 29;
return local_1__2434;
addr_1257: switch (ch = in.read()) {
if ((ch = in.read()) != 61) goto addr_1328
ch = in.read();
token = 7;
return local_1__2434;
addr_1328: token = 26;
return local_1__2434;
addr_1336: ch = in.read();
token = 23;
return local_1__2434;
addr_1355: token = 24;
return local_1__2434;
addr_1363: switch (ch = in.read()) {
switch (ch = in.read()) {
ch = in.read();
token = 8;
return local_1__2434;
addr_1451: if ((ch = in.read()) != 61) goto addr_1487
ch = in.read();
token = 9;
return local_1__2434;
addr_1487: token = 28;
return local_1__2434;
addr_1495: token = 27;
return local_1__2434;
addr_1503: ch = in.read();
token = 21;
return local_1__2434;
addr_1522: token = 22;
return local_1__2434;
addr_1530: switch (ch = in.read()) {
ch = in.read();
token = 14;
return local_1__2434;
addr_1587: ch = in.read();
token = 11;
return local_1__2434;
addr_1606: token = 16;
return local_1__2434;
addr_1614: switch (ch = in.read()) {
ch = in.read();
token = 15;
return local_1__2434;
addr_1671: ch = in.read();
token = 10;
return local_1__2434;
addr_1690: token = 18;
return local_1__2434;
addr_1698: if ((ch = in.read()) != 61) goto addr_1734
ch = in.read();
token = 20;
return local_1__2434;
addr_1734: token = 1;
return local_1__2434;
addr_1741: if ((ch = in.read()) != 61) goto addr_1776
ch = in.read();
token = 4;
return local_1__2434;
addr_1776: token = 32;
return local_1__2434;
addr_1784: if ((ch = in.read()) != 61) goto addr_1820
ch = in.read();
token = 12;
return local_1__2434;
addr_1820: token = 17;
return local_1__2434;
addr_1828: if ((ch = in.read()) != 61) goto addr_1864
ch = in.read();
token = 19;
return local_1__2434;
addr_1864: token = 37;
return local_1__2434;
addr_1872: if ((ch = in.read()) != 61) goto addr_1907
ch = in.read();
token = 2;
return local_1__2434;
addr_1907: token = 33;
return local_1__2434;
addr_1915: ((sun.tools.java.Scanner) this).scanIdentifier();
return local_1__2434;
addr_1921: if ((ch = in.read()) != -1) goto addr_1944
token = -1;
return local_1__2434;
addr_1944: local_2__2325 = env;
local_3__2324 = pos;
local_2__2325.error(local_2__2325.source, local_3__2324, "funny.char", "null", "null", "null");
ch = in.read();
goto addr_21
addr_1982: if (!java.lang.Character.isJavaLetter((char) ch)) goto addr_1999
((sun.tools.java.Scanner) this).scanIdentifier();
return local_1__2434;
addr_1999: local_2__2323 = env;
local_3__2322 = pos;
local_2__2323.error(local_2__2323.source, local_3__2322, "funny.char", "null", "null", "null");
ch = in.read();
goto addr_21
}
public void match(int local_1__2440, int local_2__2439) {
int local_5__2436;
sun.tools.java.Environment local_4__2437;
int local_3__2441;
local_3__2441 = 1;
addr_2: scan();
if (token != local_1__2440) goto addr_21
local_3__2441 += 1;
goto addr_2
addr_21: if (token != local_2__2439) goto addr_37
local_3__2441 -= 1;
if (local_3__2441 != 0) goto addr_2
return;
addr_37: if (token != -1) goto addr_2
local_4__2437 = env;
local_5__2436 = pos;
local_4__2437.error(local_4__2437.source, local_5__2436, "unbalanced.paren", "null", "null", "null");
return;
}
static {
defineKeyword(92);
defineKeyword(90);
defineKeyword(91);
defineKeyword(93);
defineKeyword(94);
defineKeyword(95);
defineKeyword(96);
defineKeyword(97);
defineKeyword(98);
defineKeyword(99);
defineKeyword(100);
defineKeyword(101);
defineKeyword(102);
defineKeyword(103);
defineKeyword(104);
defineKeyword(70);
defineKeyword(71);
defineKeyword(72);
defineKeyword(73);
defineKeyword(74);
defineKeyword(75);
defineKeyword(76);
defineKeyword(77);
defineKeyword(78);
defineKeyword(25);
defineKeyword(80);
defineKeyword(81);
defineKeyword(49);
defineKeyword(82);
defineKeyword(83);
defineKeyword(84);
defineKeyword(110);
defineKeyword(111);
defineKeyword(112);
defineKeyword(113);
defineKeyword(114);
defineKeyword(115);
defineKeyword(144);
defineKeyword(120);
defineKeyword(121);
defineKeyword(122);
defineKeyword(124);
defineKeyword(125);
defineKeyword(126);
defineKeyword(127);
defineKeyword(130);
defineKeyword(129);
defineKeyword(128);
defineKeyword(123);
defineKeyword(58);
return;
}
}
/* Original source: ScannerInputStream.java */
public class ScannerInputStream
extends java.io.FilterReader
implements sun.tools.java.Constants {
sun.tools.java.Environment env;
int pos;
private int chpos;
private int pushBack;
public sun.tools.java.ScannerInputStream(sun.tools.java.Environment local_1__2443, java.io.InputStream local_2__2445) {
super(new java.io.BufferedReader(local_1__2443.getCharacterEncoding() != 0 ? new java.io.InputStreamReader(local_2__2445, local_1__2443.getCharacterEncoding()) : new java.io.InputStreamReader(local_2__2445)));
pushBack = -1;
env = local_1__2443;
chpos = 262144;
return;
}
public int read() {
int local_1__2446;
int local_1__2451;
int local_3__2456;
int local_2__2464;
int local_1__2465;
int local_5__2467;
sun.tools.java.Environment local_4__2468;
int local_1__2469;
int local_3__2471;
sun.tools.java.Environment local_2__2472;
<sun.tools.java.ScannerInputStream-null>local_0__2473;
pos = chpos;
chpos += 1;
local_1__2446 = pushBack;
if (local_1__2446 != -1) goto addr_66
local_1__2446 = in.read();
goto addr_71
addr_39: stack_0;
local_2__2472 = local_0__2473.env;
local_3__2471 = local_0__2473.pos;
local_2__2472.error(local_2__2472.source, local_3__2471, "invalid.encoding.char", "null", "null", "null");
return -1;
addr_66: pushBack = -1;
addr_71: switch (local_1__2446) {
return 92;
addr_119: if ((local_1__2469 = in.read()) == 117) goto addr_152
pushBack = local_1__2469 == 92 ? -2 : local_1__2469;
return 92;
addr_152: chpos += 1;
goto addr_175
addr_165: chpos += 1;
addr_175: if ((local_1__2465 = in.read()) == 117) goto addr_165
local_2__2464 = 0;
local_3__2456 = 0;
goto addr_483
addr_196: switch (local_1__2465) {
addr_384: local_2__2464 = (local_2__2464 << 4) + local_1__2465 - 48;
goto addr_462
addr_396: local_2__2464 = (local_2__2464 << 4) + 10 + local_1__2465 - 97;
goto addr_462
addr_411: local_2__2464 = (local_2__2464 << 4) + 10 + local_1__2465 - 65;
goto addr_462
addr_426: local_4__2468 = env;
local_5__2467 = pos;
local_4__2468.error(local_4__2468.source, local_5__2467, "invalid.escape.char", "null", "null", "null");
pushBack = local_1__2465;
return local_2__2464;
addr_462: local_3__2456 += 1;
chpos += 1;
local_1__2465 = in.read();
addr_483: if (local_3__2456 < 4) goto addr_196
pushBack = local_1__2465;
return local_2__2464;
addr_495: chpos += 262144;
return 10;
addr_509: (local_1__2451 = in.read()) != 10 ? pushBack = local_1__2451 : (chpos += 1);
chpos += 262144;
return 10;
addr_555: return local_1__2446;
}
}
/* Original source: SyntaxError.java */
public class SyntaxError
extends java.lang.Exception
{
public sun.tools.java.SyntaxError() {
super();
return;
}
}
/* Original source: Type.java */
public class Type
extends java.lang.Object
implements sun.tools.java.Constants {
private static final java.util.Hashtable typeHash;
protected int typeCode;
protected java.lang.String typeSig;
public static final sun.tools.java.Type noArgs[];
public static final sun.tools.java.Type tError;
public static final sun.tools.java.Type tPackage;
public static final sun.tools.java.Type tNull;
public static final sun.tools.java.Type tVoid;
public static final sun.tools.java.Type tBoolean;
public static final sun.tools.java.Type tByte;
public static final sun.tools.java.Type tChar;
public static final sun.tools.java.Type tShort;
public static final sun.tools.java.Type tInt;
public static final sun.tools.java.Type tFloat;
public static final sun.tools.java.Type tLong;
public static final sun.tools.java.Type tDouble;
public static final sun.tools.java.Type tObject;
public static final sun.tools.java.Type tClassDesc;
public static final sun.tools.java.Type tString;
public static final sun.tools.java.Type tCloneable;
public static final sun.tools.java.Type tSerializable;
protected sun.tools.java.Type(int local_1__2477, java.lang.String local_2__2476) {
super();
typeCode = local_1__2477;
typeSig = local_2__2476;
typeHash.put(local_2__2476, this);
return;
}
public final java.lang.String getTypeSignature() {
return typeSig;
}
public final int getTypeCode() {
return typeCode;
}
public final int getTypeMask() {
return 1 << typeCode;
}
public final boolean isType(int local_1__2481) {
if (typeCode == local_1__2481) goto addr_10
return false;
addr_10: return true;
}
public final boolean inMask(int local_1__2483) {
if ((1 << typeCode & local_1__2483) != 0) goto addr_13
return false;
addr_13: return true;
}
public static synchronized sun.tools.java.Type tArray(sun.tools.java.Type local_0__2486) {
sun.tools.java.Type local_2__2485;
java.lang.String local_1__2487;
local_1__2487 = new java.lang.String("[" + local_0__2486.typeSig);
local_2__2485 = (sun.tools.java.Type)typeHash.get(local_1__2487);
if (local_2__2485 != null) goto addr_52
local_2__2485 = new sun.tools.java.ArrayType(local_1__2487, local_0__2486);
addr_52: return local_2__2485;
}
public sun.tools.java.Type getElementType() {
throw new sun.tools.java.CompilerError("getElementType");
}
public int getArrayDimension() {
return 0;
}
public static synchronized sun.tools.java.Type tClass(sun.tools.java.Identifier local_0__2496) {
sun.tools.java.Type local_2__2491;
java.lang.String local_1__2493;
sun.tools.java.Type local_1__2495;
sun.tools.java.Identifier local_2__2497;
if (!local_0__2496.isInner()) goto addr_41
local_1__2495 = tClass(mangleInnerType(local_0__2496));
if (local_1__2495.getClassName() == local_0__2496) goto addr_39
local_2__2497 = local_1__2495.getClassName();
((sun.tools.java.ClassType)tClass(local_2__2497)).className = local_0__2496;
addr_39: return local_1__2495;
addr_41: local_1__2493 = new java.lang.String("L" + local_0__2496.name.replace(46, 47) + ";");
local_2__2491 = (sun.tools.java.Type)typeHash.get(local_1__2493);
if (local_2__2491 != null) goto addr_105
local_2__2491 = new sun.tools.java.ClassType(local_1__2493, local_0__2496);
addr_105: return local_2__2491;
}
public sun.tools.java.Identifier getClassName() {
throw new sun.tools.java.CompilerError("getClassName:" + this);
}
static sun.tools.java.Identifier mangleInnerType(sun.tools.java.Identifier local_0__2504) {
sun.tools.java.Identifier local_1__2501;
sun.tools.java.Identifier local_1__2503;
if (local_0__2504.isInner()) goto addr_9
return local_0__2504;
addr_9: local_1__2501 = local_0__2504.getFlatName();
local_1__2503 = sun.tools.java.Identifier.lookup(local_1__2501.name.replace(46, 36));
if (!local_1__2503.isInner()) goto addr_60
throw new sun.tools.java.CompilerError("mangle " + local_1__2503);
addr_60: return sun.tools.java.Identifier.lookup(local_0__2504.isQualified() ? (sun.tools.java.Identifier)local_0__2504.value : sun.tools.java.Constants.idNull, local_1__2503);
}
static void changeClassName(sun.tools.java.Identifier local_0__2506, sun.tools.java.Identifier local_1__2505) {
((sun.tools.java.ClassType)tClass(local_0__2506)).className = local_1__2505;
return;
}
public static synchronized sun.tools.java.Type tMethod(sun.tools.java.Type local_0__2507) {
return tMethod(local_0__2507, noArgs);
}
public static synchronized sun.tools.java.Type tMethod(sun.tools.java.Type local_0__2510, sun.tools.java.Type local_1__2509[]) {
sun.tools.java.Type local_5__2508;
java.lang.String local_4__2511;
java.lang.StringBuffer local_2__2513;
int local_3__2514;
sun.tools.java.Type local_4__2515;
local_2__2513 = new java.lang.StringBuffer();
local_2__2513.append("(");
local_3__2514 = 0;
goto addr_38
addr_20: local_2__2513.append((local_4__2515 = local_1__2509[local_3__2514]).typeSig);
local_3__2514 += 1;
addr_38: if (local_3__2514 < local_1__2509.length) goto addr_20
local_2__2513.append(")");
local_2__2513.append(local_0__2510.typeSig);
local_4__2511 = new java.lang.String(local_2__2513);
local_5__2508 = (sun.tools.java.Type)typeHash.get(local_4__2511);
if (local_5__2508 != null) goto addr_101
local_5__2508 = new sun.tools.java.MethodType(local_4__2511, local_0__2510, local_1__2509);
addr_101: return local_5__2508;
}
public sun.tools.java.Type getReturnType() {
throw new sun.tools.java.CompilerError("getReturnType");
}
public sun.tools.java.Type[] getArgumentTypes() {
throw new sun.tools.java.CompilerError("getArgumentTypes");
}
public static synchronized sun.tools.java.Type tType(java.lang.String local_0__2530) {
sun.tools.java.Type local_6__2520[];
int local_3__2523;
int local_5__2525;
int local_4__2526;
<null-null>local_6__2527[];
<null-null>local_2__2528[];
sun.tools.java.Type local_1__2531;
local_1__2531 = (sun.tools.java.Type)typeHash.get(local_0__2530);
if (local_1__2531 == null) goto addr_17
return local_1__2531;
addr_17: switch (local_0__2530.charAt(0)) {
return tArray(tType(local_0__2530.substring(1)));
addr_68: return tClass(sun.tools.java.Identifier.lookup(local_0__2530.substring(1, local_0__2530.length() - 1).replace(47, 46)));
addr_93: local_2__2528 = new sun.tools.java.Type[8];
local_3__2523 = 0;
local_4__2526 = 1;
goto addr_203
addr_107: local_5__2525 = local_4__2526;
goto addr_117
addr_114: local_5__2525 += 1;
addr_117: if (local_0__2530.charAt(local_5__2525) == 91) goto addr_114
if (local_0__2530.charAt(local_5__2525++) != 76) goto addr_156
addr_142: if (local_0__2530.charAt(local_5__2525++) != 59) goto addr_142
addr_156: if (local_3__2523 != local_2__2528.length) goto addr_182
local_6__2527 = new sun.tools.java.Type[local_3__2523 * 2];
java.lang.System.arraycopy(local_2__2528, 0, local_6__2527, 0, local_3__2523);
local_2__2528 = local_6__2527;
addr_182: local_2__2528[local_3__2523++] = tType(local_0__2530.substring(local_4__2526, local_5__2525));
local_4__2526 = local_5__2525;
addr_203: if (local_0__2530.charAt(local_4__2526) != 41) goto addr_107
local_6__2520 = new sun.tools.java.Type[local_3__2523];
java.lang.System.arraycopy(local_2__2528, 0, local_6__2520, 0, local_3__2523);
return tMethod(tType(local_0__2530.substring(local_4__2526 + 1)), local_6__2520);
addr_246: throw new sun.tools.java.CompilerError("invalid TypeSignature:" + local_0__2530);
}
public boolean equalArguments(sun.tools.java.Type local_1__2533) {
return false;
}
public int stackSize() {
switch (typeCode) {
addr_76: return 0;
addr_78: return 1;
addr_80: return 2;
addr_82: throw new sun.tools.java.CompilerError("stackSize " + toString());
}
public int getTypeCodeOffset() {
switch (typeCode) {
addr_64: return 0;
addr_66: return 1;
addr_68: return 2;
addr_70: return 3;
addr_72: return 4;
addr_74: throw new sun.tools.java.CompilerError("invalid typecode: " + typeCode);
}
public java.lang.String typeString(java.lang.String local_1__2542, boolean local_2__2544, boolean local_3__2545) {
<java.lang.Object-null>local_4__2539;
java.lang.String local_4__2543;
local_4__2539 = "null";
switch (typeCode) {
local_4__2543 = "null";
goto addr_168
addr_83: local_4__2543 = "void";
goto addr_168
addr_90: local_4__2543 = "boolean";
goto addr_168
addr_97: local_4__2543 = "byte";
goto addr_168
addr_104: local_4__2543 = "char";
goto addr_168
addr_111: local_4__2543 = "short";
goto addr_168
addr_118: local_4__2543 = "int";
goto addr_168
addr_125: local_4__2543 = "long";
goto addr_168
addr_132: local_4__2543 = "float";
goto addr_168
addr_139: local_4__2543 = "double";
goto addr_168
addr_146: local_4__2543 = "<error>";
if (this != tPackage) goto addr_168
local_4__2543 = "<package>";
goto addr_168
addr_164: local_4__2543 = "unknown";
addr_168: if (local_1__2542.length() <= 0) goto addr_200
return "" + local_4__2543 + " " + local_1__2542;
addr_200: return local_4__2543;
}
public java.lang.String typeString(java.lang.String local_1__2546) {
return typeString(local_1__2546, false, true);
}
public java.lang.String toString() {
return typeString("", false, true);
}
static {
typeHash = new java.util.Hashtable(231);
noArgs = new sun.tools.java.Type[0];
tError = new sun.tools.java.Type(13, "?");
tPackage = new sun.tools.java.Type(13, ".");
tNull = new sun.tools.java.Type(8, "*");
tVoid = new sun.tools.java.Type(11, "V");
tBoolean = new sun.tools.java.Type(0, "Z");
tByte = new sun.tools.java.Type(1, "B");
tChar = new sun.tools.java.Type(2, "C");
tShort = new sun.tools.java.Type(3, "S");
tInt = new sun.tools.java.Type(4, "I");
tFloat = new sun.tools.java.Type(6, "F");
tLong = new sun.tools.java.Type(5, "J");
tDouble = new sun.tools.java.Type(7, "D");
tObject = tClass(sun.tools.java.Constants.idJavaLangObject);
tClassDesc = tClass(sun.tools.java.Constants.idJavaLangClass);
tString = tClass(sun.tools.java.Constants.idJavaLangString);
tCloneable = tClass(sun.tools.java.Constants.idJavaLangCloneable);
tSerializable = tClass(sun.tools.java.Constants.idJavaIoSerializable);
return;
}
}