Class IfStatement
IfStatement:
if ( Expression ) Statement [ else Statement]
- Since:
- 2.0
- Restriction:
- This class is not intended to be instantiated by clients.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ChildPropertyDescriptorThe "elseStatement" structural property of this node type (child type:Statement).static final ChildPropertyDescriptorThe "expression" structural property of this node type (child type:Expression).static final ChildPropertyDescriptorThe "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, CASE_DEFAULT_EXPRESSION, CAST_EXPRESSION, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, COMPILATION_UNIT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, CREATION_REFERENCE, DIMENSION, DO_STATEMENT, EitherOr_MultiPattern, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPORTS_DIRECTIVE, EXPRESSION_METHOD_REFERENCE, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, GUARDED_PATTERN, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, INTERSECTION_TYPE, JAVADOC, JAVADOC_REGION, JAVADOC_TEXT_ELEMENT, 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, MODULE_QUALIFIED_NAME, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NULL_PATTERN, NUMBER_LITERAL, OPENS_DIRECTIVE, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, PATTERN_INSTANCEOF_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, PROVIDES_DIRECTIVE, QUALIFIED_NAME, QUALIFIED_TYPE, RECORD_DECLARATION, RECORD_PATTERN, 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, TAG_PROPERTY, TEXT_BLOCK, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, TYPE_PATTERN, UNION_TYPE, UNNAMED_CLASS, USES_DIRECTIVE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE, YIELD_STATEMENT -
Method Summary
Modifier and TypeMethodDescriptionReturns the "else" part of this if statement, ornullif this if statement has no "else" part.Returns the expression of this if statement.Returns the "then" part of this if statement.static ListpropertyDescriptors(int apiLevel) Returns a list of structural property descriptors for this node type.voidsetElseStatement(Statement statement) Sets or clears the "else" part of this if statement.voidsetExpression(Expression expression) Sets the condition of this if statement.voidsetThenStatement(Statement statement) Sets the "then" part of this if statement.Methods inherited from class org.eclipse.jdt.core.dom.Statement
getLeadingComment, setLeadingCommentMethods 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 Details
-
EXPRESSION_PROPERTY
The "expression" structural property of this node type (child type:Expression).- Since:
- 3.0
-
THEN_STATEMENT_PROPERTY
The "thenStatement" structural property of this node type (child type:Statement).- Since:
- 3.0
-
ELSE_STATEMENT_PROPERTY
The "elseStatement" structural property of this node type (child type:Statement).- Since:
- 3.0
-
-
Method Details
-
propertyDescriptors
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
Returns the expression of this if statement.- Returns:
- the expression node
-
setExpression
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
Returns the "then" part of this if statement.- Returns:
- the "then" statement node
-
setThenStatement
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
VariableDeclarationStatementas the thenStatement of aIfStatement. To get something that will compile, be sure to embed theVariableDeclarationStatementinside 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
Returns the "else" part of this if statement, ornullif 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
nullif none
-
setElseStatement
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
VariableDeclarationStatementas the elseStatement of aIfStatement. To get something that will compile, be sure to embed theVariableDeclarationStatementinside aBlock.- Parameters:
statement- the "else" statement node, ornullif 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
-