public class com.sun.tools.javac.tree.JCTree$JCCase extends com.sun.tools.javac.tree.JCTree$JCStatement implements com.sun.source.tree.CaseTree
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.tree.JCTree$JCCase
  super_class: com.sun.tools.javac.tree.JCTree$JCStatement
{
  public static final com.sun.source.tree.CaseTree$CaseKind STATEMENT;
    descriptor: Lcom/sun/source/tree/CaseTree$CaseKind;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.sun.source.tree.CaseTree$CaseKind RULE;
    descriptor: Lcom/sun/source/tree/CaseTree$CaseKind;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public final com.sun.source.tree.CaseTree$CaseKind caseKind;
    descriptor: Lcom/sun/source/tree/CaseTree$CaseKind;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCExpression> pats;
    descriptor: Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCExpression;>;

  public com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCStatement> stats;
    descriptor: Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCStatement;>;

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

  public boolean completesNormally;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1250
            getstatic com.sun.source.tree.CaseTree$CaseKind.STATEMENT:Lcom/sun/source/tree/CaseTree$CaseKind;
            putstatic com.sun.tools.javac.tree.JCTree$JCCase.STATEMENT:Lcom/sun/source/tree/CaseTree$CaseKind;
         1: .line 1252
            getstatic com.sun.source.tree.CaseTree$CaseKind.RULE:Lcom/sun/source/tree/CaseTree$CaseKind;
            putstatic com.sun.tools.javac.tree.JCTree$JCCase.RULE:Lcom/sun/source/tree/CaseTree$CaseKind;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(com.sun.source.tree.CaseTree$CaseKind, com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCExpression>, com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCStatement>, com.sun.tools.javac.tree.JCTree);
    descriptor: (Lcom/sun/source/tree/CaseTree$CaseKind;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/tree/JCTree;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // com.sun.tools.javac.tree.JCTree$JCCase this
        start local 1 // com.sun.source.tree.CaseTree$CaseKind caseKind
        start local 2 // com.sun.tools.javac.util.List pats
        start local 3 // com.sun.tools.javac.util.List stats
        start local 4 // com.sun.tools.javac.tree.JCTree body
         0: .line 1259
            aload 0 /* this */
            invokespecial com.sun.tools.javac.tree.JCTree$JCStatement.<init>:()V
         1: .line 1261
            aload 2 /* pats */
            invokestatic com.sun.tools.javac.util.Assert.checkNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1262
            aload 2 /* pats */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifne 3
            aload 2 /* pats */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            ifnonnull 3
            iconst_0
            goto 4
      StackMap locals: com.sun.tools.javac.tree.JCTree$JCCase com.sun.source.tree.CaseTree$CaseKind com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.tree.JCTree
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
         5: .line 1263
            aload 0 /* this */
            aload 1 /* caseKind */
            putfield com.sun.tools.javac.tree.JCTree$JCCase.caseKind:Lcom/sun/source/tree/CaseTree$CaseKind;
         6: .line 1264
            aload 0 /* this */
            aload 2 /* pats */
            putfield com.sun.tools.javac.tree.JCTree$JCCase.pats:Lcom/sun/tools/javac/util/List;
         7: .line 1265
            aload 0 /* this */
            aload 3 /* stats */
            putfield com.sun.tools.javac.tree.JCTree$JCCase.stats:Lcom/sun/tools/javac/util/List;
         8: .line 1266
            aload 0 /* this */
            aload 4 /* body */
            putfield com.sun.tools.javac.tree.JCTree$JCCase.body:Lcom/sun/tools/javac/tree/JCTree;
         9: .line 1267
            return
        end local 4 // com.sun.tools.javac.tree.JCTree body
        end local 3 // com.sun.tools.javac.util.List stats
        end local 2 // com.sun.tools.javac.util.List pats
        end local 1 // com.sun.source.tree.CaseTree$CaseKind caseKind
        end local 0 // com.sun.tools.javac.tree.JCTree$JCCase this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lcom/sun/tools/javac/tree/JCTree$JCCase;
            0   10     1  caseKind  Lcom/sun/source/tree/CaseTree$CaseKind;
            0   10     2      pats  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCExpression;>;
            0   10     3     stats  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCStatement;>;
            0   10     4      body  Lcom/sun/tools/javac/tree/JCTree;
    Signature: (Lcom/sun/source/tree/CaseTree$CaseKind;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCExpression;>;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCStatement;>;Lcom/sun/tools/javac/tree/JCTree;)V
    MethodParameters:
          Name  Flags
      caseKind  
      pats      
      stats     
      body      

  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$JCCase this
        start local 1 // com.sun.tools.javac.tree.JCTree$Visitor v
         0: .line 1269
            aload 1 /* v */
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.tree.JCTree$Visitor.visitCase:(Lcom/sun/tools/javac/tree/JCTree$JCCase;)V
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$Visitor v
        end local 0 // com.sun.tools.javac.tree.JCTree$JCCase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCCase;
            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$JCCase this
         0: .line 1272
            getstatic com.sun.source.tree.Tree$Kind.CASE:Lcom/sun/source/tree/Tree$Kind;
            areturn
        end local 0 // com.sun.tools.javac.tree.JCTree$JCCase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCCase;

  public com.sun.tools.javac.tree.JCTree$JCExpression getExpression();
    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$JCCase this
         0: .line 1274
            aload 0 /* this */
            getfield com.sun.tools.javac.tree.JCTree$JCCase.pats:Lcom/sun/tools/javac/util/List;
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCExpression
            areturn
        end local 0 // com.sun.tools.javac.tree.JCTree$JCCase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCCase;

  public com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCExpression> getExpressions();
    descriptor: ()Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree$JCCase this
         0: .line 1277
            aload 0 /* this */
            getfield com.sun.tools.javac.tree.JCTree$JCCase.pats:Lcom/sun/tools/javac/util/List;
            areturn
        end local 0 // com.sun.tools.javac.tree.JCTree$JCCase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCCase;
    Signature: ()Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCExpression;>;

  public com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCStatement> getStatements();
    descriptor: ()Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree$JCCase this
         0: .line 1281
            aload 0 /* this */
            getfield com.sun.tools.javac.tree.JCTree$JCCase.caseKind:Lcom/sun/source/tree/CaseTree$CaseKind;
            getstatic com.sun.source.tree.CaseTree$CaseKind.STATEMENT:Lcom/sun/source/tree/CaseTree$CaseKind;
            if_acmpne 1
            aload 0 /* this */
            getfield com.sun.tools.javac.tree.JCTree$JCCase.stats:Lcom/sun/tools/javac/util/List;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: com.sun.tools.javac.util.List
         2: areturn
        end local 0 // com.sun.tools.javac.tree.JCTree$JCCase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/tree/JCTree$JCCase;
    Signature: ()Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCStatement;>;

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

  public com.sun.source.tree.CaseTree$CaseKind getCaseKind();
    descriptor: ()Lcom/sun/source/tree/CaseTree$CaseKind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree$JCCase this
         0: .line 1289
            aload 0 /* this */
            getfield com.sun.tools.javac.tree.JCTree$JCCase.caseKind:Lcom/sun/source/tree/CaseTree$CaseKind;
            areturn
        end local 0 // com.sun.tools.javac.tree.JCTree$JCCase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCCase;

  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$JCCase this
        start local 1 // com.sun.source.tree.TreeVisitor v
        start local 2 // java.lang.Object d
         0: .line 1293
            aload 1 /* v */
            aload 0 /* this */
            aload 2 /* d */
            invokeinterface com.sun.source.tree.TreeVisitor.visitCase:(Lcom/sun/source/tree/CaseTree;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$JCCase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCCase;
            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$Tag getTag();
    descriptor: ()Lcom/sun/tools/javac/tree/JCTree$Tag;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree$JCCase this
         0: .line 1297
            getstatic com.sun.tools.javac.tree.JCTree$Tag.CASE:Lcom/sun/tools/javac/tree/JCTree$Tag;
            areturn
        end local 0 // com.sun.tools.javac.tree.JCTree$JCCase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCCase;

  public com.sun.source.tree.ExpressionTree getExpression();
    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$JCCase.getExpression:()Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.List getExpressions();
    descriptor: ()Ljava/util/List;
    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$JCCase.getExpressions:()Lcom/sun/tools/javac/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.sun.source.tree.Tree getBody();
    descriptor: ()Lcom/sun/source/tree/Tree;
    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$JCCase.getBody:()Lcom/sun/tools/javac/tree/JCTree;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.List getStatements();
    descriptor: ()Ljava/util/List;
    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$JCCase.getStatements:()Lcom/sun/tools/javac/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "JCTree.java"
NestHost: com.sun.tools.javac.tree.JCTree
InnerClasses:
  public final CaseKind = com.sun.source.tree.CaseTree$CaseKind of com.sun.source.tree.CaseTree
  public final Kind = com.sun.source.tree.Tree$Kind of com.sun.source.tree.Tree
  public JCCase = com.sun.tools.javac.tree.JCTree$JCCase 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 JCStatement = com.sun.tools.javac.tree.JCTree$JCStatement 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 abstract Visitor = com.sun.tools.javac.tree.JCTree$Visitor of com.sun.tools.javac.tree.JCTree