abstract class com.sun.tools.javac.comp.TransPatterns$BindingContext
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.tools.javac.comp.TransPatterns$BindingContext
  super_class: java.lang.Object
{
  final com.sun.tools.javac.comp.TransPatterns this$0;
    descriptor: Lcom/sun/tools/javac/comp/TransPatterns;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.sun.tools.javac.comp.TransPatterns);
    descriptor: (Lcom/sun/tools/javac/comp/TransPatterns;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.TransPatterns$BindingContext this
         0: .line 361
            aload 0 /* this */
            aload 1
            putfield com.sun.tools.javac.comp.TransPatterns$BindingContext.this$0:Lcom/sun/tools/javac/comp/TransPatterns;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.tools.javac.comp.TransPatterns$BindingContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
    MethodParameters:
        Name  Flags
      this$0  final

  abstract com.sun.tools.javac.code.Symbol$VarSymbol bindingDeclared(com.sun.tools.javac.code.Symbol$BindingSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$BindingSymbol;)Lcom/sun/tools/javac/code/Symbol$VarSymbol;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      varSymbol  

  abstract com.sun.tools.javac.code.Symbol$VarSymbol getBindingFor(com.sun.tools.javac.code.Symbol$BindingSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$BindingSymbol;)Lcom/sun/tools/javac/code/Symbol$VarSymbol;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      varSymbol  

  abstract com.sun.tools.javac.tree.JCTree$JCStatement decorateStatement(com.sun.tools.javac.tree.JCTree$JCStatement);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCStatement;)Lcom/sun/tools/javac/tree/JCTree$JCStatement;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      stat  

  abstract com.sun.tools.javac.tree.JCTree$JCExpression decorateExpression(com.sun.tools.javac.tree.JCTree$JCExpression);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCExpression;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      expr  

  abstract com.sun.tools.javac.comp.TransPatterns$BindingContext pop();
    descriptor: ()Lcom/sun/tools/javac/comp/TransPatterns$BindingContext;
    flags: (0x0400) ACC_ABSTRACT

  abstract boolean tryPrepend(com.sun.tools.javac.code.Symbol$BindingSymbol, com.sun.tools.javac.tree.JCTree$JCVariableDecl);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$BindingSymbol;Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;)Z
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      binding  
      var      
}
SourceFile: "TransPatterns.java"
NestHost: com.sun.tools.javac.comp.TransPatterns
InnerClasses:
  public BindingSymbol = com.sun.tools.javac.code.Symbol$BindingSymbol of com.sun.tools.javac.code.Symbol
  public VarSymbol = com.sun.tools.javac.code.Symbol$VarSymbol of com.sun.tools.javac.code.Symbol
  abstract BindingContext = com.sun.tools.javac.comp.TransPatterns$BindingContext of com.sun.tools.javac.comp.TransPatterns
  public abstract JCExpression = com.sun.tools.javac.tree.JCTree$JCExpression 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 JCVariableDecl = com.sun.tools.javac.tree.JCTree$JCVariableDecl of com.sun.tools.javac.tree.JCTree