Klasse IfStatement


public class IfStatement extends Statement
If statement AST node type.
 IfStatement:
    if ( Expression ) Statement [ else Statement]
 
Seit:
2.0
  • Felddetails

    • EXPRESSION_PROPERTY

      public static final ChildPropertyDescriptor EXPRESSION_PROPERTY
      The "expression" structural property of this node type (child type: Expression).
      Seit:
      3.0
    • THEN_STATEMENT_PROPERTY

      public static final ChildPropertyDescriptor THEN_STATEMENT_PROPERTY
      The "thenStatement" structural property of this node type (child type: Statement).
      Seit:
      3.0
    • ELSE_STATEMENT_PROPERTY

      public static final ChildPropertyDescriptor ELSE_STATEMENT_PROPERTY
      The "elseStatement" structural property of this node type (child type: Statement).
      Seit:
      3.0
  • Methodendetails

    • propertyDescriptors

      public static List propertyDescriptors(int apiLevel)
      Returns a list of structural property descriptors for this node type. Clients must not modify the result.
      Parameter:
      apiLevel - the API level; one of the AST.JLS* constants
      Gibt zurück:
      a list of property descriptors (element type: StructuralPropertyDescriptor)
      Seit:
      3.0
    • getExpression

      public Expression getExpression()
      Returns the expression of this if statement.
      Gibt zurück:
      the expression node
    • setExpression

      public void setExpression(Expression expression)
      Sets the condition of this if statement.
      Parameter:
      expression - the expression node
      Löst aus:
      IllegalArgumentException - if:
      • the node belongs to a different AST
      • the node already has a parent
      • a cycle in would be created
    • getThenStatement

      public Statement getThenStatement()
      Returns the "then" part of this if statement.
      Gibt zurück:
      the "then" statement node
    • setThenStatement

      public void setThenStatement(Statement statement)
      Sets the "then" part of this if statement.

      Special note: The Java language does not allow a local variable declaration to appear as the "then" part of an if statement (they may only appear within a block). However, the AST will allow a VariableDeclarationStatement as the thenStatement of a IfStatement. To get something that will compile, be sure to embed the VariableDeclarationStatement inside a Block.

      Parameter:
      statement - the "then" statement node
      Löst aus:
      IllegalArgumentException - if:
      • the node belongs to a different AST
      • the node already has a parent
      • a cycle in would be created
    • getElseStatement

      public Statement getElseStatement()
      Returns the "else" part of this if statement, or null if this if statement has no "else" part.

      Note that there is a subtle difference between having no else statement and having an empty statement ("{}") or null statement (";").

      Gibt zurück:
      the "else" statement node, or null if none
    • setElseStatement

      public void setElseStatement(Statement statement)
      Sets or clears the "else" part of this if statement.

      Note that there is a subtle difference between having no else part (as in "if(true){}") and having an empty block (as in "if(true){}else{}") or null statement (as in "if(true){}else;").

      Special note: The Java language does not allow a local variable declaration to appear as the "else" part of an if statement (they may only appear within a block). However, the AST will allow a VariableDeclarationStatement as the elseStatement of a IfStatement. To get something that will compile, be sure to embed the VariableDeclarationStatement inside a Block.

      Parameter:
      statement - the "else" statement node, or null if there is none
      Löst aus:
      IllegalArgumentException - if:
      • the node belongs to a different AST
      • the node already has a parent
      • a cycle in would be created