public class IfStatement extends Statement
IfStatement: if ( Expression ) Statement [ else Statement]
Modifier and Type | Field and 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 ). |
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, 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, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NUMBER_LITERAL, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, QUALIFIED_NAME, QUALIFIED_TYPE, RECOVERED, 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_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, UNION_TYPE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE
Modifier and Type | Method and Description |
---|---|
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.
|
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.
|
getLeadingComment, setLeadingComment
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
public static final ChildPropertyDescriptor EXPRESSION_PROPERTY
Expression
).public static final ChildPropertyDescriptor THEN_STATEMENT_PROPERTY
Statement
).public static final ChildPropertyDescriptor ELSE_STATEMENT_PROPERTY
Statement
).public static List propertyDescriptors(int apiLevel)
apiLevel
- the API level; one of the
AST.JLS*
constantsStructuralPropertyDescriptor
)public Expression getExpression()
public void setExpression(Expression expression)
expression
- the expression nodeIllegalArgumentException
- if:
public Statement getThenStatement()
public void setThenStatement(Statement 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
.
statement
- the "then" statement nodeIllegalArgumentException
- if:
public Statement getElseStatement()
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 (";").
null
if nonepublic void setElseStatement(Statement 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
.
statement
- the "else" statement node, or null
if
there is noneIllegalArgumentException
- if:
Copyright (c) 2000, 2015 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.