Eclipse JDT
2.0

org.eclipse.jdt.core.dom
Class IfStatement

java.lang.Object
  |
  +--org.eclipse.jdt.core.dom.ASTNode
        |
        +--org.eclipse.jdt.core.dom.Statement
              |
              +--org.eclipse.jdt.core.dom.IfStatement

public class IfStatement
extends Statement

If statement AST node type. Range 0: first character of "if" keyword through last character of the last statement. Range 1: first character of "else" keyword through last character of the last statement; if "else" keyword is absent then an empty range

 IfStatement:
    if ( Expression ) Statement [ else Statement]
 

Since:
2.0

Field Summary
 
Fields inherited from class org.eclipse.jdt.core.dom.ASTNode
ANONYMOUS_CLASS_DECLARATION, ARRAY_ACCESS, ARRAY_CREATION, ARRAY_INITIALIZER, ARRAY_TYPE, ASSERT_STATEMENT, ASSIGNMENT, BLOCK, BOOLEAN_LITERAL, BREAK_STATEMENT, CAST_EXPRESSION, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, COMPILATION_UNIT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, DO_STATEMENT, EMPTY_STATEMENT, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, JAVADOC, LABELED_STATEMENT, MALFORMED, METHOD_DECLARATION, METHOD_INVOCATION, NULL_LITERAL, NUMBER_LITERAL, PACKAGE_DECLARATION, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, QUALIFIED_NAME, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_VARIABLE_DECLARATION, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SWITCH_CASE, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT
 
Method Summary
 Statement getElseStatement()
          Returns the "else" part of this if statement, or null if this if statement has no "else" part.
 Expression getExpression()
          Returns the expression of this if statement.
 int getNodeType()
          Returns an integer value identifying the type of this concrete AST node.
 Statement getThenStatement()
          Returns the "then" part of this if statement.
 void setElseStatement(Statement statement)
          Sets or clears the "else" part of this if statement.
 void setExpression(Expression expression)
          Sets the condition of this if statement.
 void setThenStatement(Statement statement)
          Sets the "then" part of this if statement.
 boolean subtreeMatch(ASTMatcher matcher, Object other)
          Returns whether the subtree rooted at the given node matches the given other object as decided by the given matcher.
 
Methods inherited from class org.eclipse.jdt.core.dom.Statement
getLeadingComment, setLeadingComment
 
Methods inherited from class org.eclipse.jdt.core.dom.ASTNode
accept, copySubtree, copySubtrees, equals, getAST, getFlags, getLength, getParent, getProperty, getRoot, getStartPosition, properties, setFlags, setProperty, setSourceRange, subtreeBytes, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getNodeType

public int getNodeType()
Description copied from class: ASTNode
Returns an integer value identifying the type of this concrete AST node. The values are small positive integers, suitable for use in switch statements.

For each concrete node type there is a unique node type constant (name and value). The unique node type constant for a concrete node type such as CastExpression is ASTNode.CAST_EXPRESSION.

Specified by:
getNodeType in class ASTNode
Returns:
one of the node type constants

subtreeMatch

public boolean subtreeMatch(ASTMatcher matcher,
                            Object other)
Description copied from class: ASTNode
Returns whether the subtree rooted at the given node matches the given other object as decided by the given matcher.

Specified by:
subtreeMatch in class ASTNode
Parameters:
matcher - the matcher
other - the other object, or null
Returns:
true if the subtree matches, or false if they do not match

getExpression

public Expression getExpression()
Returns the expression of this if statement.

Returns:
the expression node

setExpression

public void setExpression(Expression expression)
Sets the condition of this if statement.

Parameters:
expression - the expression node
Throws:
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.

Returns:
the "then" statement node

setThenStatement

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

Parameters:
statement - the "then" statement node
Throws:
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 (";").

Returns:
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;").

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

Eclipse JDT
2.0

Copyright (c) IBM Corp. and others 2000, 2002. All Rights Reserved.