From e776825477a3788fee20f4afb61ea3e8baf582c2 Mon Sep 17 00:00:00 2001 From: jochen Date: Sat, 8 Aug 1998 01:07:27 +0000 Subject: [PATCH] Initial revision git-svn-id: https://svn.code.sf.net/p/jode/code/trunk@8 379699f6-c40d-0410-875b-85095c16579e --- jode/sun.tools.java.err | 81 + jode/sun.tools.java.src | 7192 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 7273 insertions(+) create mode 100644 jode/sun.tools.java.err create mode 100644 jode/sun.tools.java.src diff --git a/jode/sun.tools.java.err b/jode/sun.tools.java.err new file mode 100644 index 0000000..7209f40 --- /dev/null +++ b/jode/sun.tools.java.err @@ -0,0 +1,81 @@ +sun.tools.java.AmbiguousClass +sun.tools.java.AmbiguousField +sun.tools.java.ArrayType +sun.tools.java.BinaryAttribute +sun.tools.java.BinaryClass +sun.tools.java.BinaryCode +sun.tools.java.BinaryConstantPool +sun.tools.java.BinaryExceptionHandler +sun.tools.java.BinaryField +sun.tools.java.ClassDeclaration +sun.tools.java.ClassDefinition +sun.tools.java.ClassFile +sun.tools.java.ClassNotFound +sun.tools.java.ClassPath +sun.tools.java.ClassPathEntry +sun.tools.java.ClassType +sun.tools.java.CompilerError +intersecting and to to +intersecting and to +Type error in this +intersecting and to +Type error in this +intersecting and to +Type error in this +sun.tools.java.Constants +sun.tools.java.Environment +sun.tools.java.FieldDefinition +intersecting int and to +Type error in local_3__1295 +intersecting and to to +sun.tools.java.Identifier +intersecting and to to +sun.tools.java.IdentifierToken +sun.tools.java.ImportEnvironment +sun.tools.java.Imports +sun.tools.java.MethodType +sun.tools.java.Package +sun.tools.java.Parser +intersecting and to to +Error: sun.tools.tree.Statement,sun.tools.tree.VarDeclarationStatement +intersecting and to to +intersecting int and to +Type error in local_13__2149 +intersecting and to to +intersecting and to +Type error in this +intersecting and to +Type error in this +intersecting and to +Type error in this +intersecting and to +Type error in this +intersecting and to +Type error in this +intersecting and to +Type error in this +intersecting and to +Type error in this +intersecting and to +Type error in this +intersecting and to to +intersecting and to +Type error in this +intersecting and to +Type error in this +intersecting and to +Type error in this +intersecting and to +Type error in this +intersecting and to +Type error in this +intersecting and to +Type error in this +intersecting and to +Type error in this +sun.tools.java.ParserActions +sun.tools.java.RuntimeConstants +sun.tools.java.Scanner +sun.tools.java.ScannerInputStream +sun.tools.java.SyntaxError +sun.tools.java.Type diff --git a/jode/sun.tools.java.src b/jode/sun.tools.java.src new file mode 100644 index 0000000..f1470cf --- /dev/null +++ b/jode/sun.tools.java.src @@ -0,0 +1,7192 @@ +/* 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; + } +}