Interface CtYieldStatement

  • All Superinterfaces:
    java.lang.Cloneable, CtCFlowBreak, CtCodeElement, CtElement, CtQueryable, CtStatement, CtVisitable, FactoryAccessor, java.io.Serializable, SourcePositionHolder
    All Known Implementing Classes:
    CtYieldStatementImpl

    public interface CtYieldStatement
    extends CtCFlowBreak
    This code element defines a yield statement. Example:
         int x = 0;
         x = switch ("foo") {
             default -> {
                                            x=x+1;
                                            yield x; //<--- yield statement
                                            }
         };
     
    A yield statement is implicit in the following example: Example:
         int x = 0;
         x = switch ("foo") {
             default -> 4; //<---  implicit yield statement
         };
     
    the example wouldn't be allowed without the brackets at the default case, because java syntax defines case -> [expression] or case -> [blockStatement] and yield is not a expression.
    • Method Detail

      • getExpression

        CtExpression<?> getExpression()
        Gets the expression of the yield statement. Example: case 1 -> {yield 10}; (This syntax is available as a feature since Java 14)
      • setExpression

        <T extends CtYieldStatement> T setExpression​(CtExpression<?> expression)
        Gets the expression of the yield statement. Example: case 1 -> {yield 10}; (This syntax is available as a feature since Java 14)