From 2536899969733a81a0001eb2da0d1d478c092e4b Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 7 Jul 2026 19:16:51 +0100 Subject: Don't store custom areas directly in AST --- .../JavaPreciselyMatchersGenerator.java | 5 +- .../javatransient0/JavaTransient0Generator.java | 10 +--- .../generators/javatypes/JavaTypesGenerator.java | 23 ++----- .../output/lang/java/ast/JavaClassDeclaration.java | 36 ++++------- .../output/lang/java/ast/JavaCompilationUnit.java | 35 ++++------- .../output/lang/java/ast/JavaEnumDeclaration.java | 32 ++++------ .../lang/java/ast/JavaInterfaceDeclaration.java | 38 ++++-------- .../lang/java/ast/JavaRecordDeclaration.java | 42 +++++-------- .../output/lang/java/ast/JavaTypeDeclaration.java | 11 +++- .../compiler/output/lang/java/JavaWriterTests.java | 70 ++++++++-------------- .../lang/java/ast/JavaClassDeclarationMatcher.java | 10 +--- .../lang/java/ast/JavaCompilationUnitMatcher.java | 12 ---- .../lang/java/ast/JavaEnumDeclarationMatcher.java | 10 +--- .../java/ast/JavaInterfaceDeclarationMatcher.java | 10 +--- .../java/ast/JavaRecordDeclarationMatcher.java | 10 +--- 15 files changed, 111 insertions(+), 243 deletions(-) (limited to 'src') 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 6c12f22..f6da3c1 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 @@ -73,8 +73,6 @@ public class JavaPreciselyMatchersGenerator implements Generator { case TypedStructDefinitionNode structDefinition -> { var javaCompilationUnit = new JavaCompilationUnit( - packageParts, - new JavaCustomArea(structMatcherRef(structDefinition.type()), "imports"), generateStructDefinition(structDefinition, context) ); @@ -242,10 +240,9 @@ public class JavaPreciselyMatchersGenerator implements Generator { } return new JavaClassDeclaration( - matcherTypeName, + javaMatcherTypeRef, List.of(genericMatcherRef(JavaTypeArg.invariant(JavaTypeRef.OBJECT))), methods, - JavaCustomArea.forType(javaMatcherTypeRef, "body"), DocComment.EMPTY ); } diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java index e61146a..572ab29 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java @@ -79,10 +79,8 @@ public class JavaTransient0Generator implements Generator { JavaGenerator.write(this.sourceRootDirectory, List.of( new JavaCompilationUnit( - packageName, - new JavaCustomArea(transient0JavaTypeRef, "imports"), new JavaClassDeclaration( - transient0JavaName, + transient0JavaTypeRef, List.of(), List.of( generateEncodeBoolMethod(), @@ -94,7 +92,6 @@ public class JavaTransient0Generator implements Generator { generateEncodeStringMethod(), generateDecodeStringMethod() ), - new JavaCustomArea(transient0JavaTypeRef, "body"), DocComment.EMPTY ) ) @@ -290,15 +287,12 @@ public class JavaTransient0Generator implements Generator { return List.of( new JavaCompilationUnit( - packageName, - new JavaCustomArea(transient0JavaTypeRef, "imports"), new JavaClassDeclaration( - transient0JavaName, + transient0JavaTypeRef, List.of(), namespace.body().stream() .flatMap(statement -> generateNamespaceStatement(statement, context)) .toList(), - new JavaCustomArea(transient0JavaTypeRef, "body"), DocComment.EMPTY ) ) 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 821389f..b445747 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 @@ -69,16 +69,12 @@ public class JavaTypesGenerator implements Generator { } private List generateNamespace(TypedNamespaceNode namespace, Context context) { - var packageParts = namespaceToJavaPackageName(namespace.namespaceName()); - var javaCompilationUnits = new ArrayList(); for (var statement : namespace.body()) { switch (statement) { case TypedEnumDefinitionNode enumDefinition -> { var javaCompilationUnit = new JavaCompilationUnit( - packageParts, - new JavaCustomArea(generateTypeRef(enumDefinition.type(), context), "imports"), generateEnumDefinition(enumDefinition, context) ); @@ -90,8 +86,6 @@ public class JavaTypesGenerator implements Generator { case TypedStructDefinitionNode structDefinition -> { var javaCompilationUnit = new JavaCompilationUnit( - packageParts, - new JavaCustomArea(generateTypeRef(structDefinition.type(), context), "imports"), generateStructDefinition(structDefinition, context) ); @@ -100,8 +94,6 @@ public class JavaTypesGenerator implements Generator { case TypedSumDefinitionNode sumDefinition -> { var javaCompilationUnit = new JavaCompilationUnit( - packageParts, - new JavaCustomArea(generateTypeRef(sumDefinition.type(), context), "imports"), generateSumDefinition(sumDefinition, context) ); @@ -118,11 +110,10 @@ public class JavaTypesGenerator implements Generator { Context context ) { return new JavaEnumDeclaration( - generateTypeName(enumDefinition.name()), + generateTypeRef(enumDefinition.type(), context), enumDefinition.variants().stream() .map(variant -> new JavaEnumConstant(generateEnumConstantName(variant.name()))) .toList(), - JavaCustomArea.forType(generateTypeRef(enumDefinition.type(), context), "body"), enumDefinition.docComment() ); } @@ -149,7 +140,7 @@ public class JavaTypesGenerator implements Generator { .toList(); return new JavaRecordDeclaration( - generateTypeName(structDefinition.name()), + generateTypeRef(structDefinition.type(), context), components, implementsTypes, List.of( @@ -169,7 +160,6 @@ public class JavaTypesGenerator implements Generator { ), generateStructDefinitionBuilder(structDefinition, components, context) ), - JavaCustomArea.forType(generateTypeRef(structDefinition.type(), context), "body"), structDefinition.docComment() ); } @@ -206,11 +196,10 @@ public class JavaTypesGenerator implements Generator { } return new JavaRecordDeclaration( - BUILDER_TYPE_NAME, + builderJavaTypeRef, components, implementsTypes, body, - JavaCustomArea.forType(builderJavaTypeRef, "body"), DocComment.EMPTY ); } @@ -438,13 +427,12 @@ public class JavaTypesGenerator implements Generator { } return new JavaInterfaceDeclaration( - generateTypeName(sumDefinition.name()), + generateTypeRef(sumDefinition.type(), context), JavaInterfaceOpenness.SEALED, sumDefinition.variants().stream() .map(variant -> generateTypeRef(variant.type(), context)) .toList(), body, - JavaCustomArea.forType(generateTypeRef(sumDefinition.type(), context), "body"), sumDefinition.docComment() ); } @@ -454,7 +442,7 @@ public class JavaTypesGenerator implements Generator { Context context ) { return new JavaInterfaceDeclaration( - BUILDER_TYPE_NAME, + generateBuilderTypeRef(sumDefinition.type()), JavaInterfaceOpenness.OPEN, List.of(), List.of( @@ -468,7 +456,6 @@ public class JavaTypesGenerator implements Generator { Optional.empty() ) ), - JavaCustomArea.forType(generateBuilderTypeRef(sumDefinition.type()), "body"), DocComment.EMPTY ); } 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 e12a0cc..8f26f7a 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 @@ -5,60 +5,48 @@ 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 record JavaClassDeclaration(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef type, java.util.List implementsTypes, java.util.List body, 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()); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.HobgoblinNativeAst.arbitraryJavaTypeRef(), java.util.List.of(), java.util.List.of(), org.zwobble.hobgoblin.compiler.ast.HobgoblinNativeAst.arbitraryDocComment()); } - public record Builder(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.Builder, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration.Builder { + public record Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef type, java.util.List implementsTypes, java.util.List body, org.zwobble.hobgoblin.compiler.ast.DocComment docComment) implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeDeclaration.Builder, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration.Builder { public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration build() { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration(name, implementsTypes, body, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration(type, implementsTypes, body, docComment); } - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder withName(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier name) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder(name, implementsTypes, body, customArea, docComment); - } - - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder withName(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier.Builder name) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder(name.build(), implementsTypes, body, customArea, docComment); + public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder withType(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef type) { + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder(type, implementsTypes, body, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder withImplementsTypes(java.util.List implementsTypes) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder(name, implementsTypes, body, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder(type, implementsTypes, body, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder addImplementsType(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef implementsType) { var implementsTypes = new java.util.ArrayList(this.implementsTypes); implementsTypes.add(implementsType); - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder(name, implementsTypes, body, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder(type, implementsTypes, body, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder withBody(java.util.List body) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder(name, implementsTypes, body, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder(type, implementsTypes, body, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder addBodyElement(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration bodyElement) { var body = new java.util.ArrayList(this.body); body.add(bodyElement); - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder(name, implementsTypes, body, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder(type, implementsTypes, body, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder addBodyElement(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration.Builder bodyElement) { var body = new java.util.ArrayList(this.body); body.add(bodyElement.build()); - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder(name, implementsTypes, body, customArea, docComment); - } - - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder withCustomArea(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea customArea) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder(name, implementsTypes, body, customArea, docComment); - } - - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder withCustomArea(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea.Builder customArea) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder(name, implementsTypes, body, customArea.build(), docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder(type, implementsTypes, body, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder withDocComment(org.zwobble.hobgoblin.compiler.ast.DocComment docComment) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder(name, implementsTypes, body, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder(type, implementsTypes, body, docComment); } // Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.Builder body 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 d196003..927c54e 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 @@ -5,38 +5,22 @@ package org.zwobble.hobgoblin.compiler.output.lang.java.ast; // 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 record JavaCompilationUnit(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.JavaCustomArea.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.JavaClassDeclaration.arbitrary().build()); } - 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 record Builder(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, 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, 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(), 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); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit(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, customAreaImports, typeDeclaration); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.Builder(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, customAreaImports, typeDeclaration.build()); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.Builder(typeDeclaration.build()); } // Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.Builder body @@ -44,5 +28,12 @@ public record JavaCompilationUnit(org.zwobble.hobgoblin.compiler.output.lang.jav } // Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit body + public JavaPackageName packageName() { + return this.typeDeclaration.type().packageName(); + } + + public JavaCustomArea customAreaImports() { + return new JavaCustomArea(this.typeDeclaration.type(), "imports"); + } // Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit body } 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 5668bbd..d95d0b9 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 @@ -5,50 +5,38 @@ 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 record JavaEnumDeclaration(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef type, java.util.List constants, 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()); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.HobgoblinNativeAst.arbitraryJavaTypeRef(), java.util.List.of(), org.zwobble.hobgoblin.compiler.ast.HobgoblinNativeAst.arbitraryDocComment()); } - public record Builder(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.Builder { + public record Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef type, java.util.List constants, org.zwobble.hobgoblin.compiler.ast.DocComment docComment) implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeDeclaration.Builder { public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration build() { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration(name, constants, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration(type, constants, docComment); } - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder withName(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier name) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder(name, constants, customArea, docComment); - } - - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder withName(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier.Builder name) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder(name.build(), constants, customArea, docComment); + public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder withType(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef type) { + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder(type, constants, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder withConstants(java.util.List constants) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder(name, constants, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder(type, constants, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder addConstant(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumConstant constant) { var constants = new java.util.ArrayList(this.constants); constants.add(constant); - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder(name, constants, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder(type, constants, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder addConstant(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumConstant.Builder constant) { var constants = new java.util.ArrayList(this.constants); constants.add(constant.build()); - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder(name, constants, customArea, docComment); - } - - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder withCustomArea(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea customArea) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder(name, constants, customArea, docComment); - } - - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder withCustomArea(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea.Builder customArea) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder(name, constants, customArea.build(), docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder(type, constants, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder withDocComment(org.zwobble.hobgoblin.compiler.ast.DocComment docComment) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder(name, constants, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder(type, constants, docComment); } // Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.Builder body 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 a00a080..5b0089a 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 @@ -5,64 +5,52 @@ 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 record JavaInterfaceDeclaration(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef type, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceOpenness openness, java.util.List permitsTypes, java.util.List body, 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()); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.HobgoblinNativeAst.arbitraryJavaTypeRef(), org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceOpenness.OPEN, java.util.List.of(), java.util.List.of(), org.zwobble.hobgoblin.compiler.ast.HobgoblinNativeAst.arbitraryDocComment()); } - public record Builder(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.Builder, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration.Builder { + public record Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef type, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceOpenness openness, java.util.List permitsTypes, java.util.List body, org.zwobble.hobgoblin.compiler.ast.DocComment docComment) implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeDeclaration.Builder, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration.Builder { public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration build() { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration(name, openness, permitsTypes, body, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration(type, openness, permitsTypes, body, docComment); } - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder withName(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier name) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder(name, openness, permitsTypes, body, customArea, docComment); - } - - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder withName(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier.Builder name) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder(name.build(), openness, permitsTypes, body, customArea, docComment); + public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder withType(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef type) { + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder(type, openness, permitsTypes, body, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder withOpenness(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceOpenness openness) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder(name, openness, permitsTypes, body, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder(type, openness, permitsTypes, body, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder withPermitsTypes(java.util.List permitsTypes) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder(name, openness, permitsTypes, body, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder(type, openness, permitsTypes, body, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder addPermitsType(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef permitsType) { var permitsTypes = new java.util.ArrayList(this.permitsTypes); permitsTypes.add(permitsType); - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder(name, openness, permitsTypes, body, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder(type, openness, permitsTypes, body, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder withBody(java.util.List body) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder(name, openness, permitsTypes, body, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder(type, openness, permitsTypes, body, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder addBodyElement(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration bodyElement) { var body = new java.util.ArrayList(this.body); body.add(bodyElement); - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder(name, openness, permitsTypes, body, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder(type, openness, permitsTypes, body, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder addBodyElement(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration.Builder bodyElement) { var body = new java.util.ArrayList(this.body); body.add(bodyElement.build()); - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder(name, openness, permitsTypes, body, customArea, docComment); - } - - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder withCustomArea(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea customArea) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder(name, openness, permitsTypes, body, customArea, docComment); - } - - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder withCustomArea(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea.Builder customArea) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder(name, openness, permitsTypes, body, customArea.build(), docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder(type, openness, permitsTypes, body, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder withDocComment(org.zwobble.hobgoblin.compiler.ast.DocComment docComment) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder(name, openness, permitsTypes, body, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder(type, openness, permitsTypes, body, docComment); } // Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.Builder body 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 d4bbc65..e62298d 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 @@ -5,76 +5,64 @@ 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 record JavaRecordDeclaration(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef type, java.util.List components, java.util.List implementsTypes, java.util.List body, 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()); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.HobgoblinNativeAst.arbitraryJavaTypeRef(), java.util.List.of(), java.util.List.of(), java.util.List.of(), org.zwobble.hobgoblin.compiler.ast.HobgoblinNativeAst.arbitraryDocComment()); } - public record Builder(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.Builder, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration.Builder { + public record Builder(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef type, java.util.List components, java.util.List implementsTypes, java.util.List body, org.zwobble.hobgoblin.compiler.ast.DocComment docComment) implements org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeDeclaration.Builder, org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration.Builder { public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration build() { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration(name, components, implementsTypes, body, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration(type, components, implementsTypes, body, docComment); } - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder withName(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier name) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(name, components, implementsTypes, body, customArea, docComment); - } - - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder withName(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier.Builder name) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(name.build(), components, implementsTypes, body, customArea, docComment); + public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder withType(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef type) { + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(type, components, implementsTypes, body, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder withComponents(java.util.List components) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(name, components, implementsTypes, body, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(type, components, implementsTypes, body, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder addComponent(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordComponent component) { var components = new java.util.ArrayList(this.components); components.add(component); - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(name, components, implementsTypes, body, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(type, components, implementsTypes, body, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder addComponent(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordComponent.Builder component) { var components = new java.util.ArrayList(this.components); components.add(component.build()); - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(name, components, implementsTypes, body, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(type, components, implementsTypes, body, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder withImplementsTypes(java.util.List implementsTypes) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(name, components, implementsTypes, body, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(type, components, implementsTypes, body, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder addImplementsType(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef implementsType) { var implementsTypes = new java.util.ArrayList(this.implementsTypes); implementsTypes.add(implementsType); - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(name, components, implementsTypes, body, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(type, components, implementsTypes, body, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder withBody(java.util.List body) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(name, components, implementsTypes, body, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(type, components, implementsTypes, body, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder addBodyElement(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration bodyElement) { var body = new java.util.ArrayList(this.body); body.add(bodyElement); - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(name, components, implementsTypes, body, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(type, components, implementsTypes, body, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder addBodyElement(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration.Builder bodyElement) { var body = new java.util.ArrayList(this.body); body.add(bodyElement.build()); - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(name, components, implementsTypes, body, customArea, docComment); - } - - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder withCustomArea(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea customArea) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(name, components, implementsTypes, body, customArea, docComment); - } - - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder withCustomArea(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea.Builder customArea) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(name, components, implementsTypes, body, customArea.build(), docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(type, components, implementsTypes, body, docComment); } public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder withDocComment(org.zwobble.hobgoblin.compiler.ast.DocComment docComment) { - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(name, components, implementsTypes, body, customArea, docComment); + return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder(type, components, implementsTypes, body, docComment); } // Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.Builder body 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 e4e7b01..3ac5a48 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 @@ -13,10 +13,15 @@ public sealed interface JavaTypeDeclaration permits org.zwobble.hobgoblin.compil // Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeDeclaration.Builder body } - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier name(); - - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCustomArea customArea(); + public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef type(); // Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeDeclaration body + default JavaIdentifier name() { + return this.type().typeNames().getLast(); + } + + default JavaCustomArea customArea() { + return new JavaCustomArea(this.type(), "body"); + } // Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeDeclaration body } 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 0b5f959..ecdcaff 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 @@ -17,13 +17,10 @@ public class JavaWriterTests { @Test 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"), + JavaTypeRef.topLevel(JavaPackageName.of("com", "example", "shapes"), JavaIdentifier.of("Rectangle")), List.of(), List.of(), - new JavaCustomArea(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Rectangle")), "body"), DocComment.EMPTY ) ); @@ -35,12 +32,12 @@ public class JavaWriterTests { package com.example.shapes; - // Custom area start: Rectangle imports - // Custom area end: Rectangle imports + // Custom area start: com.example.shapes.Rectangle imports + // Custom area end: com.example.shapes.Rectangle imports public class Rectangle { - // Custom area start: Rectangle body - // Custom area end: Rectangle body + // Custom area start: com.example.shapes.Rectangle body + // Custom area end: com.example.shapes.Rectangle body } """ )); @@ -49,10 +46,9 @@ public class JavaWriterTests { @Test public void emptyClassDeclaration() throws IOException { var java = new JavaClassDeclaration( - JavaIdentifier.of("Rectangle"), + JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Rectangle")), List.of(), List.of(), - new JavaCustomArea(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Rectangle")), "body"), DocComment.EMPTY ); @@ -69,7 +65,7 @@ public class JavaWriterTests { @Test public void classDeclarationImplementingSingleInterface() throws IOException { var java = new JavaClassDeclaration( - JavaIdentifier.of("Rectangle"), + JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Rectangle")), List.of( JavaTypeRef.topLevel( JavaPackageName.of("com", "example"), @@ -77,7 +73,6 @@ public class JavaWriterTests { ) ), List.of(), - new JavaCustomArea(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Rectangle")), "body"), DocComment.EMPTY ); @@ -94,13 +89,12 @@ public class JavaWriterTests { @Test public void classDeclarationImplementingMultipleInterfaces() throws IOException { var java = new JavaClassDeclaration( - JavaIdentifier.of("Rectangle"), + JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Rectangle")), List.of( JavaTypeRef.topLevel(JavaPackageName.of("com", "example"), JavaIdentifier.of("Shape")), JavaTypeRef.topLevel(JavaPackageName.of("com", "example"), JavaIdentifier.of("Drawable")) ), List.of(), - new JavaCustomArea(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Rectangle")), "body"), DocComment.EMPTY ); @@ -117,7 +111,7 @@ public class JavaWriterTests { @Test public void classDeclarationWithMethods() throws IOException { var java = new JavaClassDeclaration( - JavaIdentifier.of("Rectangle"), + JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Rectangle")), List.of(), List.of( JavaMethodDeclaration.arbitrary() @@ -135,7 +129,6 @@ public class JavaWriterTests { .withBody(JavaBlock.EMPTY) .build() ), - new JavaCustomArea(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Rectangle")), "body"), DocComment.EMPTY ); @@ -158,10 +151,9 @@ public class JavaWriterTests { @Test public void classDeclarationWithDocComment() throws IOException { var java = new JavaClassDeclaration( - JavaIdentifier.of("Point"), + JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Point")), List.of(), List.of(), - new JavaCustomArea(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Point")), "body"), new DocComment("A 2D point.") ); @@ -179,8 +171,7 @@ public class JavaWriterTests { @Test public void emptyEnumDeclaration() throws IOException { var java = JavaEnumDeclaration.arbitrary() - .withName(JavaIdentifier.of("SmallNumber")) - .withCustomArea(JavaCustomArea.forType(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("SmallNumber")), "body")) + .withType(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("SmallNumber"))) .build(); var string = write(writer -> writer.writeTypeDeclaration(java)); @@ -196,8 +187,7 @@ public class JavaWriterTests { @Test public void enumDeclarationWithConstants() throws IOException { var java = JavaEnumDeclaration.arbitrary() - .withName(JavaIdentifier.of("SmallNumber")) - .withCustomArea(JavaCustomArea.forType(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("SmallNumber")), "body")) + .withType(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("SmallNumber"))) .withConstants(List.of( JavaEnumConstant.arbitrary().withName(JavaIdentifier.of("ZERO")).build(), JavaEnumConstant.arbitrary().withName(JavaIdentifier.of("ONE")).build(), @@ -222,9 +212,8 @@ public class JavaWriterTests { @Test public void enumDeclarationWithDocComment() throws IOException { var java = JavaEnumDeclaration.arbitrary() - .withName(JavaIdentifier.of("SmallNumber")) + .withType(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("SmallNumber"))) .withDocComment(new DocComment("A small number.")) - .withCustomArea(JavaCustomArea.forType(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("SmallNumber")), "body")) .build(); var string = write(writer -> writer.writeTypeDeclaration(java)); @@ -241,11 +230,10 @@ public class JavaWriterTests { @Test public void openInterfaceDeclaration() throws IOException { var java = new JavaInterfaceDeclaration( - JavaIdentifier.of("Shape"), + JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Shape")), JavaInterfaceOpenness.OPEN, List.of(), List.of(), - new JavaCustomArea(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Shape")), "body"), DocComment.EMPTY ); @@ -262,11 +250,10 @@ public class JavaWriterTests { @Test public void sealedInterfaceDeclaration() throws IOException { var java = new JavaInterfaceDeclaration( - JavaIdentifier.of("Shape"), + JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Shape")), JavaInterfaceOpenness.SEALED, List.of(), List.of(), - new JavaCustomArea(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Shape")), "body"), DocComment.EMPTY ); @@ -283,14 +270,13 @@ public class JavaWriterTests { @Test public void sealedInterfaceDeclarationWithPermitsTypes() throws IOException { var java = new JavaInterfaceDeclaration( - JavaIdentifier.of("Shape"), + JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Shape")), JavaInterfaceOpenness.SEALED, List.of( JavaTypeRef.topLevel(JavaPackageName.of("abc", "def"), JavaIdentifier.of("One")), JavaTypeRef.topLevel(JavaPackageName.of("abc", "def"), JavaIdentifier.of("Two")) ), List.of(), - new JavaCustomArea(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Shape")), "body"), DocComment.EMPTY ); @@ -307,11 +293,10 @@ public class JavaWriterTests { @Test public void interfaceDeclarationWithDocComment() throws IOException { var java = new JavaInterfaceDeclaration( - JavaIdentifier.of("Shape"), + JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Shape")), JavaInterfaceOpenness.OPEN, List.of(), List.of(), - new JavaCustomArea(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Shape")), "body"), new DocComment("A 2D shape.") ); @@ -329,7 +314,7 @@ public class JavaWriterTests { @Test public void interfaceDeclarationWithBody() throws IOException { var java = new JavaInterfaceDeclaration( - JavaIdentifier.of("Shape"), + JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Shape")), JavaInterfaceOpenness.OPEN, List.of(), List.of( @@ -348,7 +333,6 @@ public class JavaWriterTests { .withBody(JavaBlock.EMPTY) .build() ), - new JavaCustomArea(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Shape")), "body"), DocComment.EMPTY ); @@ -371,11 +355,10 @@ public class JavaWriterTests { @Test public void emptyRecordDeclaration() throws IOException { var java = new JavaRecordDeclaration( - JavaIdentifier.of("Point"), + JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Point")), List.of(), List.of(), List.of(), - new JavaCustomArea(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Point")), "body"), DocComment.EMPTY ); @@ -392,11 +375,10 @@ public class JavaWriterTests { @Test public void recordDeclarationWithDocComment() throws IOException { var java = new JavaRecordDeclaration( - JavaIdentifier.of("Point"), + JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Point")), List.of(), List.of(), List.of(), - new JavaCustomArea(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Point")), "body"), new DocComment("A 2D point.") ); @@ -414,13 +396,12 @@ public class JavaWriterTests { @Test public void recordDeclarationImplementingOneInterface() throws IOException { var java = new JavaRecordDeclaration( - JavaIdentifier.of("Rectangle"), + JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Rectangle")), List.of(), List.of( JavaTypeRef.topLevel(JavaPackageName.of("com", "example"), JavaIdentifier.of("Shape")) ), List.of(), - new JavaCustomArea(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Rectangle")), "body"), DocComment.EMPTY ); @@ -437,14 +418,13 @@ public class JavaWriterTests { @Test public void recordDeclarationImplementingMultipleInterfaces() throws IOException { var java = new JavaRecordDeclaration( - JavaIdentifier.of("Rectangle"), + JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Rectangle")), List.of(), List.of( JavaTypeRef.topLevel(JavaPackageName.of("com", "example"), JavaIdentifier.of("Shape")), JavaTypeRef.topLevel(JavaPackageName.of("com", "example"), JavaIdentifier.of("Drawable")) ), List.of(), - new JavaCustomArea(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Rectangle")), "body"), DocComment.EMPTY ); @@ -461,7 +441,7 @@ public class JavaWriterTests { @Test public void recordDeclarationWithMethods() throws IOException { var java = new JavaRecordDeclaration( - JavaIdentifier.of("Rectangle"), + JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Rectangle")), List.of(), List.of(), List.of( @@ -480,7 +460,6 @@ public class JavaWriterTests { .withBody(JavaBlock.EMPTY) .build() ), - new JavaCustomArea(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Rectangle")), "body"), DocComment.EMPTY ); @@ -1152,11 +1131,10 @@ public class JavaWriterTests { @Test public void customAreaContentsArePreserved() throws IOException { var java = new JavaRecordDeclaration( - JavaIdentifier.of("Point"), + JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Point")), List.of(), List.of(), List.of(), - new JavaCustomArea(JavaTypeRef.topLevel(JavaPackageName.EMPTY, JavaIdentifier.of("Point")), "body"), DocComment.EMPTY ); 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 5a94055..9145e8a 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 @@ -28,9 +28,9 @@ public class JavaClassDeclarationMatcher implements org.zwobble.precisely.Matche return org.zwobble.precisely.Matchers.instanceOf(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration.class, this.submatchers); } - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclarationMatcher withName(org.zwobble.precisely.Matcher name) { + public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclarationMatcher withType(org.zwobble.precisely.Matcher type) { var submatchers = new java.util.ArrayList>(this.submatchers); - submatchers.add(org.zwobble.precisely.Matchers.has("name", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration::name, name)); + submatchers.add(org.zwobble.precisely.Matchers.has("type", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration::type, type)); return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclarationMatcher(submatchers); } @@ -46,12 +46,6 @@ public class JavaClassDeclarationMatcher implements org.zwobble.precisely.Matche return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclarationMatcher(submatchers); } - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclarationMatcher withCustomArea(org.zwobble.precisely.Matcher customArea) { - var submatchers = new java.util.ArrayList>(this.submatchers); - submatchers.add(org.zwobble.precisely.Matchers.has("customArea", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration::customArea, customArea)); - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclarationMatcher(submatchers); - } - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclarationMatcher withDocComment(org.zwobble.precisely.Matcher docComment) { var submatchers = new java.util.ArrayList>(this.submatchers); submatchers.add(org.zwobble.precisely.Matchers.has("docComment", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassDeclaration::docComment, docComment)); 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 b25759a..95bb6d1 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 @@ -28,18 +28,6 @@ public class JavaCompilationUnitMatcher implements org.zwobble.precisely.Matcher return org.zwobble.precisely.Matchers.instanceOf(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit.class, this.submatchers); } - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnitMatcher withPackageName(org.zwobble.precisely.Matcher packageName) { - var submatchers = new java.util.ArrayList>(this.submatchers); - submatchers.add(org.zwobble.precisely.Matchers.has("packageName", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit::packageName, packageName)); - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnitMatcher(submatchers); - } - - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnitMatcher withCustomAreaImports(org.zwobble.precisely.Matcher customAreaImports) { - var submatchers = new java.util.ArrayList>(this.submatchers); - submatchers.add(org.zwobble.precisely.Matchers.has("customAreaImports", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit::customAreaImports, customAreaImports)); - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnitMatcher(submatchers); - } - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnitMatcher withTypeDeclaration(org.zwobble.precisely.Matcher typeDeclaration) { var submatchers = new java.util.ArrayList>(this.submatchers); submatchers.add(org.zwobble.precisely.Matchers.has("typeDeclaration", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaCompilationUnit::typeDeclaration, typeDeclaration)); 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 a97ded5..86a477a 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 @@ -28,9 +28,9 @@ public class JavaEnumDeclarationMatcher implements org.zwobble.precisely.Matcher return org.zwobble.precisely.Matchers.instanceOf(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration.class, this.submatchers); } - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclarationMatcher withName(org.zwobble.precisely.Matcher name) { + public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclarationMatcher withType(org.zwobble.precisely.Matcher type) { var submatchers = new java.util.ArrayList>(this.submatchers); - submatchers.add(org.zwobble.precisely.Matchers.has("name", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration::name, name)); + submatchers.add(org.zwobble.precisely.Matchers.has("type", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration::type, type)); return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclarationMatcher(submatchers); } @@ -40,12 +40,6 @@ public class JavaEnumDeclarationMatcher implements org.zwobble.precisely.Matcher return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclarationMatcher(submatchers); } - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclarationMatcher withCustomArea(org.zwobble.precisely.Matcher customArea) { - var submatchers = new java.util.ArrayList>(this.submatchers); - submatchers.add(org.zwobble.precisely.Matchers.has("customArea", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration::customArea, customArea)); - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclarationMatcher(submatchers); - } - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclarationMatcher withDocComment(org.zwobble.precisely.Matcher docComment) { var submatchers = new java.util.ArrayList>(this.submatchers); submatchers.add(org.zwobble.precisely.Matchers.has("docComment", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumDeclaration::docComment, docComment)); 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 2d7a89c..bd45d2b 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 @@ -28,9 +28,9 @@ public class JavaInterfaceDeclarationMatcher implements org.zwobble.precisely.Ma return org.zwobble.precisely.Matchers.instanceOf(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration.class, this.submatchers); } - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclarationMatcher withName(org.zwobble.precisely.Matcher name) { + public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclarationMatcher withType(org.zwobble.precisely.Matcher type) { var submatchers = new java.util.ArrayList>(this.submatchers); - submatchers.add(org.zwobble.precisely.Matchers.has("name", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration::name, name)); + submatchers.add(org.zwobble.precisely.Matchers.has("type", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration::type, type)); return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclarationMatcher(submatchers); } @@ -52,12 +52,6 @@ public class JavaInterfaceDeclarationMatcher implements org.zwobble.precisely.Ma return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclarationMatcher(submatchers); } - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclarationMatcher withCustomArea(org.zwobble.precisely.Matcher customArea) { - var submatchers = new java.util.ArrayList>(this.submatchers); - submatchers.add(org.zwobble.precisely.Matchers.has("customArea", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration::customArea, customArea)); - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclarationMatcher(submatchers); - } - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclarationMatcher withDocComment(org.zwobble.precisely.Matcher docComment) { var submatchers = new java.util.ArrayList>(this.submatchers); submatchers.add(org.zwobble.precisely.Matchers.has("docComment", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaInterfaceDeclaration::docComment, docComment)); 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 d3eed88..afcc36e 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 @@ -28,9 +28,9 @@ public class JavaRecordDeclarationMatcher implements org.zwobble.precisely.Match return org.zwobble.precisely.Matchers.instanceOf(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration.class, this.submatchers); } - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclarationMatcher withName(org.zwobble.precisely.Matcher name) { + public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclarationMatcher withType(org.zwobble.precisely.Matcher type) { var submatchers = new java.util.ArrayList>(this.submatchers); - submatchers.add(org.zwobble.precisely.Matchers.has("name", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration::name, name)); + submatchers.add(org.zwobble.precisely.Matchers.has("type", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration::type, type)); return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclarationMatcher(submatchers); } @@ -52,12 +52,6 @@ public class JavaRecordDeclarationMatcher implements org.zwobble.precisely.Match return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclarationMatcher(submatchers); } - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclarationMatcher withCustomArea(org.zwobble.precisely.Matcher customArea) { - var submatchers = new java.util.ArrayList>(this.submatchers); - submatchers.add(org.zwobble.precisely.Matchers.has("customArea", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration::customArea, customArea)); - return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclarationMatcher(submatchers); - } - public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclarationMatcher withDocComment(org.zwobble.precisely.Matcher docComment) { var submatchers = new java.util.ArrayList>(this.submatchers); submatchers.add(org.zwobble.precisely.Matchers.has("docComment", org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordDeclaration::docComment, docComment)); -- cgit v1.2.3