org.eclipse.jdt.core.dom
Class LabeledStatement

java.lang.Object
  extended by org.eclipse.jdt.core.dom.ASTNode
      extended by org.eclipse.jdt.core.dom.Statement
          extended by org.eclipse.jdt.core.dom.LabeledStatement

public class LabeledStatement
extends Statement

Labeled statement AST node type.

 LabeledStatement:
    Identifier : Statement
 

Since:
2.0

Field Summary
static ChildPropertyDescriptor BODY_PROPERTY
          The "body" structural property of this node type.
static ChildPropertyDescriptor LABEL_PROPERTY
          The "label" structural property of this node type.
 
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, DO_STATEMENT, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, JAVADOC, LABELED_STATEMENT, LINE_COMMENT, MALFORMED, MARKER_ANNOTATION, MEMBER_REF, MEMBER_VALUE_PAIR, METHOD_DECLARATION, METHOD_INVOCATION, METHOD_REF, METHOD_REF_PARAMETER, MODIFIER, 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, SWITCH_CASE, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_PARAMETER, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE
 
Method Summary
 Statement getBody()
          Returns the body of this labeled statement.
 SimpleName getLabel()
          Returns the label of this labeled statement.
static java.util.List propertyDescriptors(int apiLevel)
          Returns a list of structural property descriptors for this node type.
 void setBody(Statement statement)
          Sets the body of this labeled statement.
 void setLabel(SimpleName label)
          Sets the label of this labeled 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
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

LABEL_PROPERTY

public static final ChildPropertyDescriptor LABEL_PROPERTY
The "label" structural property of this node type.

Since:
3.0

BODY_PROPERTY

public static final ChildPropertyDescriptor BODY_PROPERTY
The "body" structural property of this node type.

Since:
3.0
Method Detail

propertyDescriptors

public static java.util.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 the AST.JLS* constants
Returns:
a list of property descriptors (element type: StructuralPropertyDescriptor)
Since:
3.0

getLabel

public SimpleName getLabel()
Returns the label of this labeled statement.

Returns:
the variable name node

setLabel

public void setLabel(SimpleName label)
Sets the label of this labeled statement.

Parameters:
label - the new label
Throws:
java.lang.IllegalArgumentException - if:
  • the node belongs to a different AST
  • the node already has a parent

getBody

public Statement getBody()
Returns the body of this labeled statement.

Returns:
the body statement node

setBody

public void setBody(Statement statement)
Sets the body of this labeled statement.

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

Parameters:
statement - the body statement node
Throws:
java.lang.IllegalArgumentException - if:
  • the node belongs to a different AST
  • the node already has a parent
  • a cycle in would be created