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: 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 0: aload 0
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
start local 1 1: aload 1
ifnonnull 3
2: new com.sun.tools.javac.comp.TransPatterns
dup
aload 0
invokespecial com.sun.tools.javac.comp.TransPatterns.<init>:(Lcom/sun/tools/javac/util/Context;)V
astore 1
3: StackMap locals: com.sun.tools.javac.comp.TransPatterns
StackMap stack:
aload 1
areturn
end local 1 end local 0 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 start local 1 0: aload 0
invokespecial com.sun.tools.javac.tree.TreeTranslator.<init>:()V
1: aload 0
new com.sun.tools.javac.comp.TransPatterns$1
dup
aload 0
aload 0
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: aload 0
aconst_null
putfield com.sun.tools.javac.comp.TransPatterns.pendingMatchLabel:Lcom/sun/tools/javac/tree/JCTree$JCLabeledStatement;
3: aload 0
aconst_null
putfield com.sun.tools.javac.comp.TransPatterns.currentMethodSym:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
4: aload 1
getstatic com.sun.tools.javac.comp.TransPatterns.transPatternsKey:Lcom/sun/tools/javac/util/Context$Key;
aload 0
invokevirtual com.sun.tools.javac.util.Context.put:(Lcom/sun/tools/javac/util/Context$Key;Ljava/lang/Object;)V
5: aload 0
aload 1
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: aload 0
aload 1
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: aload 0
aload 1
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: aload 0
aload 1
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: aload 0
aload 1
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: aload 0
aload 1
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: aload 0
aload 1
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: aload 0
aload 1
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: aload 0
aload 1
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: return
end local 1 end local 0 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 start local 1 0: aload 1
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: aload 1
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
start local 2 2: aload 1
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
start local 3 3: aload 3
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
start local 4 4: aload 1
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: aload 0
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: 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
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: StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type
astore 5
start local 5 8: aload 2
ifnull 13
9: aload 2
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: aload 2
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: aload 2
checkcast com.sun.tools.javac.code.Symbol$VarSymbol
astore 6
start local 6 12: goto 18
end local 6 13: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
new com.sun.tools.javac.code.Symbol$VarSymbol
dup
aload 4
invokevirtual com.sun.tools.javac.code.Symbol$VarSymbol.flags:()J
ldc 4096
lor
14: aload 0
getfield com.sun.tools.javac.comp.TransPatterns.names:Lcom/sun/tools/javac/util/Names;
new java.lang.StringBuilder
dup
aload 4
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
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: aload 5
16: aload 3
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: 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
start local 6 18: StackMap locals: com.sun.tools.javac.code.Symbol$VarSymbol
StackMap stack:
aload 0
aload 1
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
start local 7 19: aload 0
getfield com.sun.tools.javac.comp.TransPatterns.types:Lcom/sun/tools/javac/code/Types;
aload 4
aload 0
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
start local 8 20: aload 0
aload 0
aload 0
getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 6
invokevirtual com.sun.tools.javac.tree.TreeMaker.Ident:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/tree/JCTree$JCIdent;
aload 0
getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 8
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: aload 0
getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
aload 3
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
start local 9 22: aload 9
ifnull 34
23: aload 0
getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 1
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: aload 0
getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 9
invokevirtual com.sun.tools.javac.tree.TreeMaker.Ident:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/tree/JCTree$JCIdent;
aload 0
aload 0
getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 6
invokevirtual com.sun.tools.javac.tree.TreeMaker.Ident:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/tree/JCTree$JCIdent;
aload 8
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: 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: aload 9
aload 0
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: checkcast com.sun.tools.javac.tree.JCTree$JCAssign
astore 10
start local 10 28: aload 0
getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 0
getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 10
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: aload 0
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: 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
start local 11 31: aload 11
iconst_1
putfield com.sun.tools.javac.tree.JCTree$LetExpr.needsCond:Z
32: aload 11
aload 0
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: aload 0
aload 0
getstatic com.sun.tools.javac.tree.JCTree$Tag.AND:Lcom/sun/tools/javac/tree/JCTree$Tag;
aload 0
getfield com.sun.tools.javac.comp.TransPatterns.result:Lcom/sun/tools/javac/tree/JCTree;
checkcast com.sun.tools.javac.tree.JCTree$JCExpression
aload 11
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 end local 10 34: 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
aload 2
if_acmpeq 39
35: aload 0
aload 0
getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 1
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
getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 6
aload 7
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
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
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: aload 0
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 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 37: goto 39
38: StackMap locals: com.sun.tools.javac.comp.TransPatterns com.sun.tools.javac.tree.JCTree$JCInstanceOf
StackMap stack:
aload 0
aload 1
invokespecial com.sun.tools.javac.tree.TreeTranslator.visitTypeTest:(Lcom/sun/tools/javac/tree/JCTree$JCInstanceOf;)V
39: StackMap locals:
StackMap stack:
return
end local 1 end local 0 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 start local 1 0: aload 0
new com.sun.tools.javac.comp.TransPatterns$BasicBindingContext
dup
aload 0
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: aload 0
aload 1
invokespecial com.sun.tools.javac.tree.TreeTranslator.visitBinary:(Lcom/sun/tools/javac/tree/JCTree$JCBinary;)V
2: aload 0
aload 0
getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
aload 1
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: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 2
5: aload 0
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: aload 2
athrow
7: StackMap locals:
StackMap stack:
aload 0
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: return
end local 1 end local 0 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 start local 1 0: aload 0
new com.sun.tools.javac.comp.TransPatterns$BasicBindingContext
dup
aload 0
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: aload 0
aload 1
invokespecial com.sun.tools.javac.tree.TreeTranslator.visitConditional:(Lcom/sun/tools/javac/tree/JCTree$JCConditional;)V
2: aload 0
aload 0
getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
aload 1
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: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 2
5: aload 0
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: aload 2
athrow
7: StackMap locals:
StackMap stack:
aload 0
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: return
end local 1 end local 0 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 start local 1 0: aload 0
new com.sun.tools.javac.comp.TransPatterns$BasicBindingContext
dup
aload 0
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: aload 0
aload 1
invokespecial com.sun.tools.javac.tree.TreeTranslator.visitIf:(Lcom/sun/tools/javac/tree/JCTree$JCIf;)V
2: aload 0
aload 0
getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
aload 1
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: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 2
5: aload 0
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: aload 2
athrow
7: StackMap locals:
StackMap stack:
aload 0
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: return
end local 1 end local 0 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 start local 1 0: aload 0
new com.sun.tools.javac.comp.TransPatterns$BasicBindingContext
dup
aload 0
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: aload 0
aload 1
invokespecial com.sun.tools.javac.tree.TreeTranslator.visitForLoop:(Lcom/sun/tools/javac/tree/JCTree$JCForLoop;)V
2: aload 0
aload 0
getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
aload 1
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: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 2
5: aload 0
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: aload 2
athrow
7: StackMap locals:
StackMap stack:
aload 0
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: return
end local 1 end local 0 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 start local 1 0: aload 0
new com.sun.tools.javac.comp.TransPatterns$BasicBindingContext
dup
aload 0
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: aload 0
aload 1
invokespecial com.sun.tools.javac.tree.TreeTranslator.visitWhileLoop:(Lcom/sun/tools/javac/tree/JCTree$JCWhileLoop;)V
2: aload 0
aload 0
getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
aload 1
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: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 2
5: aload 0
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: aload 2
athrow
7: StackMap locals:
StackMap stack:
aload 0
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: return
end local 1 end local 0 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 start local 1 0: aload 0
new com.sun.tools.javac.comp.TransPatterns$BasicBindingContext
dup
aload 0
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: aload 0
aload 1
invokespecial com.sun.tools.javac.tree.TreeTranslator.visitDoLoop:(Lcom/sun/tools/javac/tree/JCTree$JCDoWhileLoop;)V
2: aload 0
aload 0
getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
aload 1
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: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 2
5: aload 0
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: aload 2
athrow
7: StackMap locals:
StackMap stack:
aload 0
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: return
end local 1 end local 0 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 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.TransPatterns.currentMethodSym:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
astore 2
start local 2 1: aload 0
aload 1
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: aload 0
aload 1
invokespecial com.sun.tools.javac.tree.TreeTranslator.visitMethodDef:(Lcom/sun/tools/javac/tree/JCTree$JCMethodDecl;)V
3: 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: aload 0
aload 2
putfield com.sun.tools.javac.comp.TransPatterns.currentMethodSym:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
6: aload 3
athrow
7: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield com.sun.tools.javac.comp.TransPatterns.currentMethodSym:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
8: return
end local 2 end local 1 end local 0 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 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
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: aload 0
getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
aload 1
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
3: StackMap locals: com.sun.tools.javac.code.Symbol$VarSymbol
StackMap stack:
aload 2
ifnonnull 6
4: aload 0
aload 1
invokespecial com.sun.tools.javac.tree.TreeTranslator.visitIdent:(Lcom/sun/tools/javac/tree/JCTree$JCIdent;)V
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 1
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
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: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 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 start local 1 0: new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 2
start local 2 1: aload 0
new com.sun.tools.javac.comp.TransPatterns$2
dup
aload 0
aload 0
aload 2
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: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCBlock.stats:Lcom/sun/tools/javac/util/List;
astore 3
start local 3 3: goto 6
4: StackMap locals: com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.List
StackMap stack:
aload 2
aload 0
aload 3
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: aload 3
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 3
StackMap locals:
StackMap stack:
6: aload 3
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifne 4
end local 3 7: aload 1
aload 2
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: aload 0
aload 1
putfield com.sun.tools.javac.comp.TransPatterns.result:Lcom/sun/tools/javac/tree/JCTree;
9: 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: aload 0
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: aload 4
athrow
13: StackMap locals:
StackMap stack:
aload 0
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: return
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
astore 2
start local 2 1: aload 0
new com.sun.tools.javac.comp.TransPatterns$BindingDeclarationFenceBindingContext
dup
aload 0
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: aload 0
aload 1
invokespecial com.sun.tools.javac.tree.TreeTranslator.visitLambda:(Lcom/sun/tools/javac/tree/JCTree$JCLambda;)V
3: 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: aload 0
aload 2
putfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
6: aload 3
athrow
7: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield com.sun.tools.javac.comp.TransPatterns.bindingContext:Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
8: return
end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
aload 3
putfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
1: aload 0
aload 2
invokevirtual com.sun.tools.javac.comp.TransPatterns.translate:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/tree/JCTree;
pop
2: goto 6
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 4
4: aload 0
aconst_null
putfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
5: aload 4
athrow
6: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
7: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 1
aload 2
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
start local 3 1: aload 3
aload 0
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: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 1
aload 2
aload 3
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
start local 4 1: aload 4
aload 0
getfield com.sun.tools.javac.comp.TransPatterns.operators:Lcom/sun/tools/javac/comp/Operators;
aload 4
aload 1
aload 2
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
aload 3
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: aload 4
aload 4
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: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 1
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
getfield com.sun.tools.javac.comp.TransPatterns.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 2
invokevirtual com.sun.tools.javac.tree.TreeMaker.Type:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
aload 1
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
start local 3 1: aload 3
aload 2
putfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
2: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 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