Module jdk.compiler
Package com.sun.source.tree

# Interface EnhancedForLoopTree

All Superinterfaces:
  `StatementTree`, `Tree`

public interface EnhancedForLoopTree extends StatementTree
A tree node for an "enhanced" `for` loop statement. For example:

       for ( variable : expression )
           statement

See Java Language Specification:
  14.14.2 The enhanced for statement
Since:
  1.6

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static enum`
  `EnhancedForLoopTree.DeclarationKindPREVIEW`
  Preview.
  "Enhanced" `for` declarations come in two forms: local variable declarations and record patterns

  ## Nested classes/interfaces declared in interface com.sun.source.tree.Tree

  `Tree.Kind`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `EnhancedForLoopTree.DeclarationKindPREVIEW`
  `getDeclarationKind()`
  Preview.
  Returns the kind of the declaration of the "enhanced" `for`.
  `ExpressionTree`
  `getExpression()`
  Returns the expression yielding the values for the control variable.
  `StatementTree`
  `getStatement()`
  Returns the body of the loop.
  `VariableTree`
  `getVariable()`
  Returns the control variable for the loop.
  `Tree`
  `getVariableOrRecordPattern()`
  Preview.
  Returns the control variable or pattern for the loop.

  ### Methods declared in interface com.sun.source.tree.Tree

  `accept, getKind`

- ## Method Details

  - ### getVariable

    VariableTree getVariable()
    Returns the control variable for the loop.
    Returns:
      the control variable, or `null` if this "enhanced" `for` uses a pattern

  - ### getVariableOrRecordPattern

    Tree getVariableOrRecordPattern()
    `getVariableOrRecordPattern` is a reflective preview API of the Java platform.
    Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
    Returns the control variable or pattern for the loop.
    Returns:
      the control variable or pattern
    Since:
      20

  - ### getExpression

    ExpressionTree getExpression()
    Returns the expression yielding the values for the control variable.
    Returns:
      the expression

  - ### getStatement

    StatementTree getStatement()
    Returns the body of the loop.
    Returns:
      the body of the loop

  - ### getDeclarationKind

    EnhancedForLoopTree.DeclarationKindPREVIEW getDeclarationKind()
    `getDeclarationKind` is a reflective preview API of the Java platform.
    Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
    Returns the kind of the declaration of the "enhanced" `for`.
    Returns:
      the kind of the declaration
    Since:
      20