@GenerateAstNode(implementing=Statement.class) class SuperConstructorInvocationTemplate { Expression qualifier1; List<TypeReference> constructorTypeArguments2; List<Expression> arguments3; }
@GenerateAstNode(implementing=Statement.class) class AlternateConstructorInvocationTemplate { List<TypeReference> constructorTypeArguments1; List<Expression> arguments2; }
@GenerateAstNode(implementing=Statement.class) class AlternateConstructorInvocationTemplate { List<TypeReference> constructorTypeArguments1; List<Expression> arguments2; }
@GenerateAstNode(implementing=Statement.class) class AssertTemplate { @Mandatory Expression assertion1; Expression message2; }
@GenerateAstNode(implementing=Statement.class) class BreakTemplate { @ForcedType Identifier label1; @CopyMethod static boolean hasLabel(Break self) { return self.astLabel() != null; } }
@GenerateAstNode(implementing=Statement.class) class BreakTemplate { @ForcedType Identifier label1; @CopyMethod static boolean hasLabel(Break self) { return self.astLabel() != null; } }
@GenerateAstNode(implementing=Statement.class) class ContinueTemplate { @ForcedType Identifier label1; @CopyMethod static boolean hasLabel(Continue self) { return self.astLabel() != null; } }
@GenerateAstNode(implementing=Statement.class) class BreakTemplate { @ForcedType Identifier label1; @CopyMethod static boolean hasLabel(Break self) { return self.astLabel() != null; } }
@GenerateAstNode(implementing=Statement.class) class ContinueTemplate { @ForcedType Identifier label1; @CopyMethod static boolean hasLabel(Continue self) { return self.astLabel() != null; } }
@GenerateAstNode(implementing=Statement.class) class AssertTemplate { @Mandatory Expression assertion1; Expression message2; }
@GenerateAstNode(implementing=Expression.class, mixin=ExpressionMixin.class) class ArrayAccessTemplate { @Mandatory Expression operand1; @Mandatory Expression indexExpression2; }
@GenerateAstNode(implementing={Expression.class, DescribedNode.class}, mixin=ExpressionMixin.class) class MethodInvocationTemplate { Expression operand1; List<TypeReference> methodTypeArguments2; @Mandatory("new lombok.ast.Identifier()") @ForcedType Identifier name3; List<Expression> arguments4; @CopyMethod static String getDescription(MethodInvocation self) { return self.astName().astValue(); } }
@GenerateAstNode(implementing={Expression.class, DescribedNode.class}, mixin=ExpressionMixin.class) class ClassLiteralTemplate { @ParentAccessor @Mandatory TypeReference typeReference1; @CopyMethod static String getDescription(ClassLiteral self) { try { return self.astTypeReference().getDescription(); } catch (NullPointerException e) { return null; } } }
@GenerateAstNode(implementing=Statement.class) class WhileTemplate { @Mandatory Expression condition1; @Mandatory Statement statement2; }
@GenerateAstNode(implementing=Statement.class) class IfTemplate { @Mandatory Expression condition1; @Mandatory Statement statement2; Statement elseStatement3; }
@GenerateAstNode(implementing=Statement.class) class DoWhileTemplate { @Mandatory Expression condition2; @Mandatory Statement statement1; }
@GenerateAstNode(implementing=Expression.class, mixin=ExpressionMixin.class) class ArrayAccessTemplate { @Mandatory Expression operand1; @Mandatory Expression indexExpression2; }
@GenerateAstNode(implementing={Expression.class, DescribedNode.class}, mixin=ExpressionMixin.class) class MethodInvocationTemplate { Expression operand1; List<TypeReference> methodTypeArguments2; @Mandatory("new lombok.ast.Identifier()") @ForcedType Identifier name3; List<Expression> arguments4; @CopyMethod static String getDescription(MethodInvocation self) { return self.astName().astValue(); } }
@GenerateAstNode(implementing=Statement.class) class SwitchTemplate { @Mandatory Expression condition1; @ParentAccessor @Mandatory Block body2; }
@GenerateAstNode(implementing=Statement.class) class SynchronizedTemplate { @Mandatory Expression lock1; @ParentAccessor @Mandatory Block body2; }