public class com.sun.tools.javac.tree.JCTree$JCBinary extends com.sun.tools.javac.tree.JCTree$JCOperatorExpression implements com.sun.source.tree.BinaryTree
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.tree.JCTree$JCBinary
  super_class: com.sun.tools.javac.tree.JCTree$JCOperatorExpression
{
  public com.sun.tools.javac.tree.JCTree$JCExpression lhs;
    descriptor: Lcom/sun/tools/javac/tree/JCTree$JCExpression;
    flags: (0x0001) ACC_PUBLIC

  public com.sun.tools.javac.tree.JCTree$JCExpression rhs;
    descriptor: Lcom/sun/tools/javac/tree/JCTree$JCExpression;
    flags: (0x0001) ACC_PUBLIC

  protected void <init>(com.sun.tools.javac.tree.JCTree$Tag, com.sun.tools.javac.tree.JCTree$JCExpression, com.sun.tools.javac.tree.JCTree$JCExpression, com.sun.tools.javac.code.Symbol$OperatorSymbol);
    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/code/Symbol$OperatorSymbol;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // com.sun.tools.javac.tree.JCTree$JCBinary this
        start local 1 // com.sun.tools.javac.tree.JCTree$Tag opcode
        start local 2 // com.sun.tools.javac.tree.JCTree$JCExpression lhs
        start local 3 // com.sun.tools.javac.tree.JCTree$JCExpression rhs
        start local 4 // com.sun.tools.javac.code.Symbol$OperatorSymbol operator
         0: .line 1983
            aload 0 /* this */
            invokespecial com.sun.tools.javac.tree.JCTree$JCOperatorExpression.<init>:()V
         1: .line 1987
            aload 0 /* this */
            aload 1 /* opcode */
            putfield com.sun.tools.javac.tree.JCTree$JCBinary.opcode:Lcom/sun/tools/javac/tree/JCTree$Tag;
         2: .line 1988
            aload 0 /* this */
            aload 2 /* lhs */
            putfield com.sun.tools.javac.tree.JCTree$JCBinary.lhs:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
         3: .line 1989
            aload 0 /* this */
            aload 3 /* rhs */
            putfield com.sun.tools.javac.tree.JCTree$JCBinary.rhs:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
         4: .line 1990
            aload 0 /* this */
            aload 4 /* operator */
            putfield com.sun.tools.javac.tree.JCTree$JCBinary.operator:Lcom/sun/tools/javac/code/Symbol$OperatorSymbol;
         5: .line 1991
            return
        end local 4 // com.sun.tools.javac.code.Symbol$OperatorSymbol operator
        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 opcode
        end local 0 // com.sun.tools.javac.tree.JCTree$JCBinary this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lcom/sun/tools/javac/tree/JCTree$JCBinary;
            0    6     1    opcode  Lcom/sun/tools/javac/tree/JCTree$Tag;
            0    6     2       lhs  Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            0    6     3       rhs  Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            0    6     4  operator  Lcom/sun/tools/javac/code/Symbol$OperatorSymbol;
    MethodParameters:
          Name  Flags
      opcode    
      lhs       
      rhs       
      operator  

  public void accept(com.sun.tools.javac.tree.JCTree$Visitor);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$Visitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.tree.JCTree$JCBinary this
        start local 1 // com.sun.tools.javac.tree.JCTree$Visitor v
         0: .line 1993
            aload 1 /* v */
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.tree.JCTree$Visitor.visitBinary:(Lcom/sun/tools/javac/tree/JCTree$JCBinary;)V
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$Visitor v
        end local 0 // com.sun.tools.javac.tree.JCTree$JCBinary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCBinary;
            0    1     1     v  Lcom/sun/tools/javac/tree/JCTree$Visitor;
    MethodParameters:
      Name  Flags
      v     

  public com.sun.source.tree.Tree$Kind getKind();
    descriptor: ()Lcom/sun/source/tree/Tree$Kind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree$JCBinary this
         0: .line 1996
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCBinary.getTag:()Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokestatic com.sun.tools.javac.tree.TreeInfo.tagToKind:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Lcom/sun/source/tree/Tree$Kind;
            areturn
        end local 0 // com.sun.tools.javac.tree.JCTree$JCBinary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCBinary;

  public com.sun.tools.javac.tree.JCTree$JCExpression getLeftOperand();
    descriptor: ()Lcom/sun/tools/javac/tree/JCTree$JCExpression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree$JCBinary this
         0: .line 1998
            aload 0 /* this */
            getfield com.sun.tools.javac.tree.JCTree$JCBinary.lhs:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            areturn
        end local 0 // com.sun.tools.javac.tree.JCTree$JCBinary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCBinary;

  public com.sun.tools.javac.tree.JCTree$JCExpression getRightOperand();
    descriptor: ()Lcom/sun/tools/javac/tree/JCTree$JCExpression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree$JCBinary this
         0: .line 2000
            aload 0 /* this */
            getfield com.sun.tools.javac.tree.JCTree$JCBinary.rhs:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            areturn
        end local 0 // com.sun.tools.javac.tree.JCTree$JCBinary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCBinary;

  public <R, D> R accept(com.sun.source.tree.TreeVisitor<R, D>, );
    descriptor: (Lcom/sun/source/tree/TreeVisitor;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.tree.JCTree$JCBinary this
        start local 1 // com.sun.source.tree.TreeVisitor v
        start local 2 // java.lang.Object d
         0: .line 2003
            aload 1 /* v */
            aload 0 /* this */
            aload 2 /* d */
            invokeinterface com.sun.source.tree.TreeVisitor.visitBinary:(Lcom/sun/source/tree/BinaryTree;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object d
        end local 1 // com.sun.source.tree.TreeVisitor v
        end local 0 // com.sun.tools.javac.tree.JCTree$JCBinary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCBinary;
            0    1     1     v  Lcom/sun/source/tree/TreeVisitor<TR;TD;>;
            0    1     2     d  TD;
    Signature: <R:Ljava/lang/Object;D:Ljava/lang/Object;>(Lcom/sun/source/tree/TreeVisitor<TR;TD;>;TD;)TR;
    MethodParameters:
      Name  Flags
      v     
      d     

  public com.sun.tools.javac.tree.JCTree$JCExpression getOperand(com.sun.tools.javac.tree.JCTree$JCOperatorExpression$OperandPos);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCOperatorExpression$OperandPos;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.tree.JCTree$JCBinary this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCOperatorExpression$OperandPos pos
         0: .line 2007
            aload 1 /* pos */
            getstatic com.sun.tools.javac.tree.JCTree$JCOperatorExpression$OperandPos.LEFT:Lcom/sun/tools/javac/tree/JCTree$JCOperatorExpression$OperandPos;
            if_acmpne 1
            aload 0 /* this */
            getfield com.sun.tools.javac.tree.JCTree$JCBinary.lhs:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield com.sun.tools.javac.tree.JCTree$JCBinary.rhs:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
      StackMap locals:
      StackMap stack: com.sun.tools.javac.tree.JCTree$JCExpression
         2: areturn
        end local 1 // com.sun.tools.javac.tree.JCTree$JCOperatorExpression$OperandPos pos
        end local 0 // com.sun.tools.javac.tree.JCTree$JCBinary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/tree/JCTree$JCBinary;
            0    3     1   pos  Lcom/sun/tools/javac/tree/JCTree$JCOperatorExpression$OperandPos;
    MethodParameters:
      Name  Flags
      pos   

  public com.sun.source.tree.ExpressionTree getRightOperand();
    descriptor: ()Lcom/sun/source/tree/ExpressionTree;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.sun.tools.javac.tree.JCTree$JCBinary.getRightOperand:()Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.sun.source.tree.ExpressionTree getLeftOperand();
    descriptor: ()Lcom/sun/source/tree/ExpressionTree;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.sun.tools.javac.tree.JCTree$JCBinary.getLeftOperand:()Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "JCTree.java"
NestHost: com.sun.tools.javac.tree.JCTree
InnerClasses:
  public final Kind = com.sun.source.tree.Tree$Kind of com.sun.source.tree.Tree
  public OperatorSymbol = com.sun.tools.javac.code.Symbol$OperatorSymbol of com.sun.tools.javac.code.Symbol
  public JCBinary = com.sun.tools.javac.tree.JCTree$JCBinary 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 abstract JCOperatorExpression = com.sun.tools.javac.tree.JCTree$JCOperatorExpression of com.sun.tools.javac.tree.JCTree
  public final OperandPos = com.sun.tools.javac.tree.JCTree$JCOperatorExpression$OperandPos of com.sun.tools.javac.tree.JCTree$JCOperatorExpression
  public final Tag = com.sun.tools.javac.tree.JCTree$Tag of com.sun.tools.javac.tree.JCTree
  public abstract Visitor = com.sun.tools.javac.tree.JCTree$Visitor of com.sun.tools.javac.tree.JCTree