@GenerateAstNode(implementing=Statement.class) class AssertTemplate { @Mandatory Expression assertion1; Expression message2; }
@GenerateAstNode(implementing=Statement.class) class AssertTemplate { @Mandatory Expression assertion1; Expression message2; }
@GenerateAstNode(implementing={TypeMember.class, DescribedNode.class, JavadocContainer.class}, mixin=TypeMemberMixin.class) class AnnotationMethodDeclarationTemplate { Comment javadoc1; @ParentAccessor @Mandatory("new lombok.ast.Modifiers()") @ForcedType Modifiers modifiers2; @Mandatory TypeReference returnTypeReference3; @Mandatory("new lombok.ast.Identifier()") @ForcedType Identifier methodName4; Expression defaultValue5; @CopyMethod static String getDescription(AnnotationMethodDeclaration self) { return self.astMethodName().astValue(); } }
@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={TypeMember.class, JavadocContainer.class}, mixin=TypeMemberMixin.class) class ConstructorDeclarationTemplate { Comment javadoc1; @ParentAccessor @Mandatory("new lombok.ast.Modifiers()") @ForcedType Modifiers modifiers2; List<TypeVariable> typeVariables3; @Mandatory("new lombok.ast.Identifier()") @ForcedType Identifier typeName4; @ParentAccessor("Parameter") List<VariableDefinition> parameters5; List<TypeReference> thrownTypeReferences6; @ParentAccessor @Mandatory Block body7; //TODO test if our syntax checkers flag misnamed constructors. }
@GenerateAstNode(implementing={TypeMember.class, JavadocContainer.class}, mixin=TypeMemberMixin.class) class ConstructorDeclarationTemplate { Comment javadoc1; @ParentAccessor @Mandatory("new lombok.ast.Modifiers()") @ForcedType Modifiers modifiers2; List<TypeVariable> typeVariables3; @Mandatory("new lombok.ast.Identifier()") @ForcedType Identifier typeName4; @ParentAccessor("Parameter") List<VariableDefinition> parameters5; List<TypeReference> thrownTypeReferences6; @ParentAccessor @Mandatory Block body7; //TODO test if our syntax checkers flag misnamed constructors. }
@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={TypeMember.class, JavadocContainer.class}, mixin=TypeMemberMixin.class) class ConstructorDeclarationTemplate { Comment javadoc1; @ParentAccessor @Mandatory("new lombok.ast.Modifiers()") @ForcedType Modifiers modifiers2; List<TypeVariable> typeVariables3; @Mandatory("new lombok.ast.Identifier()") @ForcedType Identifier typeName4; @ParentAccessor("Parameter") List<VariableDefinition> parameters5; List<TypeReference> thrownTypeReferences6; @ParentAccessor @Mandatory Block body7; //TODO test if our syntax checkers flag misnamed constructors. }
@GenerateAstNode(implementing=DescribedNode.class) class TypeVariableTemplate { @Mandatory("new lombok.ast.Identifier()") @ForcedType Identifier name1; @ParentAccessor("TypeVariableBound") List<TypeReference> extending2; @CopyMethod static String getDescription(TypeVariable self) { return self.astName().astValue(); } }
@GenerateAstNode(implementing=DescribedNode.class) class TypeVariableTemplate { @Mandatory("new lombok.ast.Identifier()") @ForcedType Identifier name1; @ParentAccessor("TypeVariableBound") List<TypeReference> extending2; @CopyMethod static String getDescription(TypeVariable self) { return self.astName().astValue(); } }
@GenerateAstNode(implementing=Expression.class, mixin=ExpressionMixin.class) class ArrayCreationTemplate { @Mandatory TypeReference componentTypeReference1; @ParentAccessor List<ArrayDimension> dimensions2; @ParentAccessor ArrayInitializer initializer3; }
@GenerateAstNode(implementing=Statement.class) class TryTemplate { @ParentAccessor("TryBody") @Mandatory Block body1; @ParentAccessor List<Catch> catches2; @ParentAccessor("Finally") Block finally_3; }
@GenerateAstNode(implementing=Statement.class) class TryTemplate { @ParentAccessor("TryBody") @Mandatory Block body1; @ParentAccessor List<Catch> catches2; @ParentAccessor("Finally") Block finally_3; }