/* 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; 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; 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; local_14__74; java.util.Vector local_13__75; java.util.Vector local_6__76; 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) { 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; local_15__100; local_15__102; sun.tools.java.Identifier local_14__103; sun.tools.java.Identifier local_10__104; int local_13__105; 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) { 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) { local_4__162; 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; 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; local_4__295; 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; local_2__301; 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) { 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() { local_2__318; 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) { local_3__323; 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; local_5__332; local_5__334; local_5__336; local_5__338; 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) { local_4__346; 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; local_6__354; local_5__355; sun.tools.java.BinaryAttribute local_3__359; sun.tools.java.BinaryAttribute local_2__361; local_6__362; local_5__363; local_6__364; local_5__365; local_3__368; 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) { local_4__387; 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; 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() { 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; 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() { 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; 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; 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; 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; local_3__536[]; int local_4__537; sun.tools.java.ClassDefinition local_3__539; 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) { local_5__542; 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) { local_4__556; 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; 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) { local_5__577; 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) { 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) { 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; local_2__694; 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; local_2__710; 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; 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; 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() { 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; 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; 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; 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; local_5__871[]; int local_6__872; java.io.File local_8__873; java.lang.String local_7__874; 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) { local_2__886[]; 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(""); idCode = sun.tools.java.Identifier.lookup("Code"); idInit = sun.tools.java.Identifier.lookup(""); 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(""); 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; local_5__952[]; boolean local_4__956; sun.tools.java.Identifier local_5__967; local_6__968; int local_1__969; local_0__970; local_5__971; sun.tools.java.Environment local_6__972; local_7__973; sun.tools.java.Environment local_6__974; local_7__975; local_6__976; int local_1__977; local_0__978; local_5__979; 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) { 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; 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) { local_1__1008; local_0__1009; sun.tools.java.Imports local_2__1010; local_1__1013; 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; 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) { local_4__1252; sun.tools.java.ClassDeclaration local_3__1253; sun.tools.java.ClassDefinition local_4__1254; sun.tools.java.ClassDefinition local_3__1255; local_4__1256; 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() { local_2__1281; 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() { local_2__1284; 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) { local_4__1290; 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; local_3__1295; local_2__1297; boolean local_1__1298; 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; local_3__1303; local_2__1304; local_3__1305; local_2__1306; sun.tools.java.ClassDeclaration local_2__1308; sun.tools.java.ClassDefinition local_1__1309; java.lang.StringBuffer local_2__1311; local_3__1312[]; int local_4__1313; 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; local_4__1326; 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; 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; local_12__1402; int local_7__1403; local_11__1405; local_13__1406; local_12__1407; int local_7__1408; local_11__1410; local_12__1413; local_8__1414; sun.tools.java.Identifier local_6__1415; local_9__1417; local_14__1418; local_13__1419; sun.tools.java.Identifier local_10__1421; local_13__1422; local_11__1423; local_12__1424; local_9__1425; sun.tools.java.Identifier local_6__1426; sun.tools.java.IdentifierToken local_5__1427; 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; local_8__1436; local_8__1439; sun.tools.java.Identifier local_7__1440; 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; local_8__1451; 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[]) { 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) { local_11__1591[]; 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) { 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; 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; local_1__1735; 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; 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; 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; 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; local_4__2010; 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() { 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; 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[]; 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) { 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; local_13__2149; sun.tools.java.ClassDefinition local_9__2150; local_12__2152; local_11__2153; sun.tools.java.ClassDefinition local_11__2154; 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; local_0__2162; local_4__2166; 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) { 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; 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; 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; local_6__2527[]; 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) { 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 = ""; if (this != tPackage) goto addr_168 local_4__2543 = ""; 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; } }