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.IfStatement: if ( Expression ) Statement [ else Statement]
- Since:
- 2.0
- Restriction:
- This class is not intended to be instantiated by clients.
-
-
Field Summary
Fields Modifier and Type Field Description static ChildPropertyDescriptor
ELSE_STATEMENT_PROPERTY
The "elseStatement" structural property of this node type (child type:Statement
).static ChildPropertyDescriptor
EXPRESSION_PROPERTY
The "expression" structural property of this node type (child type:Expression
).static ChildPropertyDescriptor
THEN_STATEMENT_PROPERTY
The "thenStatement" structural property of this node type (child type:Statement
).-
Fields inherited from class org.eclipse.jdt.core.dom.ASTNode
ANNOTATION_TYPE_DECLARATION, ANNOTATION_TYPE_MEMBER_DECLARATION, ANONYMOUS_CLASS_DECLARATION, ARRAY_ACCESS, ARRAY_CREATION, ARRAY_INITIALIZER, ARRAY_TYPE, ASSERT_STATEMENT, ASSIGNMENT, BLOCK, BLOCK_COMMENT, BOOLEAN_LITERAL, BREAK_STATEMENT, CAST_EXPRESSION, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, COMPILATION_UNIT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, CREATION_REFERENCE, DIMENSION, DO_STATEMENT, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPORTS_DIRECTIVE, EXPRESSION_METHOD_REFERENCE, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, INTERSECTION_TYPE, JAVADOC, LABELED_STATEMENT, LAMBDA_EXPRESSION, LINE_COMMENT, MALFORMED, MARKER_ANNOTATION, MEMBER_REF, MEMBER_VALUE_PAIR, METHOD_DECLARATION, METHOD_INVOCATION, METHOD_REF, METHOD_REF_PARAMETER, MODIFIER, MODULE_DECLARATION, MODULE_MODIFIER, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NUMBER_LITERAL, OPENS_DIRECTIVE, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, PROVIDES_DIRECTIVE, QUALIFIED_NAME, QUALIFIED_TYPE, RECORD_DECLARATION, RECOVERED, REQUIRES_DIRECTIVE, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SUPER_METHOD_REFERENCE, SWITCH_CASE, SWITCH_EXPRESSION, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TEXT_BLOCK, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, UNION_TYPE, USES_DIRECTIVE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE, YIELD_STATEMENT
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Statement
getElseStatement()
Returns the "else" part of this if statement, ornull
if this if statement has no "else" part.Expression
getExpression()
Returns the expression of this if statement.Statement
getThenStatement()
Returns the "then" part of this if statement.static List
propertyDescriptors(int apiLevel)
Returns a list of structural property descriptors for this node type.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.-
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, delete, equals, getAST, getFlags, getLength, getLocationInParent, getNodeType, getParent, getProperty, getRoot, getStartPosition, getStructuralProperty, hashCode, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toString
-
-
-
-
Field Detail
-
EXPRESSION_PROPERTY
public static final ChildPropertyDescriptor EXPRESSION_PROPERTY
The "expression" structural property of this node type (child type:Expression
).- Since:
- 3.0
-
THEN_STATEMENT_PROPERTY
public static final ChildPropertyDescriptor THEN_STATEMENT_PROPERTY
The "thenStatement" structural property of this node type (child type:Statement
).- Since:
- 3.0
-
ELSE_STATEMENT_PROPERTY
public static final ChildPropertyDescriptor ELSE_STATEMENT_PROPERTY
The "elseStatement" structural property of this node type (child type:Statement
).- Since:
- 3.0
-
-
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 theAST.JLS*
constants- Returns:
- a list of property descriptors (element type:
StructuralPropertyDescriptor
) - Since:
- 3.0
-
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.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 aIfStatement
. To get something that will compile, be sure to embed theVariableDeclarationStatement
inside aBlock
.- 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, ornull
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;").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 aIfStatement
. To get something that will compile, be sure to embed theVariableDeclarationStatement
inside aBlock
.- Parameters:
statement
- the "else" statement node, ornull
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
-
-