Class SwitchExpression


  • public class SwitchExpression
    extends Expression
    Switch expression AST node type (added in JEP 325).
     SwitchExpression:
                    switch ( Expression )
                            { { SwitchCase | Statement } }
     SwitchCase:
                    case [ Expression { , Expression } ]  { : | ->}
                    default { : | ->}
     
    SwitchCase nodes are treated as a kind of Statement.
    Since:
    3.18
    Restriction:
    This class is not intended to be instantiated by clients.
    • Field Detail

      • EXPRESSION_PROPERTY

        public static final ChildPropertyDescriptor EXPRESSION_PROPERTY
        The "expression" structural property of this node type (child type: Expression).
        Since:
        3.16
      • STATEMENTS_PROPERTY

        public static final ChildListPropertyDescriptor STATEMENTS_PROPERTY
        The "statements" structural property of this node type (element type: Statement).
        Since:
        3.16
    • Method Detail

      • propertyDescriptors

        public static List propertyDescriptors​(int apiLevel)
        Returns a list of structural property descriptors for this node type. Clients must not modify the result.
        Parameters:
        apiLevel - the API level; one of the AST.JLS* constants
        Returns:
        a list of property descriptors (element type: StructuralPropertyDescriptor)
        Since:
        3.16
      • propertyDescriptors

        public static List propertyDescriptors​(int apiLevel,
                                               boolean previewEnabled)
        Returns a list of structural property descriptors for this node type. Clients must not modify the result.
        Parameters:
        apiLevel - the API level; one of the AST.JLS* constants
        previewEnabled - previewEnabled flag
        Returns:
        a list of property descriptors (element type: StructuralPropertyDescriptor)
        Since:
        3.19
      • getExpression

        public Expression getExpression()
        Returns the expression of this switch statement.
        Returns:
        the expression node
      • setExpression

        public void setExpression​(Expression expression)
        Sets the expression of this switch statement.
        Parameters:
        expression - the new expression node
        Throws:
        IllegalArgumentException - if:
        • the node belongs to a different AST
        • the node already has a parent
        • a cycle in would be created
      • statements

        public List statements()
        Returns the live ordered list of statements for this switch statement. Within this list, SwitchCase nodes mark the start of the switch groups.
        Returns:
        the live list of statement nodes (element type: Statement)