Class SwitchEntry

  • All Implemented Interfaces:
    NodeWithRange<Node>, NodeWithStatements<SwitchEntry>, NodeWithTokenRange<Node>, Observable, Visitable, HasParentNode<Node>, Cloneable

    public class SwitchEntry
    extends Node
    implements NodeWithStatements<SwitchEntry>

    One case in a switch statement

    The main Javadoc is in SwitchStmt

    Java 1.0-11

     switch (i) {
       case 1:
       case 2:
         System.out.println(444);
         break;
       default:
         System.out.println(0);
     }
     
    This contains three SwitchEntrys.
    The first one has label 1 and no statements.
    The second has label 2 and two statements (the println and the break).
    The third, the default, has no label and one statement.
    All of them are of type STATEMENT_GROUP.

    Java 12-

         case 1 -> 15*15;
         case 2 -> { a++; b++; }
         case 3 -> throw new Exception();
     
    These are three new variants.
    The first one is of type EXPRESSION and stores its Expression in an ExpressionStmt which is stored as the first and only statement in statements.
    The second one is of type BLOCK and stores its BlockStmt as the first and only statement in statements.
    The third one is of type THROWS_STATEMENT and stores its ThrowStmt as the first and only statement in statements.
         case MONDAY, FRIDAY, SUNDAY -> 6;
     
    Multiple case labels are now allowed.
         case 16*16, 10+10 -> 6;
     
    Many kinds of expressions are now allowed.
    Author:
    Julio Vilmar Gesser
    See Also:
    SwitchStmt, SwitchExpr