From a447077c21f103bc3ce9edd67fc7d503750645c3 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 25 Jun 2026 18:28:50 +0100 Subject: Add custom area for imports --- .../ast/untyped/UntypedConstructedTypeNode.java | 3 ++ .../ast/untyped/UntypedEnumDefinitionNode.java | 3 ++ .../untyped/UntypedEnumVariantDefinitionNode.java | 3 ++ .../compiler/ast/untyped/UntypedImportNode.java | 3 ++ .../compiler/ast/untyped/UntypedNamespaceNode.java | 3 ++ .../ast/untyped/UntypedNamespaceStatementNode.java | 3 ++ .../untyped/UntypedNativeTypeDefinitionNode.java | 3 ++ .../ast/untyped/UntypedStructDefinitionNode.java | 3 ++ .../untyped/UntypedStructFieldDefinitionNode.java | 3 ++ .../ast/untyped/UntypedSumDefinitionNode.java | 3 ++ .../untyped/UntypedSumVariantDefinitionNode.java | 3 ++ .../untyped/UntypedTypeLevelExpressionNode.java | 3 ++ .../ast/untyped/UntypedTypeLevelReferenceNode.java | 3 ++ .../JavaPreciselyMatchersGenerator.java | 37 ++++++++++++++-------- .../generators/javatypes/JavaTypesGenerator.java | 3 ++ .../compiler/output/lang/java/JavaWriter.java | 3 ++ .../output/lang/java/ast/JavaAssignment.java | 3 ++ .../compiler/output/lang/java/ast/JavaBlock.java | 3 ++ .../output/lang/java/ast/JavaBlockStatement.java | 3 ++ .../lang/java/ast/JavaClassBodyDeclaration.java | 3 ++ .../output/lang/java/ast/JavaClassDeclaration.java | 3 ++ .../output/lang/java/ast/JavaCompilationUnit.java | 27 +++++++++++----- .../lang/java/ast/JavaConstructorDeclaration.java | 3 ++ .../output/lang/java/ast/JavaCustomArea.java | 3 ++ .../output/lang/java/ast/JavaEnumConstant.java | 3 ++ .../output/lang/java/ast/JavaEnumDeclaration.java | 3 ++ .../output/lang/java/ast/JavaExpression.java | 3 ++ .../lang/java/ast/JavaExpressionStatement.java | 3 ++ .../output/lang/java/ast/JavaFieldAccess.java | 3 ++ .../output/lang/java/ast/JavaFieldDeclaration.java | 3 ++ .../output/lang/java/ast/JavaIdentifier.java | 3 ++ .../output/lang/java/ast/JavaIntegerLiteral.java | 3 ++ .../lang/java/ast/JavaInterfaceDeclaration.java | 3 ++ .../lang/java/ast/JavaInterfaceOpenness.java | 3 ++ .../output/lang/java/ast/JavaMethodCall.java | 3 ++ .../lang/java/ast/JavaMethodDeclaration.java | 3 ++ .../output/lang/java/ast/JavaMethodKind.java | 3 ++ .../output/lang/java/ast/JavaMethodRef.java | 3 ++ .../output/lang/java/ast/JavaNewExpression.java | 3 ++ .../output/lang/java/ast/JavaNullLiteral.java | 3 ++ .../output/lang/java/ast/JavaPackageName.java | 2 ++ .../compiler/output/lang/java/ast/JavaParam.java | 3 ++ .../output/lang/java/ast/JavaRecordComponent.java | 3 ++ .../lang/java/ast/JavaRecordDeclaration.java | 3 ++ .../compiler/output/lang/java/ast/JavaRef.java | 3 ++ .../compiler/output/lang/java/ast/JavaReturn.java | 3 ++ .../lang/java/ast/JavaStaticFieldAccess.java | 3 ++ .../output/lang/java/ast/JavaStaticMethodCall.java | 3 ++ .../output/lang/java/ast/JavaStringLiteral.java | 3 ++ .../output/lang/java/ast/JavaTypeDeclaration.java | 3 ++ .../output/lang/java/ast/JavaVisibility.java | 3 ++ .../untyped/UntypedConstructedTypeNodeMatcher.java | 3 ++ .../untyped/UntypedEnumDefinitionNodeMatcher.java | 3 ++ .../UntypedEnumVariantDefinitionNodeMatcher.java | 3 ++ .../ast/untyped/UntypedImportNodeMatcher.java | 3 ++ .../ast/untyped/UntypedNamespaceNodeMatcher.java | 3 ++ .../UntypedNativeTypeDefinitionNodeMatcher.java | 3 ++ .../UntypedStructDefinitionNodeMatcher.java | 3 ++ .../UntypedStructFieldDefinitionNodeMatcher.java | 3 ++ .../untyped/UntypedSumDefinitionNodeMatcher.java | 3 ++ .../UntypedSumVariantDefinitionNodeMatcher.java | 3 ++ .../UntypedTypeLevelReferenceNodeMatcher.java | 3 ++ .../compiler/output/lang/java/JavaWriterTests.java | 4 +++ .../lang/java/ast/JavaAssignmentMatcher.java | 3 ++ .../output/lang/java/ast/JavaBlockMatcher.java | 3 ++ .../lang/java/ast/JavaClassDeclarationMatcher.java | 3 ++ .../lang/java/ast/JavaCompilationUnitMatcher.java | 7 ++++ .../ast/JavaConstructorDeclarationMatcher.java | 3 ++ .../lang/java/ast/JavaCustomAreaMatcher.java | 3 ++ .../lang/java/ast/JavaEnumConstantMatcher.java | 3 ++ .../lang/java/ast/JavaEnumDeclarationMatcher.java | 3 ++ .../java/ast/JavaExpressionStatementMatcher.java | 3 ++ .../lang/java/ast/JavaFieldAccessMatcher.java | 3 ++ .../lang/java/ast/JavaFieldDeclarationMatcher.java | 3 ++ .../lang/java/ast/JavaIdentifierMatcher.java | 3 ++ .../lang/java/ast/JavaIntegerLiteralMatcher.java | 3 ++ .../java/ast/JavaInterfaceDeclarationMatcher.java | 3 ++ .../lang/java/ast/JavaMethodCallMatcher.java | 3 ++ .../java/ast/JavaMethodDeclarationMatcher.java | 3 ++ .../output/lang/java/ast/JavaMethodRefMatcher.java | 3 ++ .../lang/java/ast/JavaNewExpressionMatcher.java | 3 ++ .../lang/java/ast/JavaNullLiteralMatcher.java | 3 ++ .../lang/java/ast/JavaPackageNameMatcher.java | 3 ++ .../output/lang/java/ast/JavaParamMatcher.java | 3 ++ .../lang/java/ast/JavaRecordComponentMatcher.java | 3 ++ .../java/ast/JavaRecordDeclarationMatcher.java | 3 ++ .../output/lang/java/ast/JavaRefMatcher.java | 3 ++ .../output/lang/java/ast/JavaReturnMatcher.java | 3 ++ .../java/ast/JavaStaticFieldAccessMatcher.java | 3 ++ .../lang/java/ast/JavaStaticMethodCallMatcher.java | 3 ++ .../lang/java/ast/JavaStringLiteralMatcher.java | 3 ++ 91 files changed, 314 insertions(+), 21 deletions(-) (limited to 'src') diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedConstructedTypeNode.java b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedConstructedTypeNode.java index 97d2897..41c08d8 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedConstructedTypeNode.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedConstructedTypeNode.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedConstructedTypeNode imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedConstructedTypeNode imports + public record UntypedConstructedTypeNode(org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelExpressionNode receiver, java.util.List args, org.zwobble.hobgoblin.compiler.sources.Source source) implements org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelExpressionNode { public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedConstructedTypeNode.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedConstructedTypeNode.Builder(org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelReferenceNode.arbitrary().build(), java.util.List.of(), org.zwobble.hobgoblin.compiler.sources.HobgoblinNativeSources.arbitrarySource()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedEnumDefinitionNode.java b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedEnumDefinitionNode.java index 7838422..598d7c9 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedEnumDefinitionNode.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedEnumDefinitionNode.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumDefinitionNode imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumDefinitionNode imports + public record UntypedEnumDefinitionNode(String name, java.util.List variants, org.zwobble.hobgoblin.compiler.ast.DocComment docComment, org.zwobble.hobgoblin.compiler.sources.Source source) implements org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceStatementNode { public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumDefinitionNode.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumDefinitionNode.Builder("", java.util.List.of(), org.zwobble.hobgoblin.compiler.ast.HobgoblinNativeAst.arbitraryDocComment(), org.zwobble.hobgoblin.compiler.sources.HobgoblinNativeSources.arbitrarySource()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedEnumVariantDefinitionNode.java b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedEnumVariantDefinitionNode.java index 1a50289..cdde9b1 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedEnumVariantDefinitionNode.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedEnumVariantDefinitionNode.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumVariantDefinitionNode imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumVariantDefinitionNode imports + public record UntypedEnumVariantDefinitionNode(String name, org.zwobble.hobgoblin.compiler.sources.Source source) { public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumVariantDefinitionNode.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumVariantDefinitionNode.Builder("", org.zwobble.hobgoblin.compiler.sources.HobgoblinNativeSources.arbitrarySource()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedImportNode.java b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedImportNode.java index e41a346..3ff9efe 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedImportNode.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedImportNode.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode imports + public record UntypedImportNode(java.util.List importedNames, java.util.Optional ancestorDepth, org.zwobble.hobgoblin.compiler.types.NamespaceName namespaceName, org.zwobble.hobgoblin.compiler.sources.Source source) { public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode.Builder(java.util.List.of(), java.util.Optional.empty(), org.zwobble.hobgoblin.compiler.types.HobgoblinNativeTypes.arbitraryNamespaceName(), org.zwobble.hobgoblin.compiler.sources.HobgoblinNativeSources.arbitrarySource()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedNamespaceNode.java b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedNamespaceNode.java index 8e57ef7..9311b69 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedNamespaceNode.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedNamespaceNode.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode imports + public record UntypedNamespaceNode(org.zwobble.hobgoblin.compiler.types.NamespaceName namespaceName, java.util.List imports, java.util.List body, org.zwobble.hobgoblin.compiler.sources.Source source) { public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder(org.zwobble.hobgoblin.compiler.types.HobgoblinNativeTypes.arbitraryNamespaceName(), java.util.List.of(), java.util.List.of(), org.zwobble.hobgoblin.compiler.sources.HobgoblinNativeSources.arbitrarySource()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedNamespaceStatementNode.java b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedNamespaceStatementNode.java index 8cf12e1..9223ec5 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedNamespaceStatementNode.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedNamespaceStatementNode.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceStatementNode imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceStatementNode imports + public sealed interface UntypedNamespaceStatementNode permits org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumDefinitionNode, org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNativeTypeDefinitionNode, org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructDefinitionNode, org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode { public interface Builder { public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceStatementNode build(); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedNativeTypeDefinitionNode.java b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedNativeTypeDefinitionNode.java index b899a76..f63fde6 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedNativeTypeDefinitionNode.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedNativeTypeDefinitionNode.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNativeTypeDefinitionNode imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNativeTypeDefinitionNode imports + public record UntypedNativeTypeDefinitionNode(String name, org.zwobble.hobgoblin.compiler.ast.DocComment docComment, org.zwobble.hobgoblin.compiler.sources.Source source) implements org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceStatementNode { public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNativeTypeDefinitionNode.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNativeTypeDefinitionNode.Builder("", org.zwobble.hobgoblin.compiler.ast.HobgoblinNativeAst.arbitraryDocComment(), org.zwobble.hobgoblin.compiler.sources.HobgoblinNativeSources.arbitrarySource()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedStructDefinitionNode.java b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedStructDefinitionNode.java index 64ce6f1..5897e66 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedStructDefinitionNode.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedStructDefinitionNode.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructDefinitionNode imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructDefinitionNode imports + public record UntypedStructDefinitionNode(String name, java.util.List fields, org.zwobble.hobgoblin.compiler.ast.DocComment docComment, org.zwobble.hobgoblin.compiler.sources.Source source) implements org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceStatementNode { public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructDefinitionNode.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructDefinitionNode.Builder("", java.util.List.of(), org.zwobble.hobgoblin.compiler.ast.HobgoblinNativeAst.arbitraryDocComment(), org.zwobble.hobgoblin.compiler.sources.HobgoblinNativeSources.arbitrarySource()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedStructFieldDefinitionNode.java b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedStructFieldDefinitionNode.java index 837f2cd..b79fec5 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedStructFieldDefinitionNode.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedStructFieldDefinitionNode.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructFieldDefinitionNode imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructFieldDefinitionNode imports + public record UntypedStructFieldDefinitionNode(String name, org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelExpressionNode type, org.zwobble.hobgoblin.compiler.sources.Source source) { public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructFieldDefinitionNode.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructFieldDefinitionNode.Builder("", org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelReferenceNode.arbitrary().build(), org.zwobble.hobgoblin.compiler.sources.HobgoblinNativeSources.arbitrarySource()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumDefinitionNode.java b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumDefinitionNode.java index 1c32be0..f277aca 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumDefinitionNode.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumDefinitionNode.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode imports + public record UntypedSumDefinitionNode(String name, java.util.List variants, java.util.List fields, org.zwobble.hobgoblin.compiler.ast.DocComment docComment, org.zwobble.hobgoblin.compiler.sources.Source source) implements org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceStatementNode { public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder("", java.util.List.of(), java.util.List.of(), org.zwobble.hobgoblin.compiler.ast.HobgoblinNativeAst.arbitraryDocComment(), org.zwobble.hobgoblin.compiler.sources.HobgoblinNativeSources.arbitrarySource()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumVariantDefinitionNode.java b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumVariantDefinitionNode.java index b8bc7b1..082a3b6 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumVariantDefinitionNode.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumVariantDefinitionNode.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumVariantDefinitionNode imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumVariantDefinitionNode imports + public record UntypedSumVariantDefinitionNode(org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelExpressionNode type, org.zwobble.hobgoblin.compiler.sources.Source source) { public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumVariantDefinitionNode.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumVariantDefinitionNode.Builder(org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelReferenceNode.arbitrary().build(), org.zwobble.hobgoblin.compiler.sources.HobgoblinNativeSources.arbitrarySource()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedTypeLevelExpressionNode.java b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedTypeLevelExpressionNode.java index 532d8de..b1cc67d 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedTypeLevelExpressionNode.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedTypeLevelExpressionNode.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelExpressionNode imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelExpressionNode imports + public sealed interface UntypedTypeLevelExpressionNode permits org.zwobble.hobgoblin.compiler.ast.untyped.UntypedConstructedTypeNode, org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelReferenceNode { public interface Builder { public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelExpressionNode build(); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedTypeLevelReferenceNode.java b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedTypeLevelReferenceNode.java index 47426d1..ebbb9d3 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedTypeLevelReferenceNode.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedTypeLevelReferenceNode.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelReferenceNode imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelReferenceNode imports + public record UntypedTypeLevelReferenceNode(String name, org.zwobble.hobgoblin.compiler.sources.Source source) implements org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelExpressionNode { public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelReferenceNode.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelReferenceNode.Builder("", org.zwobble.hobgoblin.compiler.sources.HobgoblinNativeSources.arbitrarySource()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javapreciselymatchers/JavaPreciselyMatchersGenerator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javapreciselymatchers/JavaPreciselyMatchersGenerator.java index c5300b1..fe2caa6 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javapreciselymatchers/JavaPreciselyMatchersGenerator.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javapreciselymatchers/JavaPreciselyMatchersGenerator.java @@ -67,6 +67,7 @@ public class JavaPreciselyMatchersGenerator implements Generator { case TypedStructDefinitionNode structDefinition -> { var javaCompilationUnit = new JavaCompilationUnit( packageParts, + new JavaCustomArea(structMatcherRef(structDefinition.type()), "imports"), generateStructDefinition(structDefinition, context) ); @@ -85,15 +86,12 @@ public class JavaPreciselyMatchersGenerator implements Generator { TypedStructDefinitionNode structDefinition, Context context ) { - var matcherTypeName = this.javaGenerator.generateTypeName(structDefinition.name() + "Matcher"); var structType = structDefinition.type(); var javaStructTypeRef = this.javaGenerator.generateTypeRef(structType); - var javaMatcherTypeRef = JavaTypeRef.topLevel( - namespaceToJavaPackageName(structType.namespaceName()), - matcherTypeName - ); + var javaMatcherTypeRef = this.structMatcherRef(structType); + var matcherTypeName = this.structMatcherTypeName(structType); var submatchersIdentifier = JavaIdentifier.of("submatchers"); var methods = new ArrayList(List.of( @@ -114,7 +112,7 @@ public class JavaPreciselyMatchersGenerator implements Generator { ), new JavaFieldDeclaration( JavaVisibility.PRIVATE, - JavaTypeRef.list(matcherRef(JavaTypeArg.superType(javaStructTypeRef))), + JavaTypeRef.list(genericMatcherRef(JavaTypeArg.superType(javaStructTypeRef))), submatchersIdentifier ), new JavaConstructorDeclaration( @@ -122,7 +120,7 @@ public class JavaPreciselyMatchersGenerator implements Generator { JavaVisibility.PRIVATE, List.of( new JavaParam( - JavaTypeRef.list(matcherRef(JavaTypeArg.superType(javaStructTypeRef))), + JavaTypeRef.list(genericMatcherRef(JavaTypeArg.superType(javaStructTypeRef))), submatchersIdentifier ) ), @@ -171,7 +169,7 @@ public class JavaPreciselyMatchersGenerator implements Generator { JavaIdentifier.of("toMatcher"), JavaVisibility.PRIVATE, JavaMethodKind.INSTANCE, - matcherRef(JavaTypeRef.OBJECT), + genericMatcherRef(JavaTypeRef.OBJECT), List.of(), new JavaBlock(List.of( new JavaReturn(new JavaStaticMethodCall( @@ -198,7 +196,7 @@ public class JavaPreciselyMatchersGenerator implements Generator { JavaMethodKind.INSTANCE, javaMatcherTypeRef, List.of( - new JavaParam(matcherRef(JavaTypeArg.superType(javaFieldTypeRef)), javaFieldName) + new JavaParam(genericMatcherRef(JavaTypeArg.superType(javaFieldTypeRef)), javaFieldName) ), new JavaBlock(List.of( // TODO: avoid using Java streams here @@ -243,7 +241,7 @@ public class JavaPreciselyMatchersGenerator implements Generator { return new JavaClassDeclaration( matcherTypeName, - List.of(matcherRef(JavaTypeArg.invariant(JavaTypeRef.OBJECT))), + List.of(genericMatcherRef(JavaTypeArg.invariant(JavaTypeRef.OBJECT))), methods, JavaCustomArea.forType(javaMatcherTypeRef, "body"), DocComment.EMPTY @@ -280,15 +278,28 @@ public class JavaPreciselyMatchersGenerator implements Generator { private static final JavaTypeRef MATCHERS_REF = JavaTypeRef.topLevel(PRECISELY_PACKAGE_NAME, JavaIdentifier.of("Matchers")); private static final JavaTypeRef TEXT_TREE_REF = JavaTypeRef.topLevel(PRECISELY_PACKAGE_NAME, JavaIdentifier.of("TextTree")); - private static JavaTypeRef matcherRef(JavaTypeRef arg) { - return matcherRef(JavaTypeArg.invariant(arg)); + private static JavaTypeRef genericMatcherRef(JavaTypeRef arg) { + return genericMatcherRef(JavaTypeArg.invariant(arg)); } - private static JavaTypeRef matcherRef(JavaTypeArg arg) { + private static JavaTypeRef genericMatcherRef(JavaTypeArg arg) { return JavaTypeRef.topLevelGeneric( PRECISELY_PACKAGE_NAME, JavaIdentifier.of("Matcher"), List.of(arg) ); } + + private JavaTypeRef structMatcherRef(StructType structType) { + var matcherTypeName = structMatcherTypeName(structType); + + return JavaTypeRef.topLevel( + namespaceToJavaPackageName(structType.namespaceName()), + matcherTypeName + ); + } + + private JavaIdentifier structMatcherTypeName(StructType structType) { + return this.javaGenerator.generateTypeName(structType.name() + "Matcher"); + } } diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java index 82585c6..d74322f 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java @@ -70,6 +70,7 @@ public class JavaTypesGenerator implements Generator { case TypedEnumDefinitionNode enumDefinition -> { var javaCompilationUnit = new JavaCompilationUnit( packageParts, + new JavaCustomArea(generateTypeRef(enumDefinition.type(), context), "imports"), generateEnumDefinition(enumDefinition, context) ); @@ -82,6 +83,7 @@ public class JavaTypesGenerator implements Generator { case TypedStructDefinitionNode structDefinition -> { var javaCompilationUnit = new JavaCompilationUnit( packageParts, + new JavaCustomArea(generateTypeRef(structDefinition.type(), context), "imports"), generateStructDefinition(structDefinition, context) ); @@ -91,6 +93,7 @@ public class JavaTypesGenerator implements Generator { case TypedSumDefinitionNode sumDefinition -> { var javaCompilationUnit = new JavaCompilationUnit( packageParts, + new JavaCustomArea(generateTypeRef(sumDefinition.type(), context), "imports"), generateSumDefinition(sumDefinition, context) ); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriter.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriter.java index 3f7481d..3c6900d 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriter.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriter.java @@ -51,6 +51,9 @@ public class JavaWriter implements AutoCloseable { this.writer.newLine(); this.writer.newLine(); + this.writeCustomArea(compilationUnit.customAreaImports()); + this.writer.newLine(); + writeTypeDeclaration(compilationUnit.typeDeclaration()); this.writer.newLine(); } diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaAssignment.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaAssignment.java index f17c9f3..9ed2991 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaAssignment.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaAssignment.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaAssignment imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaAssignment imports + public record JavaAssignment(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression left, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression right) implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaAssignment.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaAssignment.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIntegerLiteral.arbitrary().build(), org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIntegerLiteral.arbitrary().build()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaBlock.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaBlock.java index 69747be..1278f8c 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaBlock.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaBlock.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlock imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlock imports + public record JavaBlock(java.util.List statements) { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlock.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlock.Builder(java.util.List.of()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaBlockStatement.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaBlockStatement.java index 19218f4..105c5ac 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaBlockStatement.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaBlockStatement.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlockStatement imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlockStatement imports + public sealed interface JavaBlockStatement permits org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpressionStatement, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaReturn { public interface Builder { public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlockStatement build(); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaClassBodyDeclaration.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaClassBodyDeclaration.java index 117bc72..ee2c198 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaClassBodyDeclaration.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaClassBodyDeclaration.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration imports + public sealed interface JavaClassBodyDeclaration permits org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaConstructorDeclaration, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldDeclaration, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodDeclaration, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration { public interface Builder { public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration build(); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaClassDeclaration.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaClassDeclaration.java index 940742e..9e70ccc 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaClassDeclaration.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaClassDeclaration.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration imports + public record JavaClassDeclaration(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier name, java.util.List implementsTypes, java.util.List body, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea customArea, org.zwobble.hobgoblin.compiler.ast.DocComment docComment) implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeDeclaration, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier.arbitrary().build(), java.util.List.of(), java.util.List.of(), org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea.arbitrary().build(), org.zwobble.hobgoblin.compiler.ast.HobgoblinNativeAst.arbitraryDocComment()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaCompilationUnit.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaCompilationUnit.java index dd034c9..d196003 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaCompilationUnit.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaCompilationUnit.java @@ -2,30 +2,41 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; -public record JavaCompilationUnit(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageName packageName, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeDeclaration typeDeclaration) { +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit imports + +public record JavaCompilationUnit(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageName packageName, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea customAreaImports, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeDeclaration typeDeclaration) { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.Builder arbitrary() { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageName.arbitrary().build(), org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.arbitrary().build()); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageName.arbitrary().build(), org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea.arbitrary().build(), org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.arbitrary().build()); } - public record Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageName packageName, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeDeclaration typeDeclaration) { + public record Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageName packageName, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea customAreaImports, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeDeclaration typeDeclaration) { public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit build() { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit(packageName, typeDeclaration); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit(packageName, customAreaImports, typeDeclaration); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.Builder withPackageName(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageName packageName) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.Builder(packageName, typeDeclaration); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.Builder(packageName, customAreaImports, typeDeclaration); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.Builder withPackageName(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageName.Builder packageName) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.Builder(packageName.build(), typeDeclaration); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.Builder(packageName.build(), customAreaImports, typeDeclaration); + } + + public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.Builder withCustomAreaImports(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea customAreaImports) { + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.Builder(packageName, customAreaImports, typeDeclaration); + } + + public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.Builder withCustomAreaImports(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea.Builder customAreaImports) { + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.Builder(packageName, customAreaImports.build(), typeDeclaration); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.Builder withTypeDeclaration(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeDeclaration typeDeclaration) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.Builder(packageName, typeDeclaration); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.Builder(packageName, customAreaImports, typeDeclaration); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.Builder withTypeDeclaration(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeDeclaration.Builder typeDeclaration) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.Builder(packageName, typeDeclaration.build()); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.Builder(packageName, customAreaImports, typeDeclaration.build()); } // Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.Builder body diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaConstructorDeclaration.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaConstructorDeclaration.java index 5f474b6..772157c 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaConstructorDeclaration.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaConstructorDeclaration.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaConstructorDeclaration imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaConstructorDeclaration imports + public record JavaConstructorDeclaration(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier typeName, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaVisibility visibility, java.util.List params, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlock body) implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaConstructorDeclaration.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaConstructorDeclaration.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier.arbitrary().build(), org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaVisibility.PUBLIC, java.util.List.of(), org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlock.arbitrary().build()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaCustomArea.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaCustomArea.java index 4d86c4e..700e7ef 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaCustomArea.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaCustomArea.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea imports + public record JavaCustomArea(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef type, String name) { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.HobgoblinNativeAst.arbitraryJavaTypeRef(), ""); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaEnumConstant.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaEnumConstant.java index 1a6bb83..8a03229 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaEnumConstant.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaEnumConstant.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumConstant imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumConstant imports + public record JavaEnumConstant(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier name) { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumConstant.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumConstant.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier.arbitrary().build()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaEnumDeclaration.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaEnumDeclaration.java index 58d98ca..d626b12 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaEnumDeclaration.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaEnumDeclaration.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration imports + public record JavaEnumDeclaration(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier name, java.util.List constants, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea customArea, org.zwobble.hobgoblin.compiler.ast.DocComment docComment) implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeDeclaration { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier.arbitrary().build(), java.util.List.of(), org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea.arbitrary().build(), org.zwobble.hobgoblin.compiler.ast.HobgoblinNativeAst.arbitraryDocComment()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaExpression.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaExpression.java index dae488d..5e819d7 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaExpression.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaExpression.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression imports + public sealed interface JavaExpression permits org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaAssignment, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldAccess, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIntegerLiteral, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodCall, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodRef, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNewExpression, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNullLiteral, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRef, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticFieldAccess, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticMethodCall, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStringLiteral { public interface Builder { public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression build(); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaExpressionStatement.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaExpressionStatement.java index 7ae1cd4..690a2d9 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaExpressionStatement.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaExpressionStatement.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpressionStatement imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpressionStatement imports + public record JavaExpressionStatement(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression expression) implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlockStatement { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpressionStatement.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpressionStatement.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIntegerLiteral.arbitrary().build()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaFieldAccess.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaFieldAccess.java index 6ad4e18..bc87152 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaFieldAccess.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaFieldAccess.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldAccess imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldAccess imports + public record JavaFieldAccess(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression receiver, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier fieldName) implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldAccess.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldAccess.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIntegerLiteral.arbitrary().build(), org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier.arbitrary().build()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaFieldDeclaration.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaFieldDeclaration.java index b87df63..f4c05a7 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaFieldDeclaration.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaFieldDeclaration.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldDeclaration imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldDeclaration imports + public record JavaFieldDeclaration(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaVisibility visibility, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef type, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier name) implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldDeclaration.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldDeclaration.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaVisibility.PUBLIC, org.zwobble.hobgoblin.compiler.output.lang.java.ast.HobgoblinNativeAst.arbitraryJavaTypeRef(), org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier.arbitrary().build()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaIdentifier.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaIdentifier.java index b7364f3..10732ea 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaIdentifier.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaIdentifier.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier imports + public record JavaIdentifier(String value) { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier.Builder(""); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaIntegerLiteral.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaIntegerLiteral.java index 575d8eb..9b7cfad 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaIntegerLiteral.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaIntegerLiteral.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIntegerLiteral imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIntegerLiteral imports + public record JavaIntegerLiteral(long value) implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIntegerLiteral.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIntegerLiteral.Builder(0); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaInterfaceDeclaration.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaInterfaceDeclaration.java index aefc444..aeec3a5 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaInterfaceDeclaration.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaInterfaceDeclaration.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration imports + public record JavaInterfaceDeclaration(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier name, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceOpenness openness, java.util.List permitsTypes, java.util.List body, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea customArea, org.zwobble.hobgoblin.compiler.ast.DocComment docComment) implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeDeclaration, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier.arbitrary().build(), org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceOpenness.OPEN, java.util.List.of(), java.util.List.of(), org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea.arbitrary().build(), org.zwobble.hobgoblin.compiler.ast.HobgoblinNativeAst.arbitraryDocComment()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaInterfaceOpenness.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaInterfaceOpenness.java index d84bf69..730c48f 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaInterfaceOpenness.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaInterfaceOpenness.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceOpenness imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceOpenness imports + public enum JavaInterfaceOpenness { OPEN, SEALED diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodCall.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodCall.java index 4eb5443..aee95c8 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodCall.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodCall.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodCall imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodCall imports + public record JavaMethodCall(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression receiver, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier methodName, java.util.List args) implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodCall.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodCall.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIntegerLiteral.arbitrary().build(), org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier.arbitrary().build(), java.util.List.of()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodDeclaration.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodDeclaration.java index d4aa351..248d19f 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodDeclaration.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodDeclaration.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodDeclaration imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodDeclaration imports + public record JavaMethodDeclaration(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier name, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaVisibility visibility, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodKind kind, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef returnType, java.util.List params, java.util.Optional body) implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodDeclaration.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodDeclaration.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier.arbitrary().build(), org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaVisibility.PUBLIC, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodKind.STATIC, org.zwobble.hobgoblin.compiler.output.lang.java.ast.HobgoblinNativeAst.arbitraryJavaTypeRef(), java.util.List.of(), java.util.Optional.empty()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodKind.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodKind.java index 200947e..c7f8ca6 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodKind.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodKind.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodKind imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodKind imports + public enum JavaMethodKind { STATIC, INSTANCE diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodRef.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodRef.java index fb58886..d89863a 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodRef.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodRef.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodRef imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodRef imports + public record JavaMethodRef(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef type, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier methodName) implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodRef.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodRef.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.HobgoblinNativeAst.arbitraryJavaTypeRef(), org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier.arbitrary().build()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaNewExpression.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaNewExpression.java index 90d271b..e5f174f 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaNewExpression.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaNewExpression.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNewExpression imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNewExpression imports + public record JavaNewExpression(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef type, java.util.List args) implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNewExpression.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNewExpression.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.HobgoblinNativeAst.arbitraryJavaTypeRef(), java.util.List.of()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaNullLiteral.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaNullLiteral.java index e0f11fd..7a50607 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaNullLiteral.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaNullLiteral.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNullLiteral imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNullLiteral imports + public record JavaNullLiteral() implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNullLiteral.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNullLiteral.Builder(); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaPackageName.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaPackageName.java index 00a3101..59983e2 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaPackageName.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaPackageName.java @@ -2,8 +2,10 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageName imports import java.util.Arrays; import java.util.List; +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageName imports public record JavaPackageName(java.util.List parts) { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageName.Builder arbitrary() { diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaParam.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaParam.java index e7805f4..3f2149a 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaParam.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaParam.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaParam imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaParam imports + public record JavaParam(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef type, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier name) { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaParam.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaParam.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.HobgoblinNativeAst.arbitraryJavaTypeRef(), org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier.arbitrary().build()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRecordComponent.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRecordComponent.java index 4de5399..461eac5 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRecordComponent.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRecordComponent.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordComponent imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordComponent imports + public record JavaRecordComponent(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef type, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier name) { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordComponent.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordComponent.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.HobgoblinNativeAst.arbitraryJavaTypeRef(), org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier.arbitrary().build()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRecordDeclaration.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRecordDeclaration.java index b7eb1f7..07734c8 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRecordDeclaration.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRecordDeclaration.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration imports + public record JavaRecordDeclaration(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier name, java.util.List components, java.util.List implementsTypes, java.util.List body, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea customArea, org.zwobble.hobgoblin.compiler.ast.DocComment docComment) implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeDeclaration, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier.arbitrary().build(), java.util.List.of(), java.util.List.of(), java.util.List.of(), org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea.arbitrary().build(), org.zwobble.hobgoblin.compiler.ast.HobgoblinNativeAst.arbitraryDocComment()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRef.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRef.java index f230e50..111e8cf 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRef.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRef.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRef imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRef imports + public record JavaRef(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier name) implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRef.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRef.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier.arbitrary().build()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaReturn.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaReturn.java index 7c5691c..35bc894 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaReturn.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaReturn.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaReturn imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaReturn imports + public record JavaReturn(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression value) implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlockStatement { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaReturn.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaReturn.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIntegerLiteral.arbitrary().build()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStaticFieldAccess.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStaticFieldAccess.java index 799e0d1..9bea6cc 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStaticFieldAccess.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStaticFieldAccess.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticFieldAccess imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticFieldAccess imports + public record JavaStaticFieldAccess(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef type, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier fieldName) implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticFieldAccess.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticFieldAccess.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.HobgoblinNativeAst.arbitraryJavaTypeRef(), org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier.arbitrary().build()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStaticMethodCall.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStaticMethodCall.java index 5abf733..f8ae452 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStaticMethodCall.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStaticMethodCall.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticMethodCall imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticMethodCall imports + public record JavaStaticMethodCall(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef type, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier methodName, java.util.List args) implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticMethodCall.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticMethodCall.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.HobgoblinNativeAst.arbitraryJavaTypeRef(), org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier.arbitrary().build(), java.util.List.of()); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStringLiteral.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStringLiteral.java index b97df72..3b52d56 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStringLiteral.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStringLiteral.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStringLiteral imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStringLiteral imports + public record JavaStringLiteral(String value) implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStringLiteral.Builder arbitrary() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStringLiteral.Builder(""); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaTypeDeclaration.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaTypeDeclaration.java index 67628bb..e4e7b01 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaTypeDeclaration.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaTypeDeclaration.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeDeclaration imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeDeclaration imports + public sealed interface JavaTypeDeclaration permits org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration { public interface Builder { public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeDeclaration build(); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaVisibility.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaVisibility.java index 984d365..75872ae 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaVisibility.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaVisibility.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaVisibility imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaVisibility imports + public enum JavaVisibility { PUBLIC, PRIVATE diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedConstructedTypeNodeMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedConstructedTypeNodeMatcher.java index 10dba87..1d25ca3 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedConstructedTypeNodeMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedConstructedTypeNodeMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedConstructedTypeNodeMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedConstructedTypeNodeMatcher imports + public class UntypedConstructedTypeNodeMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedConstructedTypeNodeMatcher isUntypedConstructedTypeNode() { return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedConstructedTypeNodeMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedEnumDefinitionNodeMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedEnumDefinitionNodeMatcher.java index 414c059..26b66a8 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedEnumDefinitionNodeMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedEnumDefinitionNodeMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumDefinitionNodeMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumDefinitionNodeMatcher imports + public class UntypedEnumDefinitionNodeMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumDefinitionNodeMatcher isUntypedEnumDefinitionNode() { return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumDefinitionNodeMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedEnumVariantDefinitionNodeMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedEnumVariantDefinitionNodeMatcher.java index 4bc5a03..3641b75 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedEnumVariantDefinitionNodeMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedEnumVariantDefinitionNodeMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumVariantDefinitionNodeMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumVariantDefinitionNodeMatcher imports + public class UntypedEnumVariantDefinitionNodeMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumVariantDefinitionNodeMatcher isUntypedEnumVariantDefinitionNode() { return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumVariantDefinitionNodeMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedImportNodeMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedImportNodeMatcher.java index 33aaccc..bb1d033 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedImportNodeMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedImportNodeMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNodeMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNodeMatcher imports + public class UntypedImportNodeMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNodeMatcher isUntypedImportNode() { return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNodeMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedNamespaceNodeMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedNamespaceNodeMatcher.java index f511b45..2332b19 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedNamespaceNodeMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedNamespaceNodeMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNodeMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNodeMatcher imports + public class UntypedNamespaceNodeMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNodeMatcher isUntypedNamespaceNode() { return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNodeMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedNativeTypeDefinitionNodeMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedNativeTypeDefinitionNodeMatcher.java index d2c185b..d8cc00a 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedNativeTypeDefinitionNodeMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedNativeTypeDefinitionNodeMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNativeTypeDefinitionNodeMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNativeTypeDefinitionNodeMatcher imports + public class UntypedNativeTypeDefinitionNodeMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNativeTypeDefinitionNodeMatcher isUntypedNativeTypeDefinitionNode() { return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNativeTypeDefinitionNodeMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedStructDefinitionNodeMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedStructDefinitionNodeMatcher.java index 7ed5390..cdfa1c8 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedStructDefinitionNodeMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedStructDefinitionNodeMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructDefinitionNodeMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructDefinitionNodeMatcher imports + public class UntypedStructDefinitionNodeMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructDefinitionNodeMatcher isUntypedStructDefinitionNode() { return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructDefinitionNodeMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedStructFieldDefinitionNodeMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedStructFieldDefinitionNodeMatcher.java index ec2c417..88d7504 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedStructFieldDefinitionNodeMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedStructFieldDefinitionNodeMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructFieldDefinitionNodeMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructFieldDefinitionNodeMatcher imports + public class UntypedStructFieldDefinitionNodeMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructFieldDefinitionNodeMatcher isUntypedStructFieldDefinitionNode() { return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructFieldDefinitionNodeMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumDefinitionNodeMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumDefinitionNodeMatcher.java index ba98a0d..2d2a9e7 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumDefinitionNodeMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumDefinitionNodeMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNodeMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNodeMatcher imports + public class UntypedSumDefinitionNodeMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNodeMatcher isUntypedSumDefinitionNode() { return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNodeMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumVariantDefinitionNodeMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumVariantDefinitionNodeMatcher.java index cf8d16d..8f2a599 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumVariantDefinitionNodeMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumVariantDefinitionNodeMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumVariantDefinitionNodeMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumVariantDefinitionNodeMatcher imports + public class UntypedSumVariantDefinitionNodeMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumVariantDefinitionNodeMatcher isUntypedSumVariantDefinitionNode() { return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumVariantDefinitionNodeMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedTypeLevelReferenceNodeMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedTypeLevelReferenceNodeMatcher.java index f24b92a..bc37239 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedTypeLevelReferenceNodeMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedTypeLevelReferenceNodeMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; +// Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelReferenceNodeMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelReferenceNodeMatcher imports + public class UntypedTypeLevelReferenceNodeMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelReferenceNodeMatcher isUntypedTypeLevelReferenceNode() { return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelReferenceNodeMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java index b16494f..909300e 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/JavaWriterTests.java @@ -20,6 +20,7 @@ public class JavaWriterTests { public void compilationUnit() throws IOException { var java = new JavaCompilationUnit( JavaPackageName.of("com", "example", "shapes"), + new JavaCustomArea(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Rectangle")), "imports"), new JavaClassDeclaration( JavaIdentifier.of("Rectangle"), List.of(), @@ -36,6 +37,9 @@ public class JavaWriterTests { package com.example.shapes; + // Custom area start: Rectangle imports + // Custom area end: Rectangle imports + public class Rectangle { // Custom area start: Rectangle body // Custom area end: Rectangle body diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaAssignmentMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaAssignmentMatcher.java index 35de602..cd69ad6 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaAssignmentMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaAssignmentMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaAssignmentMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaAssignmentMatcher imports + public class JavaAssignmentMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaAssignmentMatcher isJavaAssignment() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaAssignmentMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaBlockMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaBlockMatcher.java index baf0c20..5cc8ca0 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaBlockMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaBlockMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlockMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlockMatcher imports + public class JavaBlockMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlockMatcher isJavaBlock() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlockMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaClassDeclarationMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaClassDeclarationMatcher.java index 713f07f..b9746c4 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaClassDeclarationMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaClassDeclarationMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclarationMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclarationMatcher imports + public class JavaClassDeclarationMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclarationMatcher isJavaClassDeclaration() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclarationMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaCompilationUnitMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaCompilationUnitMatcher.java index f2d516e..f9bded8 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaCompilationUnitMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaCompilationUnitMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnitMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnitMatcher imports + public class JavaCompilationUnitMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnitMatcher isJavaCompilationUnit() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnitMatcher(java.util.List.of()); @@ -29,6 +32,10 @@ public class JavaCompilationUnitMatcher implements org.zwobble.precisely.Matcher return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnitMatcher(java.util.stream.Stream.concat(this.submatchers.stream(), java.util.stream.Stream.of(org.zwobble.precisely.Matchers.has("packageName", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit::packageName, packageName))).toList()); } + public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnitMatcher withCustomAreaImports(org.zwobble.precisely.Matcher customAreaImports) { + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnitMatcher(java.util.stream.Stream.concat(this.submatchers.stream(), java.util.stream.Stream.of(org.zwobble.precisely.Matchers.has("customAreaImports", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit::customAreaImports, customAreaImports))).toList()); + } + public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnitMatcher withTypeDeclaration(org.zwobble.precisely.Matcher typeDeclaration) { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnitMatcher(java.util.stream.Stream.concat(this.submatchers.stream(), java.util.stream.Stream.of(org.zwobble.precisely.Matchers.has("typeDeclaration", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit::typeDeclaration, typeDeclaration))).toList()); } diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaConstructorDeclarationMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaConstructorDeclarationMatcher.java index 46bfd01..41bcb3a 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaConstructorDeclarationMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaConstructorDeclarationMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaConstructorDeclarationMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaConstructorDeclarationMatcher imports + public class JavaConstructorDeclarationMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaConstructorDeclarationMatcher isJavaConstructorDeclaration() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaConstructorDeclarationMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaCustomAreaMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaCustomAreaMatcher.java index 4b2d5a5..9272344 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaCustomAreaMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaCustomAreaMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomAreaMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomAreaMatcher imports + public class JavaCustomAreaMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomAreaMatcher isJavaCustomArea() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomAreaMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaEnumConstantMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaEnumConstantMatcher.java index eee55dd..4f5a116 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaEnumConstantMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaEnumConstantMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumConstantMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumConstantMatcher imports + public class JavaEnumConstantMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumConstantMatcher isJavaEnumConstant() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumConstantMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaEnumDeclarationMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaEnumDeclarationMatcher.java index 3dd438a..98d63ab 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaEnumDeclarationMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaEnumDeclarationMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclarationMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclarationMatcher imports + public class JavaEnumDeclarationMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclarationMatcher isJavaEnumDeclaration() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclarationMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaExpressionStatementMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaExpressionStatementMatcher.java index 1b1b97f..92ae3f7 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaExpressionStatementMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaExpressionStatementMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpressionStatementMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpressionStatementMatcher imports + public class JavaExpressionStatementMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpressionStatementMatcher isJavaExpressionStatement() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpressionStatementMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaFieldAccessMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaFieldAccessMatcher.java index 28cdb24..0ce4cd6 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaFieldAccessMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaFieldAccessMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldAccessMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldAccessMatcher imports + public class JavaFieldAccessMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldAccessMatcher isJavaFieldAccess() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldAccessMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaFieldDeclarationMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaFieldDeclarationMatcher.java index ca79fc3..6acc5ee 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaFieldDeclarationMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaFieldDeclarationMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldDeclarationMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldDeclarationMatcher imports + public class JavaFieldDeclarationMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldDeclarationMatcher isJavaFieldDeclaration() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaFieldDeclarationMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaIdentifierMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaIdentifierMatcher.java index 19434cd..3d6256a 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaIdentifierMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaIdentifierMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifierMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifierMatcher imports + public class JavaIdentifierMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifierMatcher isJavaIdentifier() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifierMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaIntegerLiteralMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaIntegerLiteralMatcher.java index 8136524..2c07afe 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaIntegerLiteralMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaIntegerLiteralMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIntegerLiteralMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIntegerLiteralMatcher imports + public class JavaIntegerLiteralMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIntegerLiteralMatcher isJavaIntegerLiteral() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIntegerLiteralMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaInterfaceDeclarationMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaInterfaceDeclarationMatcher.java index 963a32d..9196511 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaInterfaceDeclarationMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaInterfaceDeclarationMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclarationMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclarationMatcher imports + public class JavaInterfaceDeclarationMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclarationMatcher isJavaInterfaceDeclaration() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclarationMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodCallMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodCallMatcher.java index 5fd64e0..fa2f5ae 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodCallMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodCallMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodCallMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodCallMatcher imports + public class JavaMethodCallMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodCallMatcher isJavaMethodCall() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodCallMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodDeclarationMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodDeclarationMatcher.java index 5d22326..62d12fb 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodDeclarationMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodDeclarationMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodDeclarationMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodDeclarationMatcher imports + public class JavaMethodDeclarationMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodDeclarationMatcher isJavaMethodDeclaration() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodDeclarationMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodRefMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodRefMatcher.java index 5a3fa79..0ee739b 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodRefMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodRefMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodRefMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodRefMatcher imports + public class JavaMethodRefMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodRefMatcher isJavaMethodRef() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodRefMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaNewExpressionMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaNewExpressionMatcher.java index 1feefe5..8168730 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaNewExpressionMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaNewExpressionMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNewExpressionMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNewExpressionMatcher imports + public class JavaNewExpressionMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNewExpressionMatcher isJavaNewExpression() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNewExpressionMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaNullLiteralMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaNullLiteralMatcher.java index 033f432..f290f6a 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaNullLiteralMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaNullLiteralMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNullLiteralMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNullLiteralMatcher imports + public class JavaNullLiteralMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNullLiteralMatcher isJavaNullLiteral() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNullLiteralMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaPackageNameMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaPackageNameMatcher.java index aa6eda6..7dde96b 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaPackageNameMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaPackageNameMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageNameMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageNameMatcher imports + public class JavaPackageNameMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageNameMatcher isJavaPackageName() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageNameMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaParamMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaParamMatcher.java index 67d2848..8ee44e4 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaParamMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaParamMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaParamMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaParamMatcher imports + public class JavaParamMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaParamMatcher isJavaParam() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaParamMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRecordComponentMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRecordComponentMatcher.java index 376ba94..3cc3347 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRecordComponentMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRecordComponentMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordComponentMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordComponentMatcher imports + public class JavaRecordComponentMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordComponentMatcher isJavaRecordComponent() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordComponentMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRecordDeclarationMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRecordDeclarationMatcher.java index a19a6cf..61f6df5 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRecordDeclarationMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRecordDeclarationMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclarationMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclarationMatcher imports + public class JavaRecordDeclarationMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclarationMatcher isJavaRecordDeclaration() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclarationMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRefMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRefMatcher.java index 4e5a514..d855d8b 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRefMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRefMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRefMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRefMatcher imports + public class JavaRefMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRefMatcher isJavaRef() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRefMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaReturnMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaReturnMatcher.java index 2614074..8d1b0a2 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaReturnMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaReturnMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaReturnMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaReturnMatcher imports + public class JavaReturnMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaReturnMatcher isJavaReturn() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaReturnMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStaticFieldAccessMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStaticFieldAccessMatcher.java index 9cd874d..aa99011 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStaticFieldAccessMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStaticFieldAccessMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticFieldAccessMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticFieldAccessMatcher imports + public class JavaStaticFieldAccessMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticFieldAccessMatcher isJavaStaticFieldAccess() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticFieldAccessMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStaticMethodCallMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStaticMethodCallMatcher.java index 7f23124..2e07449 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStaticMethodCallMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStaticMethodCallMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticMethodCallMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticMethodCallMatcher imports + public class JavaStaticMethodCallMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticMethodCallMatcher isJavaStaticMethodCall() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticMethodCallMatcher(java.util.List.of()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStringLiteralMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStringLiteralMatcher.java index 2656b17..54d2e19 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStringLiteralMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStringLiteralMatcher.java @@ -2,6 +2,9 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; +// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStringLiteralMatcher imports +// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStringLiteralMatcher imports + public class JavaStringLiteralMatcher implements org.zwobble.precisely.Matcher { public static org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStringLiteralMatcher isJavaStringLiteral() { return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStringLiteralMatcher(java.util.List.of()); -- cgit v1.2.3