summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedConstructedTypeNode.java12
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedEnumDefinitionNode.java12
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedImportNode.java6
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedNamespaceNode.java24
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedStructDefinitionNode.java12
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedSumDefinitionNode.java24
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaBlock.java12
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaClassDeclaration.java18
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaConstructorDeclaration.java12
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaEnumDeclaration.java12
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaInterfaceDeclaration.java18
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodCall.java12
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaMethodDeclaration.java12
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaNewExpression.java12
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaPackageName.java12
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaRecordDeclaration.java30
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/java/ast/JavaStaticMethodCall.java12
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustEnum.java12
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustEnumVariantTuple.java12
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustModule.java24
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustStructStruct.java12
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustTypePath.java12
22 files changed, 324 insertions, 0 deletions
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 41c08d8..1c87fb6 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
@@ -27,6 +27,18 @@ public record UntypedConstructedTypeNode(org.zwobble.hobgoblin.compiler.ast.unty
return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedConstructedTypeNode.Builder(receiver, args, source);
}
+ public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedConstructedTypeNode.Builder addArg(org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelExpressionNode arg) {
+ var args = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelExpressionNode>(this.args);
+ args.add(arg);
+ return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedConstructedTypeNode.Builder(receiver, args, source);
+ }
+
+ public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedConstructedTypeNode.Builder addArg(org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelExpressionNode.Builder arg) {
+ var args = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelExpressionNode>(this.args);
+ args.add(arg.build());
+ return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedConstructedTypeNode.Builder(receiver, args, source);
+ }
+
public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedConstructedTypeNode.Builder withSource(org.zwobble.hobgoblin.compiler.sources.Source source) {
return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedConstructedTypeNode.Builder(receiver, args, source);
}
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 598d7c9..b957699 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
@@ -23,6 +23,18 @@ public record UntypedEnumDefinitionNode(String name, java.util.List<org.zwobble.
return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumDefinitionNode.Builder(name, variants, docComment, source);
}
+ public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumDefinitionNode.Builder addVariant(org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumVariantDefinitionNode variant) {
+ var variants = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumVariantDefinitionNode>(this.variants);
+ variants.add(variant);
+ return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumDefinitionNode.Builder(name, variants, docComment, source);
+ }
+
+ public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumDefinitionNode.Builder addVariant(org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumVariantDefinitionNode.Builder variant) {
+ var variants = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumVariantDefinitionNode>(this.variants);
+ variants.add(variant.build());
+ return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumDefinitionNode.Builder(name, variants, docComment, source);
+ }
+
public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumDefinitionNode.Builder withDocComment(org.zwobble.hobgoblin.compiler.ast.DocComment docComment) {
return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedEnumDefinitionNode.Builder(name, variants, docComment, source);
}
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 3ff9efe..b500912 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
@@ -19,6 +19,12 @@ public record UntypedImportNode(java.util.List<String> importedNames, java.util.
return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode.Builder(importedNames, ancestorDepth, namespaceName, source);
}
+ public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode.Builder addImportedName(String importedName) {
+ var importedNames = new java.util.ArrayList<String>(this.importedNames);
+ importedNames.add(importedName);
+ return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode.Builder(importedNames, ancestorDepth, namespaceName, source);
+ }
+
public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode.Builder withAncestorDepth(java.util.Optional<java.lang.Integer> ancestorDepth) {
return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode.Builder(importedNames, ancestorDepth, namespaceName, source);
}
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 9311b69..176b013 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
@@ -23,10 +23,34 @@ public record UntypedNamespaceNode(org.zwobble.hobgoblin.compiler.types.Namespac
return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder(namespaceName, imports, body, source);
}
+ public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder addImport(org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode import_) {
+ var imports = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode>(this.imports);
+ imports.add(import_);
+ return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder(namespaceName, imports, body, source);
+ }
+
+ public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder addImport(org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode.Builder import_) {
+ var imports = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode>(this.imports);
+ imports.add(import_.build());
+ return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder(namespaceName, imports, body, source);
+ }
+
public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder withBody(java.util.List<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceStatementNode> body) {
return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder(namespaceName, imports, body, source);
}
+ public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder addBodyElement(org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceStatementNode bodyElement) {
+ var body = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceStatementNode>(this.body);
+ body.add(bodyElement);
+ return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder(namespaceName, imports, body, source);
+ }
+
+ public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder addBodyElement(org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceStatementNode.Builder bodyElement) {
+ var body = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceStatementNode>(this.body);
+ body.add(bodyElement.build());
+ return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder(namespaceName, imports, body, source);
+ }
+
public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder withSource(org.zwobble.hobgoblin.compiler.sources.Source source) {
return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder(namespaceName, imports, body, source);
}
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 5897e66..d0d489c 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
@@ -23,6 +23,18 @@ public record UntypedStructDefinitionNode(String name, java.util.List<org.zwobbl
return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructDefinitionNode.Builder(name, fields, docComment, source);
}
+ public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructDefinitionNode.Builder addField(org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructFieldDefinitionNode field) {
+ var fields = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructFieldDefinitionNode>(this.fields);
+ fields.add(field);
+ return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructDefinitionNode.Builder(name, fields, docComment, source);
+ }
+
+ public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructDefinitionNode.Builder addField(org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructFieldDefinitionNode.Builder field) {
+ var fields = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructFieldDefinitionNode>(this.fields);
+ fields.add(field.build());
+ return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructDefinitionNode.Builder(name, fields, docComment, source);
+ }
+
public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructDefinitionNode.Builder withDocComment(org.zwobble.hobgoblin.compiler.ast.DocComment docComment) {
return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructDefinitionNode.Builder(name, fields, docComment, source);
}
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 f277aca..e02320c 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
@@ -23,10 +23,34 @@ public record UntypedSumDefinitionNode(String name, java.util.List<org.zwobble.h
return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder(name, variants, fields, docComment, source);
}
+ public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder addVariant(org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumVariantDefinitionNode variant) {
+ var variants = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumVariantDefinitionNode>(this.variants);
+ variants.add(variant);
+ return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder(name, variants, fields, docComment, source);
+ }
+
+ public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder addVariant(org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumVariantDefinitionNode.Builder variant) {
+ var variants = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumVariantDefinitionNode>(this.variants);
+ variants.add(variant.build());
+ return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder(name, variants, fields, docComment, source);
+ }
+
public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder withFields(java.util.List<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructFieldDefinitionNode> fields) {
return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder(name, variants, fields, docComment, source);
}
+ public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder addField(org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructFieldDefinitionNode field) {
+ var fields = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructFieldDefinitionNode>(this.fields);
+ fields.add(field);
+ return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder(name, variants, fields, docComment, source);
+ }
+
+ public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder addField(org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructFieldDefinitionNode.Builder field) {
+ var fields = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedStructFieldDefinitionNode>(this.fields);
+ fields.add(field.build());
+ return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder(name, variants, fields, docComment, source);
+ }
+
public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder withDocComment(org.zwobble.hobgoblin.compiler.ast.DocComment docComment) {
return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedSumDefinitionNode.Builder(name, variants, fields, docComment, source);
}
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 1278f8c..2d8b899 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
@@ -19,6 +19,18 @@ public record JavaBlock(java.util.List<org.zwobble.hobgoblin.compiler.output.lan
return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlock.Builder(statements);
}
+ public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlock.Builder addStatement(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlockStatement statement) {
+ var statements = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlockStatement>(this.statements);
+ statements.add(statement);
+ return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlock.Builder(statements);
+ }
+
+ public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlock.Builder addStatement(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlockStatement.Builder statement) {
+ var statements = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlockStatement>(this.statements);
+ statements.add(statement.build());
+ return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlock.Builder(statements);
+ }
+
// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlock.Builder body
// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlock.Builder body
}
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 9e70ccc..e12a0cc 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
@@ -27,10 +27,28 @@ public record JavaClassDeclaration(org.zwobble.hobgoblin.compiler.output.lang.ja
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 addImplementsType(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef implementsType) {
+ var implementsTypes = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef>(this.implementsTypes);
+ implementsTypes.add(implementsType);
+ 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 withBody(java.util.List<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration> body) {
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 addBodyElement(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration bodyElement) {
+ var body = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration>(this.body);
+ body.add(bodyElement);
+ 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 addBodyElement(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration.Builder bodyElement) {
+ var body = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration>(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);
}
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 772157c..b141f8d 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
@@ -31,6 +31,18 @@ public record JavaConstructorDeclaration(org.zwobble.hobgoblin.compiler.output.l
return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaConstructorDeclaration.Builder(typeName, visibility, params, body);
}
+ public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaConstructorDeclaration.Builder addParam(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaParam param) {
+ var params = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaParam>(this.params);
+ params.add(param);
+ return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaConstructorDeclaration.Builder(typeName, visibility, params, body);
+ }
+
+ public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaConstructorDeclaration.Builder addParam(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaParam.Builder param) {
+ var params = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaParam>(this.params);
+ params.add(param.build());
+ return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaConstructorDeclaration.Builder(typeName, visibility, params, body);
+ }
+
public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaConstructorDeclaration.Builder withBody(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlock body) {
return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaConstructorDeclaration.Builder(typeName, visibility, params, 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 d626b12..5668bbd 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
@@ -27,6 +27,18 @@ public record JavaEnumDeclaration(org.zwobble.hobgoblin.compiler.output.lang.jav
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 addConstant(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumConstant constant) {
+ var constants = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumConstant>(this.constants);
+ constants.add(constant);
+ 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 addConstant(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumConstant.Builder constant) {
+ var constants = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaEnumConstant>(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);
}
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 aeec3a5..a00a080 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
@@ -31,10 +31,28 @@ public record JavaInterfaceDeclaration(org.zwobble.hobgoblin.compiler.output.lan
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 addPermitsType(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef permitsType) {
+ var permitsTypes = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef>(this.permitsTypes);
+ permitsTypes.add(permitsType);
+ 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 withBody(java.util.List<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration> body) {
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 addBodyElement(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration bodyElement) {
+ var body = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration>(this.body);
+ body.add(bodyElement);
+ 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 addBodyElement(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration.Builder bodyElement) {
+ var body = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration>(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);
}
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 aee95c8..1905ee3 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
@@ -35,6 +35,18 @@ public record JavaMethodCall(org.zwobble.hobgoblin.compiler.output.lang.java.ast
return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodCall.Builder(receiver, methodName, args);
}
+ public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodCall.Builder addArg(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression arg) {
+ var args = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression>(this.args);
+ args.add(arg);
+ return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodCall.Builder(receiver, methodName, args);
+ }
+
+ public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodCall.Builder addArg(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression.Builder arg) {
+ var args = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression>(this.args);
+ args.add(arg.build());
+ return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodCall.Builder(receiver, methodName, args);
+ }
+
// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodCall.Builder body
// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodCall.Builder body
}
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 248d19f..617a7e1 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
@@ -39,6 +39,18 @@ public record JavaMethodDeclaration(org.zwobble.hobgoblin.compiler.output.lang.j
return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodDeclaration.Builder(name, visibility, kind, returnType, params, body);
}
+ public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodDeclaration.Builder addParam(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaParam param) {
+ var params = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaParam>(this.params);
+ params.add(param);
+ return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodDeclaration.Builder(name, visibility, kind, returnType, params, body);
+ }
+
+ public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodDeclaration.Builder addParam(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaParam.Builder param) {
+ var params = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaParam>(this.params);
+ params.add(param.build());
+ return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodDeclaration.Builder(name, visibility, kind, returnType, params, body);
+ }
+
public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodDeclaration.Builder withBody(java.util.Optional<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaBlock> body) {
return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaMethodDeclaration.Builder(name, visibility, kind, returnType, params, body);
}
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 e5f174f..8447e93 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
@@ -23,6 +23,18 @@ public record JavaNewExpression(org.zwobble.hobgoblin.compiler.output.lang.java.
return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNewExpression.Builder(type, args);
}
+ public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNewExpression.Builder addArg(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression arg) {
+ var args = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression>(this.args);
+ args.add(arg);
+ return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNewExpression.Builder(type, args);
+ }
+
+ public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNewExpression.Builder addArg(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression.Builder arg) {
+ var args = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression>(this.args);
+ args.add(arg.build());
+ return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNewExpression.Builder(type, args);
+ }
+
// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNewExpression.Builder body
// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaNewExpression.Builder body
}
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 59983e2..a55e64c 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
@@ -21,6 +21,18 @@ public record JavaPackageName(java.util.List<org.zwobble.hobgoblin.compiler.outp
return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageName.Builder(parts);
}
+ public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageName.Builder addPart(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier part) {
+ var parts = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier>(this.parts);
+ parts.add(part);
+ return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageName.Builder(parts);
+ }
+
+ public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageName.Builder addPart(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier.Builder part) {
+ var parts = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaIdentifier>(this.parts);
+ parts.add(part.build());
+ return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageName.Builder(parts);
+ }
+
// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageName.Builder body
// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaPackageName.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 07734c8..d4bbc65 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
@@ -27,14 +27,44 @@ public record JavaRecordDeclaration(org.zwobble.hobgoblin.compiler.output.lang.j
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 addComponent(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordComponent component) {
+ var components = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordComponent>(this.components);
+ components.add(component);
+ 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 addComponent(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordComponent.Builder component) {
+ var components = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaRecordComponent>(this.components);
+ components.add(component.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 withImplementsTypes(java.util.List<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef> implementsTypes) {
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 addImplementsType(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef implementsType) {
+ var implementsTypes = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaTypeRef>(this.implementsTypes);
+ implementsTypes.add(implementsType);
+ 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 withBody(java.util.List<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration> body) {
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 addBodyElement(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration bodyElement) {
+ var body = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration>(this.body);
+ body.add(bodyElement);
+ 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 addBodyElement(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration.Builder bodyElement) {
+ var body = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaClassBodyDeclaration>(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);
}
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 f8ae452..4377976 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
@@ -31,6 +31,18 @@ public record JavaStaticMethodCall(org.zwobble.hobgoblin.compiler.output.lang.ja
return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticMethodCall.Builder(type, methodName, args);
}
+ public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticMethodCall.Builder addArg(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression arg) {
+ var args = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression>(this.args);
+ args.add(arg);
+ return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticMethodCall.Builder(type, methodName, args);
+ }
+
+ public org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticMethodCall.Builder addArg(org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression.Builder arg) {
+ var args = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaExpression>(this.args);
+ args.add(arg.build());
+ return new org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticMethodCall.Builder(type, methodName, args);
+ }
+
// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticMethodCall.Builder body
// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.java.ast.JavaStaticMethodCall.Builder body
}
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustEnum.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustEnum.java
index 338bdb4..be3ae6a 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustEnum.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustEnum.java
@@ -27,6 +27,18 @@ public record RustEnum(org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustI
return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustEnum.Builder(name, variants, docComment);
}
+ public org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustEnum.Builder addVariant(org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustEnumVariant variant) {
+ var variants = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustEnumVariant>(this.variants);
+ variants.add(variant);
+ return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustEnum.Builder(name, variants, docComment);
+ }
+
+ public org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustEnum.Builder addVariant(org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustEnumVariant.Builder variant) {
+ var variants = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustEnumVariant>(this.variants);
+ variants.add(variant.build());
+ return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustEnum.Builder(name, variants, docComment);
+ }
+
public org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustEnum.Builder withDocComment(org.zwobble.hobgoblin.compiler.ast.DocComment docComment) {
return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustEnum.Builder(name, variants, docComment);
}
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustEnumVariantTuple.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustEnumVariantTuple.java
index a8b1e68..51ee445 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustEnumVariantTuple.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustEnumVariantTuple.java
@@ -19,6 +19,18 @@ public record RustEnumVariantTuple(java.util.List<org.zwobble.hobgoblin.compiler
return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustEnumVariantTuple.Builder(fields);
}
+ public org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustEnumVariantTuple.Builder addField(org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustTupleField field) {
+ var fields = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustTupleField>(this.fields);
+ fields.add(field);
+ return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustEnumVariantTuple.Builder(fields);
+ }
+
+ public org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustEnumVariantTuple.Builder addField(org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustTupleField.Builder field) {
+ var fields = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustTupleField>(this.fields);
+ fields.add(field.build());
+ return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustEnumVariantTuple.Builder(fields);
+ }
+
// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustEnumVariantTuple.Builder body
// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustEnumVariantTuple.Builder body
}
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustModule.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustModule.java
index e40895e..0f142bb 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustModule.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustModule.java
@@ -19,10 +19,34 @@ public record RustModule(java.util.List<org.zwobble.hobgoblin.compiler.output.la
return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustModule.Builder(name, items);
}
+ public org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustModule.Builder addNameElement(org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustIdentifier nameElement) {
+ var name = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustIdentifier>(this.name);
+ name.add(nameElement);
+ return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustModule.Builder(name, items);
+ }
+
+ public org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustModule.Builder addNameElement(org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustIdentifier.Builder nameElement) {
+ var name = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustIdentifier>(this.name);
+ name.add(nameElement.build());
+ return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustModule.Builder(name, items);
+ }
+
public org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustModule.Builder withItems(java.util.List<org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustItem> items) {
return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustModule.Builder(name, items);
}
+ public org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustModule.Builder addItem(org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustItem item) {
+ var items = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustItem>(this.items);
+ items.add(item);
+ return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustModule.Builder(name, items);
+ }
+
+ public org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustModule.Builder addItem(org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustItem.Builder item) {
+ var items = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustItem>(this.items);
+ items.add(item.build());
+ return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustModule.Builder(name, items);
+ }
+
// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustModule.Builder body
// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustModule.Builder body
}
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustStructStruct.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustStructStruct.java
index 5b02a96..4eba76a 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustStructStruct.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustStructStruct.java
@@ -27,6 +27,18 @@ public record RustStructStruct(org.zwobble.hobgoblin.compiler.output.lang.rust.a
return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustStructStruct.Builder(name, fields, docComment);
}
+ public org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustStructStruct.Builder addField(org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustStructField field) {
+ var fields = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustStructField>(this.fields);
+ fields.add(field);
+ return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustStructStruct.Builder(name, fields, docComment);
+ }
+
+ public org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustStructStruct.Builder addField(org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustStructField.Builder field) {
+ var fields = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustStructField>(this.fields);
+ fields.add(field.build());
+ return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustStructStruct.Builder(name, fields, docComment);
+ }
+
public org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustStructStruct.Builder withDocComment(org.zwobble.hobgoblin.compiler.ast.DocComment docComment) {
return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustStructStruct.Builder(name, fields, docComment);
}
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustTypePath.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustTypePath.java
index 7d56e5e..941fd61 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustTypePath.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustTypePath.java
@@ -24,6 +24,18 @@ public record RustTypePath(java.util.List<org.zwobble.hobgoblin.compiler.output.
return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustTypePath.Builder(segments);
}
+ public org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustTypePath.Builder addSegment(org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustTypePathSegment segment) {
+ var segments = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustTypePathSegment>(this.segments);
+ segments.add(segment);
+ return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustTypePath.Builder(segments);
+ }
+
+ public org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustTypePath.Builder addSegment(org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustTypePathSegment.Builder segment) {
+ var segments = new java.util.ArrayList<org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustTypePathSegment>(this.segments);
+ segments.add(segment.build());
+ return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustTypePath.Builder(segments);
+ }
+
// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustTypePath.Builder body
// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustTypePath.Builder body
}