public class com.sun.tools.javac.comp.TransPatterns extends com.sun.tools.javac.tree.TreeTranslator
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.comp.TransPatterns
  super_class: com.sun.tools.javac.tree.TreeTranslator
{
  protected static final com.sun.tools.javac.util.Context$Key<com.sun.tools.javac.comp.TransPatterns> transPatternsKey;
    descriptor: Lcom/sun/tools/javac/util/Context$Key;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    Signature: Lcom/sun/tools/javac/util/Context$Key<Lcom/sun/tools/javac/comp/TransPatterns;>;

  private final com.sun.tools.javac.code.Symtab syms;
    descriptor: Lcom/sun/tools/javac/code/Symtab;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.tools.javac.code.Types types;
    descriptor: Lcom/sun/tools/javac/code/Types;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.tools.javac.comp.Operators operators;
    descriptor: Lcom/sun/tools/javac/comp/Operators;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.tools.javac.util.Log log;
    descriptor: Lcom/sun/tools/javac/util/Log;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.tools.javac.comp.ConstFold constFold;
    descriptor: Lcom/sun/tools/javac/comp/ConstFold;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.tools.javac.util.Names names;
    descriptor: Lcom/sun/tools/javac/util/Names;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.tools.javac.jvm.Target target;
    descriptor: Lcom/sun/tools/javac/jvm/Target;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private com.sun.tools.javac.tree.TreeMaker make;
    descriptor: Lcom/sun/tools/javac/tree/TreeMaker;
    flags: (0x0002) ACC_PRIVATE

  com.sun.tools.javac.comp.TransPatterns$BindingContext bindingContext;
    descriptor: Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
    flags: (0x0000) 

  com.sun.tools.javac.tree.JCTree$JCLabeledStatement pendingMatchLabel;
    descriptor: Lcom/sun/tools/javac/tree/JCTree$JCLabeledStatement;
    flags: (0x0000) 

  boolean debugTransPatterns;
    descriptor: Z
    flags: (0x0000) 

  private com.sun.tools.javac.code.Symbol$MethodSymbol currentMethodSym;
    descriptor: Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 80
            new com.sun.tools.javac.util.Context$Key
            dup
            invokespecial com.sun.tools.javac.util.Context$Key.<init>:()V
            putstatic com.sun.tools.javac.comp.TransPatterns.transPatternsKey:Lcom/sun/tools/javac/util/Context$Key;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.sun.tools.javac.comp.TransPatterns instance(com.sun.tools.javac.util.Context);
    descriptor: (Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/comp/TransPatterns;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.util.Context context
         0: .line 83
            aload 0 /* context */
            getstatic com.sun.tools.javac.comp.TransPatterns.transPatternsKey:Lcom/sun/tools/javac/util/Context$Key;
            invokevirtual com.sun.tools.javac.util.Context.get:(Lcom/sun/tools/javac/util/Context$Key;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.comp.TransPatterns
            astore 1 /* instance */
        start local 1 // com.sun.tools.javac.comp.TransPatterns instance
         1: .line 84
            aload 1 /* instance */
            ifnonnull 3
         2: .line 85
            new com.sun.tools.javac.comp.TransPatterns
            dup
            aload 0 /* context */
            invokespecial com.sun.tools.javac.comp.TransPatterns.<init>:(Lcom/sun/tools/javac/util/Context;)V
            astore 1 /* instance */
         3: .line 86
      StackMap locals: com.sun.tools.javac.comp.TransPatterns
      StackMap stack:
            aload 1 /* instance */
            areturn
        end local 1 // com.sun.tools.javac.comp.TransPatterns instance
        end local 0 // com.sun.tools.javac.util.Context context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0   context  Lcom/sun/tools/javac/util/Context;
            1    4     1  instance  Lcom/sun/tools/javac/comp/TransPatterns;
    MethodParameters:
         Name  Flags
      context  

  protected void <init>(com.sun.tools.javac.util.Context);
    descriptor: (Lcom/sun/tools/javac/util/Context;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.TransPatterns this
        start local 1 // com.sun.tools.javac.util.Context context
         0: .line 137
            aload 0 /* this */
            invokespecial com.sun.tools.javac.tree.TreeTranslator.<init>:()V
         1: .line 98
            aload 0 /* this */
            new com.sun.tools.javac.comp.TransPatterns$1
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokespecial com.sun.tools.javac.comp.TransPatterns$1.<init>:(Lcom/sun/tools/javac/comp/TransPatterns;Lcom/sun/tools/javac/comp/TransPatterns;)V
            putfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
         2: .line 131
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.comp.TransPatterns.pendingMatchLabel:Lcom/sun/tools/javac/tree/JCTree$JCLabeledStatement;
         3: .line 135
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.comp.TransPatterns.currentMethodSym:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
         4: .line 138
            aload 1 /* context */
            getstatic com.sun.tools.javac.comp.TransPatterns.transPatternsKey:Lcom/sun/tools/javac/util/Context$Key;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Context.put:(Lcom/sun/tools/javac/util/Context$Key;Ljava/lang/Object;)V
         5: .line 139
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.code.Symtab.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Symtab;
            putfield com.sun.tools.javac.comp.TransPatterns.syms:Lcom/sun/tools/javac/code/Symtab;
         6: .line 140
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.tree.TreeMaker.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/tree/TreeMaker;
            putfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
         7: .line 141
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.code.Types.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Types;
            putfield com.sun.tools.javac.comp.TransPatterns.types:Lcom/sun/tools/javac/code/Types;
         8: .line 142
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.comp.Operators.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/comp/Operators;
            putfield com.sun.tools.javac.comp.TransPatterns.operators:Lcom/sun/tools/javac/comp/Operators;
         9: .line 143
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.util.Log.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/Log;
            putfield com.sun.tools.javac.comp.TransPatterns.log:Lcom/sun/tools/javac/util/Log;
        10: .line 144
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.comp.ConstFold.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/comp/ConstFold;
            putfield com.sun.tools.javac.comp.TransPatterns.constFold:Lcom/sun/tools/javac/comp/ConstFold;
        11: .line 145
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.util.Names.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/Names;
            putfield com.sun.tools.javac.comp.TransPatterns.names:Lcom/sun/tools/javac/util/Names;
        12: .line 146
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.jvm.Target.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/jvm/Target;
            putfield com.sun.tools.javac.comp.TransPatterns.target:Lcom/sun/tools/javac/jvm/Target;
        13: .line 147
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.util.Options.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/Options;
            ldc "debug.patterns"
            invokevirtual com.sun.tools.javac.util.Options.isSet:(Ljava/lang/String;)Z
            putfield com.sun.tools.javac.comp.TransPatterns.debugTransPatterns:Z
        14: .line 148
            return
        end local 1 // com.sun.tools.javac.util.Context context
        end local 0 // com.sun.tools.javac.comp.TransPatterns this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lcom/sun/tools/javac/comp/TransPatterns;
            0   15     1  context  Lcom/sun/tools/javac/util/Context;
    MethodParameters:
         Name  Flags
      context  

  public void visitTypeTest(com.sun.tools.javac.tree.JCTree$JCInstanceOf);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCInstanceOf;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=12, args_size=2
        start local 0 // com.sun.tools.javac.comp.TransPatterns this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCInstanceOf tree
         0: .line 152
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCInstanceOf.pattern:Lcom/sun/tools/javac/tree/JCTree;
            getstatic com.sun.tools.javac.tree.JCTree$Tag.BINDINGPATTERN:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
            ifeq 38
         1: .line 156
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCInstanceOf.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokestatic com.sun.tools.javac.tree.TreeInfo.symbol:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/code/Symbol;
            astore 2 /* exprSym */
        start local 2 // com.sun.tools.javac.code.Symbol exprSym
         2: .line 157
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCInstanceOf.pattern:Lcom/sun/tools/javac/tree/JCTree;
            checkcast com.sun.tools.javac.tree.JCTree$JCBindingPattern
            astore 3 /* patt */
        start local 3 // com.sun.tools.javac.tree.JCTree$JCBindingPattern patt
         3: .line 158
            aload 3 /* patt */
            getfield com.sun.tools.javac.tree.JCTree$JCBindingPattern.var:Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
            getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.sym:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
            astore 4 /* pattSym */
        start local 4 // com.sun.tools.javac.code.Symbol$VarSymbol pattSym
         4: .line 159
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCInstanceOf.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
            getstatic com.sun.tools.javac.code.TypeTag.BOT:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 6
         5: .line 160
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
            goto 7
         6: .line 161
      StackMap locals: com.sun.tools.javac.code.Symbol com.sun.tools.javac.tree.JCTree$JCBindingPattern com.sun.tools.javac.code.Symbol$VarSymbol
      StackMap stack:
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCInstanceOf.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
         7: .line 159
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
            astore 5 /* tempType */
        start local 5 // com.sun.tools.javac.code.Type tempType
         8: .line 163
            aload 2 /* exprSym */
            ifnull 13
         9: .line 164
            aload 2 /* exprSym */
            getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            getstatic com.sun.tools.javac.code.Kinds$Kind.VAR:Lcom/sun/tools/javac/code/Kinds$Kind;
            if_acmpne 13
        10: .line 165
            aload 2 /* exprSym */
            getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
            getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            getstatic com.sun.tools.javac.code.Kinds$KindSelector.VAL_MTH:Lcom/sun/tools/javac/code/Kinds$KindSelector;
            invokevirtual com.sun.tools.javac.code.Kinds$Kind.matches:(Lcom/sun/tools/javac/code/Kinds$KindSelector;)Z
            ifeq 13
        11: .line 166
            aload 2 /* exprSym */
            checkcast com.sun.tools.javac.code.Symbol$VarSymbol
            astore 6 /* temp */
        start local 6 // com.sun.tools.javac.code.Symbol$VarSymbol temp
        12: .line 167
            goto 18
        end local 6 // com.sun.tools.javac.code.Symbol$VarSymbol temp
        13: .line 168
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            new com.sun.tools.javac.code.Symbol$VarSymbol
            dup
            aload 4 /* pattSym */
            invokevirtual com.sun.tools.javac.code.Symbol$VarSymbol.flags:()J
            ldc 4096
            lor
        14: .line 169
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.names:Lcom/sun/tools/javac/util/Names;
            new java.lang.StringBuilder
            dup
            aload 4 /* pattSym */
            getfield com.sun.tools.javac.code.Symbol$VarSymbol.name:Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.target:Lcom/sun/tools/javac/jvm/Target;
            invokevirtual com.sun.tools.javac.jvm.Target.syntheticNameChar:()C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "temp"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
        15: .line 170
            aload 5 /* tempType */
        16: .line 171
            aload 3 /* patt */
            getfield com.sun.tools.javac.tree.JCTree$JCBindingPattern.var:Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
            getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.sym:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
            getfield com.sun.tools.javac.code.Symbol$VarSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
        17: .line 168
            invokespecial com.sun.tools.javac.code.Symbol$VarSymbol.<init>:(JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)V
            astore 6 /* temp */
        start local 6 // com.sun.tools.javac.code.Symbol$VarSymbol temp
        18: .line 173
      StackMap locals: com.sun.tools.javac.code.Symbol$VarSymbol
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCInstanceOf.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokevirtual com.sun.tools.javac.comp.TransPatterns.translate:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/tree/JCTree;
            checkcast com.sun.tools.javac.tree.JCTree$JCExpression
            astore 7 /* translatedExpr */
        start local 7 // com.sun.tools.javac.tree.JCTree$JCExpression translatedExpr
        19: .line 174
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.types:Lcom/sun/tools/javac/code/Types;
            aload 4 /* pattSym */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.types:Lcom/sun/tools/javac/code/Types;
            invokevirtual com.sun.tools.javac.code.Symbol$VarSymbol.erasure:(Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.boxedTypeOrType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 8 /* castTargetType */
        start local 8 // com.sun.tools.javac.code.Type castTargetType
        20: .line 176
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
            aload 6 /* temp */
            invokevirtual com.sun.tools.javac.tree.TreeMaker.Ident:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/tree/JCTree$JCIdent;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
            aload 8 /* castTargetType */
            invokevirtual com.sun.tools.javac.tree.TreeMaker.Type:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokevirtual com.sun.tools.javac.comp.TransPatterns.makeTypeTest:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/tree/JCTree$JCExpression;)Lcom/sun/tools/javac/tree/JCTree$JCInstanceOf;
            putfield com.sun.tools.javac.comp.TransPatterns.result:Lcom/sun/tools/javac/tree/JCTree;
        21: .line 178
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            aload 3 /* patt */
            getfield com.sun.tools.javac.tree.JCTree$JCBindingPattern.var:Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
            getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.sym:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
            checkcast com.sun.tools.javac.code.Symbol$BindingSymbol
            invokevirtual com.sun.tools.javac.comp.TransPatterns$BindingContext.bindingDeclared:(Lcom/sun/tools/javac/code/Symbol$BindingSymbol;)Lcom/sun/tools/javac/code/Symbol$VarSymbol;
            astore 9 /* bindingVar */
        start local 9 // com.sun.tools.javac.code.Symbol$VarSymbol bindingVar
        22: .line 179
            aload 9 /* bindingVar */
            ifnull 34
        23: .line 180
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCInstanceOf.pos:I
            invokevirtual com.sun.tools.javac.tree.TreeMaker.at:(I)Lcom/sun/tools/javac/tree/TreeMaker;
        24: .line 181
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
            aload 9 /* bindingVar */
            invokevirtual com.sun.tools.javac.tree.TreeMaker.Ident:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/tree/JCTree$JCIdent;
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
            aload 6 /* temp */
            invokevirtual com.sun.tools.javac.tree.TreeMaker.Ident:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/tree/JCTree$JCIdent;
            aload 8 /* castTargetType */
            invokevirtual com.sun.tools.javac.comp.TransPatterns.convert:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
        25: .line 180
            invokevirtual com.sun.tools.javac.tree.TreeMaker.Assign:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/tree/JCTree$JCExpression;)Lcom/sun/tools/javac/tree/JCTree$JCAssign;
        26: .line 181
            aload 9 /* bindingVar */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.types:Lcom/sun/tools/javac/code/Types;
            invokevirtual com.sun.tools.javac.code.Symbol$VarSymbol.erasure:(Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.tree.JCTree$JCAssign.setType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
        27: .line 180
            checkcast com.sun.tools.javac.tree.JCTree$JCAssign
            astore 10 /* fakeInit */
        start local 10 // com.sun.tools.javac.tree.JCTree$JCAssign fakeInit
        28: .line 182
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
            aload 10 /* fakeInit */
            invokevirtual com.sun.tools.javac.tree.TreeMaker.Exec:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;)Lcom/sun/tools/javac/tree/JCTree$JCExpressionStatement;
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
        29: .line 183
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual com.sun.tools.javac.tree.TreeMaker.Literal:(Ljava/lang/Object;)Lcom/sun/tools/javac/tree/JCTree$JCLiteral;
        30: .line 182
            invokevirtual com.sun.tools.javac.tree.TreeMaker.LetExpr:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/tree/JCTree$JCExpression;)Lcom/sun/tools/javac/tree/JCTree$LetExpr;
            astore 11 /* nestedLE */
        start local 11 // com.sun.tools.javac.tree.JCTree$LetExpr nestedLE
        31: .line 184
            aload 11 /* nestedLE */
            iconst_1
            putfield com.sun.tools.javac.tree.JCTree$LetExpr.needsCond:Z
        32: .line 185
            aload 11 /* nestedLE */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.booleanType:Lcom/sun/tools/javac/code/Type$JCPrimitiveType;
            invokevirtual com.sun.tools.javac.tree.JCTree$LetExpr.setType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            pop
        33: .line 186
            aload 0 /* this */
            aload 0 /* this */
            getstatic com.sun.tools.javac.tree.JCTree$Tag.AND:Lcom/sun/tools/javac/tree/JCTree$Tag;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.result:Lcom/sun/tools/javac/tree/JCTree;
            checkcast com.sun.tools.javac.tree.JCTree$JCExpression
            aload 11 /* nestedLE */
            invokevirtual com.sun.tools.javac.comp.TransPatterns.makeBinary:(Lcom/sun/tools/javac/tree/JCTree$Tag;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/tree/JCTree$JCExpression;)Lcom/sun/tools/javac/tree/JCTree$JCBinary;
            putfield com.sun.tools.javac.comp.TransPatterns.result:Lcom/sun/tools/javac/tree/JCTree;
        end local 11 // com.sun.tools.javac.tree.JCTree$LetExpr nestedLE
        end local 10 // com.sun.tools.javac.tree.JCTree$JCAssign fakeInit
        34: .line 188
      StackMap locals: com.sun.tools.javac.tree.JCTree$JCExpression com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$VarSymbol
      StackMap stack:
            aload 6 /* temp */
            aload 2 /* exprSym */
            if_acmpeq 39
        35: .line 189
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCInstanceOf.pos:I
            invokevirtual com.sun.tools.javac.tree.TreeMaker.at:(I)Lcom/sun/tools/javac/tree/TreeMaker;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
            aload 6 /* temp */
            aload 7 /* translatedExpr */
            invokevirtual com.sun.tools.javac.tree.TreeMaker.VarDef:(Lcom/sun/tools/javac/code/Symbol$VarSymbol;Lcom/sun/tools/javac/tree/JCTree$JCExpression;)Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.result:Lcom/sun/tools/javac/tree/JCTree;
            checkcast com.sun.tools.javac.tree.JCTree$JCExpression
            invokevirtual com.sun.tools.javac.tree.TreeMaker.LetExpr:(Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;Lcom/sun/tools/javac/tree/JCTree$JCExpression;)Lcom/sun/tools/javac/tree/JCTree$LetExpr;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.booleanType:Lcom/sun/tools/javac/code/Type$JCPrimitiveType;
            invokevirtual com.sun.tools.javac.tree.JCTree$LetExpr.setType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            putfield com.sun.tools.javac.comp.TransPatterns.result:Lcom/sun/tools/javac/tree/JCTree;
        36: .line 190
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.result:Lcom/sun/tools/javac/tree/JCTree;
            checkcast com.sun.tools.javac.tree.JCTree$LetExpr
            iconst_1
            putfield com.sun.tools.javac.tree.JCTree$LetExpr.needsCond:Z
        end local 9 // com.sun.tools.javac.code.Symbol$VarSymbol bindingVar
        end local 8 // com.sun.tools.javac.code.Type castTargetType
        end local 7 // com.sun.tools.javac.tree.JCTree$JCExpression translatedExpr
        end local 6 // com.sun.tools.javac.code.Symbol$VarSymbol temp
        end local 5 // com.sun.tools.javac.code.Type tempType
        end local 4 // com.sun.tools.javac.code.Symbol$VarSymbol pattSym
        end local 3 // com.sun.tools.javac.tree.JCTree$JCBindingPattern patt
        end local 2 // com.sun.tools.javac.code.Symbol exprSym
        37: .line 192
            goto 39
        38: .line 193
      StackMap locals: com.sun.tools.javac.comp.TransPatterns com.sun.tools.javac.tree.JCTree$JCInstanceOf
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tree */
            invokespecial com.sun.tools.javac.tree.TreeTranslator.visitTypeTest:(Lcom/sun/tools/javac/tree/JCTree$JCInstanceOf;)V
        39: .line 195
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCInstanceOf tree
        end local 0 // com.sun.tools.javac.comp.TransPatterns this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   40     0            this  Lcom/sun/tools/javac/comp/TransPatterns;
            0   40     1            tree  Lcom/sun/tools/javac/tree/JCTree$JCInstanceOf;
            2   37     2         exprSym  Lcom/sun/tools/javac/code/Symbol;
            3   37     3            patt  Lcom/sun/tools/javac/tree/JCTree$JCBindingPattern;
            4   37     4         pattSym  Lcom/sun/tools/javac/code/Symbol$VarSymbol;
            8   37     5        tempType  Lcom/sun/tools/javac/code/Type;
           12   13     6            temp  Lcom/sun/tools/javac/code/Symbol$VarSymbol;
           18   37     6            temp  Lcom/sun/tools/javac/code/Symbol$VarSymbol;
           19   37     7  translatedExpr  Lcom/sun/tools/javac/tree/JCTree$JCExpression;
           20   37     8  castTargetType  Lcom/sun/tools/javac/code/Type;
           22   37     9      bindingVar  Lcom/sun/tools/javac/code/Symbol$VarSymbol;
           28   34    10        fakeInit  Lcom/sun/tools/javac/tree/JCTree$JCAssign;
           31   34    11        nestedLE  Lcom/sun/tools/javac/tree/JCTree$LetExpr;
    MethodParameters:
      Name  Flags
      tree  

  public void visitBinary(com.sun.tools.javac.tree.JCTree$JCBinary);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCBinary;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.comp.TransPatterns this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCBinary tree
         0: .line 199
            aload 0 /* this */
            new com.sun.tools.javac.comp.TransPatterns$BasicBindingContext
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.comp.TransPatterns$BasicBindingContext.<init>:(Lcom/sun/tools/javac/comp/TransPatterns;)V
            putfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
         1: .line 201
            aload 0 /* this */
            aload 1 /* tree */
            invokespecial com.sun.tools.javac.tree.TreeTranslator.visitBinary:(Lcom/sun/tools/javac/tree/JCTree$JCBinary;)V
         2: .line 202
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            aload 1 /* tree */
            invokevirtual com.sun.tools.javac.comp.TransPatterns$BindingContext.decorateExpression:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            putfield com.sun.tools.javac.comp.TransPatterns.result:Lcom/sun/tools/javac/tree/JCTree;
         3: .line 203
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         4: astore 2
         5: .line 204
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            invokevirtual com.sun.tools.javac.comp.TransPatterns$BindingContext.pop:()Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            pop
         6: .line 205
            aload 2
            athrow
         7: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            invokevirtual com.sun.tools.javac.comp.TransPatterns$BindingContext.pop:()Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            pop
         8: .line 206
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCBinary tree
        end local 0 // com.sun.tools.javac.comp.TransPatterns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/tools/javac/comp/TransPatterns;
            0    9     1  tree  Lcom/sun/tools/javac/tree/JCTree$JCBinary;
      Exception table:
        from    to  target  type
           1     4       4  any
    MethodParameters:
      Name  Flags
      tree  

  public void visitConditional(com.sun.tools.javac.tree.JCTree$JCConditional);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCConditional;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.comp.TransPatterns this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCConditional tree
         0: .line 210
            aload 0 /* this */
            new com.sun.tools.javac.comp.TransPatterns$BasicBindingContext
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.comp.TransPatterns$BasicBindingContext.<init>:(Lcom/sun/tools/javac/comp/TransPatterns;)V
            putfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
         1: .line 212
            aload 0 /* this */
            aload 1 /* tree */
            invokespecial com.sun.tools.javac.tree.TreeTranslator.visitConditional:(Lcom/sun/tools/javac/tree/JCTree$JCConditional;)V
         2: .line 213
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            aload 1 /* tree */
            invokevirtual com.sun.tools.javac.comp.TransPatterns$BindingContext.decorateExpression:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            putfield com.sun.tools.javac.comp.TransPatterns.result:Lcom/sun/tools/javac/tree/JCTree;
         3: .line 214
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         4: astore 2
         5: .line 215
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            invokevirtual com.sun.tools.javac.comp.TransPatterns$BindingContext.pop:()Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            pop
         6: .line 216
            aload 2
            athrow
         7: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            invokevirtual com.sun.tools.javac.comp.TransPatterns$BindingContext.pop:()Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            pop
         8: .line 217
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCConditional tree
        end local 0 // com.sun.tools.javac.comp.TransPatterns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/tools/javac/comp/TransPatterns;
            0    9     1  tree  Lcom/sun/tools/javac/tree/JCTree$JCConditional;
      Exception table:
        from    to  target  type
           1     4       4  any
    MethodParameters:
      Name  Flags
      tree  

  public void visitIf(com.sun.tools.javac.tree.JCTree$JCIf);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCIf;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.comp.TransPatterns this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCIf tree
         0: .line 221
            aload 0 /* this */
            new com.sun.tools.javac.comp.TransPatterns$BasicBindingContext
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.comp.TransPatterns$BasicBindingContext.<init>:(Lcom/sun/tools/javac/comp/TransPatterns;)V
            putfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
         1: .line 223
            aload 0 /* this */
            aload 1 /* tree */
            invokespecial com.sun.tools.javac.tree.TreeTranslator.visitIf:(Lcom/sun/tools/javac/tree/JCTree$JCIf;)V
         2: .line 224
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            aload 1 /* tree */
            invokevirtual com.sun.tools.javac.comp.TransPatterns$BindingContext.decorateStatement:(Lcom/sun/tools/javac/tree/JCTree$JCStatement;)Lcom/sun/tools/javac/tree/JCTree$JCStatement;
            putfield com.sun.tools.javac.comp.TransPatterns.result:Lcom/sun/tools/javac/tree/JCTree;
         3: .line 225
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         4: astore 2
         5: .line 226
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            invokevirtual com.sun.tools.javac.comp.TransPatterns$BindingContext.pop:()Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            pop
         6: .line 227
            aload 2
            athrow
         7: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            invokevirtual com.sun.tools.javac.comp.TransPatterns$BindingContext.pop:()Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            pop
         8: .line 228
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCIf tree
        end local 0 // com.sun.tools.javac.comp.TransPatterns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/tools/javac/comp/TransPatterns;
            0    9     1  tree  Lcom/sun/tools/javac/tree/JCTree$JCIf;
      Exception table:
        from    to  target  type
           1     4       4  any
    MethodParameters:
      Name  Flags
      tree  

  public void visitForLoop(com.sun.tools.javac.tree.JCTree$JCForLoop);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCForLoop;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.comp.TransPatterns this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCForLoop tree
         0: .line 232
            aload 0 /* this */
            new com.sun.tools.javac.comp.TransPatterns$BasicBindingContext
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.comp.TransPatterns$BasicBindingContext.<init>:(Lcom/sun/tools/javac/comp/TransPatterns;)V
            putfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
         1: .line 234
            aload 0 /* this */
            aload 1 /* tree */
            invokespecial com.sun.tools.javac.tree.TreeTranslator.visitForLoop:(Lcom/sun/tools/javac/tree/JCTree$JCForLoop;)V
         2: .line 235
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            aload 1 /* tree */
            invokevirtual com.sun.tools.javac.comp.TransPatterns$BindingContext.decorateStatement:(Lcom/sun/tools/javac/tree/JCTree$JCStatement;)Lcom/sun/tools/javac/tree/JCTree$JCStatement;
            putfield com.sun.tools.javac.comp.TransPatterns.result:Lcom/sun/tools/javac/tree/JCTree;
         3: .line 236
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         4: astore 2
         5: .line 237
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            invokevirtual com.sun.tools.javac.comp.TransPatterns$BindingContext.pop:()Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            pop
         6: .line 238
            aload 2
            athrow
         7: .line 237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            invokevirtual com.sun.tools.javac.comp.TransPatterns$BindingContext.pop:()Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            pop
         8: .line 239
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCForLoop tree
        end local 0 // com.sun.tools.javac.comp.TransPatterns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/tools/javac/comp/TransPatterns;
            0    9     1  tree  Lcom/sun/tools/javac/tree/JCTree$JCForLoop;
      Exception table:
        from    to  target  type
           1     4       4  any
    MethodParameters:
      Name  Flags
      tree  

  public void visitWhileLoop(com.sun.tools.javac.tree.JCTree$JCWhileLoop);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCWhileLoop;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.comp.TransPatterns this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCWhileLoop tree
         0: .line 243
            aload 0 /* this */
            new com.sun.tools.javac.comp.TransPatterns$BasicBindingContext
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.comp.TransPatterns$BasicBindingContext.<init>:(Lcom/sun/tools/javac/comp/TransPatterns;)V
            putfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
         1: .line 245
            aload 0 /* this */
            aload 1 /* tree */
            invokespecial com.sun.tools.javac.tree.TreeTranslator.visitWhileLoop:(Lcom/sun/tools/javac/tree/JCTree$JCWhileLoop;)V
         2: .line 246
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            aload 1 /* tree */
            invokevirtual com.sun.tools.javac.comp.TransPatterns$BindingContext.decorateStatement:(Lcom/sun/tools/javac/tree/JCTree$JCStatement;)Lcom/sun/tools/javac/tree/JCTree$JCStatement;
            putfield com.sun.tools.javac.comp.TransPatterns.result:Lcom/sun/tools/javac/tree/JCTree;
         3: .line 247
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         4: astore 2
         5: .line 248
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            invokevirtual com.sun.tools.javac.comp.TransPatterns$BindingContext.pop:()Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            pop
         6: .line 249
            aload 2
            athrow
         7: .line 248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            invokevirtual com.sun.tools.javac.comp.TransPatterns$BindingContext.pop:()Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            pop
         8: .line 250
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCWhileLoop tree
        end local 0 // com.sun.tools.javac.comp.TransPatterns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/tools/javac/comp/TransPatterns;
            0    9     1  tree  Lcom/sun/tools/javac/tree/JCTree$JCWhileLoop;
      Exception table:
        from    to  target  type
           1     4       4  any
    MethodParameters:
      Name  Flags
      tree  

  public void visitDoLoop(com.sun.tools.javac.tree.JCTree$JCDoWhileLoop);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCDoWhileLoop;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.comp.TransPatterns this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCDoWhileLoop tree
         0: .line 254
            aload 0 /* this */
            new com.sun.tools.javac.comp.TransPatterns$BasicBindingContext
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.comp.TransPatterns$BasicBindingContext.<init>:(Lcom/sun/tools/javac/comp/TransPatterns;)V
            putfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
         1: .line 256
            aload 0 /* this */
            aload 1 /* tree */
            invokespecial com.sun.tools.javac.tree.TreeTranslator.visitDoLoop:(Lcom/sun/tools/javac/tree/JCTree$JCDoWhileLoop;)V
         2: .line 257
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            aload 1 /* tree */
            invokevirtual com.sun.tools.javac.comp.TransPatterns$BindingContext.decorateStatement:(Lcom/sun/tools/javac/tree/JCTree$JCStatement;)Lcom/sun/tools/javac/tree/JCTree$JCStatement;
            putfield com.sun.tools.javac.comp.TransPatterns.result:Lcom/sun/tools/javac/tree/JCTree;
         3: .line 258
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         4: astore 2
         5: .line 259
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            invokevirtual com.sun.tools.javac.comp.TransPatterns$BindingContext.pop:()Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            pop
         6: .line 260
            aload 2
            athrow
         7: .line 259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            invokevirtual com.sun.tools.javac.comp.TransPatterns$BindingContext.pop:()Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            pop
         8: .line 261
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCDoWhileLoop tree
        end local 0 // com.sun.tools.javac.comp.TransPatterns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/tools/javac/comp/TransPatterns;
            0    9     1  tree  Lcom/sun/tools/javac/tree/JCTree$JCDoWhileLoop;
      Exception table:
        from    to  target  type
           1     4       4  any
    MethodParameters:
      Name  Flags
      tree  

  public void visitMethodDef(com.sun.tools.javac.tree.JCTree$JCMethodDecl);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCMethodDecl;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.sun.tools.javac.comp.TransPatterns this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCMethodDecl tree
         0: .line 265
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.currentMethodSym:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            astore 2 /* prevMethodSym */
        start local 2 // com.sun.tools.javac.code.Symbol$MethodSymbol prevMethodSym
         1: .line 267
            aload 0 /* this */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.sym:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            putfield com.sun.tools.javac.comp.TransPatterns.currentMethodSym:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
         2: .line 268
            aload 0 /* this */
            aload 1 /* tree */
            invokespecial com.sun.tools.javac.tree.TreeTranslator.visitMethodDef:(Lcom/sun/tools/javac/tree/JCTree$JCMethodDecl;)V
         3: .line 269
            goto 7
      StackMap locals: com.sun.tools.javac.comp.TransPatterns com.sun.tools.javac.tree.JCTree$JCMethodDecl com.sun.tools.javac.code.Symbol$MethodSymbol
      StackMap stack: java.lang.Throwable
         4: astore 3
         5: .line 270
            aload 0 /* this */
            aload 2 /* prevMethodSym */
            putfield com.sun.tools.javac.comp.TransPatterns.currentMethodSym:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
         6: .line 271
            aload 3
            athrow
         7: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* prevMethodSym */
            putfield com.sun.tools.javac.comp.TransPatterns.currentMethodSym:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
         8: .line 272
            return
        end local 2 // com.sun.tools.javac.code.Symbol$MethodSymbol prevMethodSym
        end local 1 // com.sun.tools.javac.tree.JCTree$JCMethodDecl tree
        end local 0 // com.sun.tools.javac.comp.TransPatterns this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lcom/sun/tools/javac/comp/TransPatterns;
            0    9     1           tree  Lcom/sun/tools/javac/tree/JCTree$JCMethodDecl;
            1    9     2  prevMethodSym  Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
      Exception table:
        from    to  target  type
           1     4       4  any
    MethodParameters:
      Name  Flags
      tree  

  public void visitIdent(com.sun.tools.javac.tree.JCTree$JCIdent);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCIdent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.comp.TransPatterns this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCIdent tree
         0: .line 276
            aconst_null
            astore 2 /* bindingVar */
        start local 2 // com.sun.tools.javac.code.Symbol$VarSymbol bindingVar
         1: .line 277
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCIdent.sym:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
            ldc 576460752303423488
            land
            lconst_0
            lcmp
            ifeq 3
         2: .line 278
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCIdent.sym:Lcom/sun/tools/javac/code/Symbol;
            checkcast com.sun.tools.javac.code.Symbol$BindingSymbol
            invokevirtual com.sun.tools.javac.comp.TransPatterns$BindingContext.getBindingFor:(Lcom/sun/tools/javac/code/Symbol$BindingSymbol;)Lcom/sun/tools/javac/code/Symbol$VarSymbol;
            astore 2 /* bindingVar */
         3: .line 280
      StackMap locals: com.sun.tools.javac.code.Symbol$VarSymbol
      StackMap stack:
            aload 2 /* bindingVar */
            ifnonnull 6
         4: .line 281
            aload 0 /* this */
            aload 1 /* tree */
            invokespecial com.sun.tools.javac.tree.TreeTranslator.visitIdent:(Lcom/sun/tools/javac/tree/JCTree$JCIdent;)V
         5: .line 282
            goto 7
         6: .line 283
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCIdent.pos:I
            invokevirtual com.sun.tools.javac.tree.TreeMaker.at:(I)Lcom/sun/tools/javac/tree/TreeMaker;
            aload 2 /* bindingVar */
            invokevirtual com.sun.tools.javac.tree.TreeMaker.Ident:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/tree/JCTree$JCIdent;
            putfield com.sun.tools.javac.comp.TransPatterns.result:Lcom/sun/tools/javac/tree/JCTree;
         7: .line 285
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.sun.tools.javac.code.Symbol$VarSymbol bindingVar
        end local 1 // com.sun.tools.javac.tree.JCTree$JCIdent tree
        end local 0 // com.sun.tools.javac.comp.TransPatterns this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lcom/sun/tools/javac/comp/TransPatterns;
            0    8     1        tree  Lcom/sun/tools/javac/tree/JCTree$JCIdent;
            1    8     2  bindingVar  Lcom/sun/tools/javac/code/Symbol$VarSymbol;
    MethodParameters:
      Name  Flags
      tree  

  public void visitBlock(com.sun.tools.javac.tree.JCTree$JCBlock);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCBlock;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // com.sun.tools.javac.comp.TransPatterns this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCBlock tree
         0: .line 289
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 2 /* statements */
        start local 2 // com.sun.tools.javac.util.ListBuffer statements
         1: .line 290
            aload 0 /* this */
            new com.sun.tools.javac.comp.TransPatterns$2
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* statements */
            invokespecial com.sun.tools.javac.comp.TransPatterns$2.<init>:(Lcom/sun/tools/javac/comp/TransPatterns;Lcom/sun/tools/javac/comp/TransPatterns;Lcom/sun/tools/javac/util/ListBuffer;)V
            putfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
         2: .line 312
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCBlock.stats:Lcom/sun/tools/javac/util/List;
            astore 3 /* l */
        start local 3 // com.sun.tools.javac.util.List l
         3: goto 6
         4: .line 313
      StackMap locals: com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.List
      StackMap stack:
            aload 2 /* statements */
            aload 0 /* this */
            aload 3 /* l */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCStatement
            invokevirtual com.sun.tools.javac.comp.TransPatterns.translate:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/tree/JCTree;
            checkcast com.sun.tools.javac.tree.JCTree$JCStatement
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
         5: .line 312
            aload 3 /* l */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 3 /* l */
      StackMap locals:
      StackMap stack:
         6: aload 3 /* l */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 4
        end local 3 // com.sun.tools.javac.util.List l
         7: .line 316
            aload 1 /* tree */
            aload 2 /* statements */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.tree.JCTree$JCBlock.stats:Lcom/sun/tools/javac/util/List;
         8: .line 317
            aload 0 /* this */
            aload 1 /* tree */
            putfield com.sun.tools.javac.comp.TransPatterns.result:Lcom/sun/tools/javac/tree/JCTree;
         9: .line 318
            goto 13
      StackMap locals: com.sun.tools.javac.comp.TransPatterns com.sun.tools.javac.tree.JCTree$JCBlock com.sun.tools.javac.util.ListBuffer
      StackMap stack: java.lang.Throwable
        10: astore 4
        11: .line 319
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            invokevirtual com.sun.tools.javac.comp.TransPatterns$BindingContext.pop:()Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            pop
        12: .line 320
            aload 4
            athrow
        13: .line 319
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            invokevirtual com.sun.tools.javac.comp.TransPatterns$BindingContext.pop:()Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            pop
        14: .line 321
            return
        end local 2 // com.sun.tools.javac.util.ListBuffer statements
        end local 1 // com.sun.tools.javac.tree.JCTree$JCBlock tree
        end local 0 // com.sun.tools.javac.comp.TransPatterns this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lcom/sun/tools/javac/comp/TransPatterns;
            0   15     1        tree  Lcom/sun/tools/javac/tree/JCTree$JCBlock;
            1   15     2  statements  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/tree/JCTree$JCStatement;>;
            3    7     3           l  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCStatement;>;
      Exception table:
        from    to  target  type
           2    10      10  any
    MethodParameters:
      Name  Flags
      tree  

  public void visitLambda(com.sun.tools.javac.tree.JCTree$JCLambda);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCLambda;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.sun.tools.javac.comp.TransPatterns this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCLambda tree
         0: .line 325
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
            astore 2 /* prevContent */
        start local 2 // com.sun.tools.javac.comp.TransPatterns$BindingContext prevContent
         1: .line 327
            aload 0 /* this */
            new com.sun.tools.javac.comp.TransPatterns$BindingDeclarationFenceBindingContext
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.comp.TransPatterns$BindingDeclarationFenceBindingContext.<init>:(Lcom/sun/tools/javac/comp/TransPatterns;)V
            putfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
         2: .line 328
            aload 0 /* this */
            aload 1 /* tree */
            invokespecial com.sun.tools.javac.tree.TreeTranslator.visitLambda:(Lcom/sun/tools/javac/tree/JCTree$JCLambda;)V
         3: .line 329
            goto 7
      StackMap locals: com.sun.tools.javac.comp.TransPatterns com.sun.tools.javac.tree.JCTree$JCLambda com.sun.tools.javac.comp.TransPatterns$BindingContext
      StackMap stack: java.lang.Throwable
         4: astore 3
         5: .line 330
            aload 0 /* this */
            aload 2 /* prevContent */
            putfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
         6: .line 331
            aload 3
            athrow
         7: .line 330
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* prevContent */
            putfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
         8: .line 332
            return
        end local 2 // com.sun.tools.javac.comp.TransPatterns$BindingContext prevContent
        end local 1 // com.sun.tools.javac.tree.JCTree$JCLambda tree
        end local 0 // com.sun.tools.javac.comp.TransPatterns this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lcom/sun/tools/javac/comp/TransPatterns;
            0    9     1         tree  Lcom/sun/tools/javac/tree/JCTree$JCLambda;
            1    9     2  prevContent  Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
      Exception table:
        from    to  target  type
           1     4       4  any
    MethodParameters:
      Name  Flags
      tree  

  public com.sun.tools.javac.tree.JCTree translateTopLevelClass(com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>, com.sun.tools.javac.tree.JCTree, com.sun.tools.javac.tree.TreeMaker);
    descriptor: (Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/tree/TreeMaker;)Lcom/sun/tools/javac/tree/JCTree;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // com.sun.tools.javac.comp.TransPatterns this
        start local 1 // com.sun.tools.javac.comp.Env env
        start local 2 // com.sun.tools.javac.tree.JCTree cdef
        start local 3 // com.sun.tools.javac.tree.TreeMaker make
         0: .line 336
            aload 0 /* this */
            aload 3 /* make */
            putfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
         1: .line 337
            aload 0 /* this */
            aload 2 /* cdef */
            invokevirtual com.sun.tools.javac.comp.TransPatterns.translate:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/tree/JCTree;
            pop
         2: .line 338
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 4
         4: .line 340
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
         5: .line 341
            aload 4
            athrow
         6: .line 340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
         7: .line 343
            aload 2 /* cdef */
            areturn
        end local 3 // com.sun.tools.javac.tree.TreeMaker make
        end local 2 // com.sun.tools.javac.tree.JCTree cdef
        end local 1 // com.sun.tools.javac.comp.Env env
        end local 0 // com.sun.tools.javac.comp.TransPatterns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/tools/javac/comp/TransPatterns;
            0    8     1   env  Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
            0    8     2  cdef  Lcom/sun/tools/javac/tree/JCTree;
            0    8     3  make  Lcom/sun/tools/javac/tree/TreeMaker;
      Exception table:
        from    to  target  type
           0     3       3  any
    Signature: (Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/tree/TreeMaker;)Lcom/sun/tools/javac/tree/JCTree;
    MethodParameters:
      Name  Flags
      env   
      cdef  
      make  

  com.sun.tools.javac.tree.JCTree$JCInstanceOf makeTypeTest(com.sun.tools.javac.tree.JCTree$JCExpression, com.sun.tools.javac.tree.JCTree$JCExpression);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/tree/JCTree$JCExpression;)Lcom/sun/tools/javac/tree/JCTree$JCInstanceOf;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.sun.tools.javac.comp.TransPatterns this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCExpression lhs
        start local 2 // com.sun.tools.javac.tree.JCTree$JCExpression type
         0: .line 352
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
            aload 1 /* lhs */
            aload 2 /* type */
            invokevirtual com.sun.tools.javac.tree.TreeMaker.TypeTest:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/tree/JCTree$JCInstanceOf;
            astore 3 /* tree */
        start local 3 // com.sun.tools.javac.tree.JCTree$JCInstanceOf tree
         1: .line 353
            aload 3 /* tree */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.booleanType:Lcom/sun/tools/javac/code/Type$JCPrimitiveType;
            putfield com.sun.tools.javac.tree.JCTree$JCInstanceOf.type:Lcom/sun/tools/javac/code/Type;
         2: .line 354
            aload 3 /* tree */
            areturn
        end local 3 // com.sun.tools.javac.tree.JCTree$JCInstanceOf tree
        end local 2 // com.sun.tools.javac.tree.JCTree$JCExpression type
        end local 1 // com.sun.tools.javac.tree.JCTree$JCExpression lhs
        end local 0 // com.sun.tools.javac.comp.TransPatterns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/comp/TransPatterns;
            0    3     1   lhs  Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            0    3     2  type  Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            1    3     3  tree  Lcom/sun/tools/javac/tree/JCTree$JCInstanceOf;
    MethodParameters:
      Name  Flags
      lhs   
      type  

  com.sun.tools.javac.tree.JCTree$JCBinary makeBinary(com.sun.tools.javac.tree.JCTree$Tag, com.sun.tools.javac.tree.JCTree$JCExpression, com.sun.tools.javac.tree.JCTree$JCExpression);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$Tag;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/tree/JCTree$JCExpression;)Lcom/sun/tools/javac/tree/JCTree$JCBinary;
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // com.sun.tools.javac.comp.TransPatterns this
        start local 1 // com.sun.tools.javac.tree.JCTree$Tag optag
        start local 2 // com.sun.tools.javac.tree.JCTree$JCExpression lhs
        start local 3 // com.sun.tools.javac.tree.JCTree$JCExpression rhs
         0: .line 363
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
            aload 1 /* optag */
            aload 2 /* lhs */
            aload 3 /* rhs */
            invokevirtual com.sun.tools.javac.tree.TreeMaker.Binary:(Lcom/sun/tools/javac/tree/JCTree$Tag;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/tree/JCTree$JCExpression;)Lcom/sun/tools/javac/tree/JCTree$JCBinary;
            astore 4 /* tree */
        start local 4 // com.sun.tools.javac.tree.JCTree$JCBinary tree
         1: .line 364
            aload 4 /* tree */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.operators:Lcom/sun/tools/javac/comp/Operators;
            aload 4 /* tree */
            aload 1 /* optag */
            aload 2 /* lhs */
            getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
            aload 3 /* rhs */
            getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.comp.Operators.resolveBinary:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/tree/JCTree$Tag;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Symbol$OperatorSymbol;
            putfield com.sun.tools.javac.tree.JCTree$JCBinary.operator:Lcom/sun/tools/javac/code/Symbol$OperatorSymbol;
         2: .line 365
            aload 4 /* tree */
            aload 4 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCBinary.operator:Lcom/sun/tools/javac/code/Symbol$OperatorSymbol;
            getfield com.sun.tools.javac.code.Symbol$OperatorSymbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
            putfield com.sun.tools.javac.tree.JCTree$JCBinary.type:Lcom/sun/tools/javac/code/Type;
         3: .line 366
            aload 4 /* tree */
            areturn
        end local 4 // com.sun.tools.javac.tree.JCTree$JCBinary tree
        end local 3 // com.sun.tools.javac.tree.JCTree$JCExpression rhs
        end local 2 // com.sun.tools.javac.tree.JCTree$JCExpression lhs
        end local 1 // com.sun.tools.javac.tree.JCTree$Tag optag
        end local 0 // com.sun.tools.javac.comp.TransPatterns this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/sun/tools/javac/comp/TransPatterns;
            0    4     1  optag  Lcom/sun/tools/javac/tree/JCTree$Tag;
            0    4     2    lhs  Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            0    4     3    rhs  Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            1    4     4   tree  Lcom/sun/tools/javac/tree/JCTree$JCBinary;
    MethodParameters:
       Name  Flags
      optag  
      lhs    
      rhs    

  com.sun.tools.javac.tree.JCTree$JCExpression convert(com.sun.tools.javac.tree.JCTree$JCExpression, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.sun.tools.javac.comp.TransPatterns this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCExpression expr
        start local 2 // com.sun.tools.javac.code.Type target
         0: .line 370
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
            aload 1 /* expr */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCExpression.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            invokevirtual com.sun.tools.javac.tree.TreeMaker.at:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;)Lcom/sun/tools/javac/tree/TreeMaker;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
            aload 2 /* target */
            invokevirtual com.sun.tools.javac.tree.TreeMaker.Type:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            aload 1 /* expr */
            invokevirtual com.sun.tools.javac.tree.TreeMaker.TypeCast:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/tree/JCTree$JCExpression;)Lcom/sun/tools/javac/tree/JCTree$JCTypeCast;
            astore 3 /* result */
        start local 3 // com.sun.tools.javac.tree.JCTree$JCExpression result
         1: .line 371
            aload 3 /* result */
            aload 2 /* target */
            putfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
         2: .line 372
            aload 3 /* result */
            areturn
        end local 3 // com.sun.tools.javac.tree.JCTree$JCExpression result
        end local 2 // com.sun.tools.javac.code.Type target
        end local 1 // com.sun.tools.javac.tree.JCTree$JCExpression expr
        end local 0 // com.sun.tools.javac.comp.TransPatterns this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/sun/tools/javac/comp/TransPatterns;
            0    3     1    expr  Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            0    3     2  target  Lcom/sun/tools/javac/code/Type;
            1    3     3  result  Lcom/sun/tools/javac/tree/JCTree$JCExpression;
    MethodParameters:
        Name  Flags
      expr    
      target  
}
SourceFile: "TransPatterns.java"
NestMembers:
  com.sun.tools.javac.comp.TransPatterns$1  com.sun.tools.javac.comp.TransPatterns$2  com.sun.tools.javac.comp.TransPatterns$BasicBindingContext  com.sun.tools.javac.comp.TransPatterns$BindingContext  com.sun.tools.javac.comp.TransPatterns$BindingDeclarationFenceBindingContext
InnerClasses:
  public final Kind = com.sun.tools.javac.code.Kinds$Kind of com.sun.tools.javac.code.Kinds
  public KindSelector = com.sun.tools.javac.code.Kinds$KindSelector of com.sun.tools.javac.code.Kinds
  public BindingSymbol = com.sun.tools.javac.code.Symbol$BindingSymbol of com.sun.tools.javac.code.Symbol
  public MethodSymbol = com.sun.tools.javac.code.Symbol$MethodSymbol of com.sun.tools.javac.code.Symbol
  public OperatorSymbol = com.sun.tools.javac.code.Symbol$OperatorSymbol of com.sun.tools.javac.code.Symbol
  public VarSymbol = com.sun.tools.javac.code.Symbol$VarSymbol of com.sun.tools.javac.code.Symbol
  com.sun.tools.javac.comp.TransPatterns$1
  com.sun.tools.javac.comp.TransPatterns$2
  BasicBindingContext = com.sun.tools.javac.comp.TransPatterns$BasicBindingContext of com.sun.tools.javac.comp.TransPatterns
  abstract BindingContext = com.sun.tools.javac.comp.TransPatterns$BindingContext of com.sun.tools.javac.comp.TransPatterns
  private BindingDeclarationFenceBindingContext = com.sun.tools.javac.comp.TransPatterns$BindingDeclarationFenceBindingContext of com.sun.tools.javac.comp.TransPatterns
  public JCAssign = com.sun.tools.javac.tree.JCTree$JCAssign of com.sun.tools.javac.tree.JCTree
  public JCBinary = com.sun.tools.javac.tree.JCTree$JCBinary of com.sun.tools.javac.tree.JCTree
  public JCBindingPattern = com.sun.tools.javac.tree.JCTree$JCBindingPattern of com.sun.tools.javac.tree.JCTree
  public JCBlock = com.sun.tools.javac.tree.JCTree$JCBlock of com.sun.tools.javac.tree.JCTree
  public JCConditional = com.sun.tools.javac.tree.JCTree$JCConditional of com.sun.tools.javac.tree.JCTree
  public JCDoWhileLoop = com.sun.tools.javac.tree.JCTree$JCDoWhileLoop of com.sun.tools.javac.tree.JCTree
  public abstract JCExpression = com.sun.tools.javac.tree.JCTree$JCExpression of com.sun.tools.javac.tree.JCTree
  public JCExpressionStatement = com.sun.tools.javac.tree.JCTree$JCExpressionStatement of com.sun.tools.javac.tree.JCTree
  public JCForLoop = com.sun.tools.javac.tree.JCTree$JCForLoop of com.sun.tools.javac.tree.JCTree
  public JCIdent = com.sun.tools.javac.tree.JCTree$JCIdent of com.sun.tools.javac.tree.JCTree
  public JCIf = com.sun.tools.javac.tree.JCTree$JCIf of com.sun.tools.javac.tree.JCTree
  public JCInstanceOf = com.sun.tools.javac.tree.JCTree$JCInstanceOf of com.sun.tools.javac.tree.JCTree
  public JCLabeledStatement = com.sun.tools.javac.tree.JCTree$JCLabeledStatement of com.sun.tools.javac.tree.JCTree
  public JCLambda = com.sun.tools.javac.tree.JCTree$JCLambda of com.sun.tools.javac.tree.JCTree
  public JCLiteral = com.sun.tools.javac.tree.JCTree$JCLiteral of com.sun.tools.javac.tree.JCTree
  public JCMethodDecl = com.sun.tools.javac.tree.JCTree$JCMethodDecl of com.sun.tools.javac.tree.JCTree
  public abstract JCStatement = com.sun.tools.javac.tree.JCTree$JCStatement of com.sun.tools.javac.tree.JCTree
  public JCTypeCast = com.sun.tools.javac.tree.JCTree$JCTypeCast of com.sun.tools.javac.tree.JCTree
  public JCVariableDecl = com.sun.tools.javac.tree.JCTree$JCVariableDecl of com.sun.tools.javac.tree.JCTree
  public JCWhileLoop = com.sun.tools.javac.tree.JCTree$JCWhileLoop of com.sun.tools.javac.tree.JCTree
  public LetExpr = com.sun.tools.javac.tree.JCTree$LetExpr of com.sun.tools.javac.tree.JCTree
  public final Tag = com.sun.tools.javac.tree.JCTree$Tag of com.sun.tools.javac.tree.JCTree
  public Key = com.sun.tools.javac.util.Context$Key of com.sun.tools.javac.util.Context
  public abstract DiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic