diff options
Diffstat (limited to 'src/main/java')
3 files changed, 41 insertions, 7 deletions
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 new file mode 100644 index 0000000..d457b60 --- /dev/null +++ b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedImportNode.java @@ -0,0 +1,29 @@ +// Generated by hobgoblin. + +package org.zwobble.hobgoblin.compiler.ast.untyped; + +public record UntypedImportNode(java.util.List<String> importedNames, org.zwobble.hobgoblin.compiler.types.NamespaceName namespaceName) { + public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode.Builder arbitrary() { + return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode.Builder(java.util.List.of(), org.zwobble.hobgoblin.compiler.ast.untyped.Native.arbitraryNamespaceName()); + } + + public record Builder(java.util.List<String> importedNames, org.zwobble.hobgoblin.compiler.types.NamespaceName namespaceName) { + public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode build() { + return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode(importedNames, namespaceName); + } + + public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode.Builder withImportedNames(java.util.List<String> importedNames) { + return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode.Builder(importedNames, namespaceName); + } + + public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode.Builder withNamespaceName(org.zwobble.hobgoblin.compiler.types.NamespaceName namespaceName) { + return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode.Builder(importedNames, namespaceName); + } + + // Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode.Builder body + // Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode.Builder body + } + + // Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode body + // Custom area end: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode body +} 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 b5771c2..f944c99 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedNamespaceNode.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedNamespaceNode.java @@ -2,26 +2,30 @@ package org.zwobble.hobgoblin.compiler.ast.untyped; -public record UntypedNamespaceNode(org.zwobble.hobgoblin.compiler.types.NamespaceName namespaceName, java.util.List<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceStatementNode> body, org.zwobble.hobgoblin.compiler.sources.Source source) { +public record UntypedNamespaceNode(org.zwobble.hobgoblin.compiler.types.NamespaceName namespaceName, java.util.List<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode> imports, java.util.List<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceStatementNode> body, org.zwobble.hobgoblin.compiler.sources.Source source) { public static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder arbitrary() { - return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder(org.zwobble.hobgoblin.compiler.ast.untyped.Native.arbitraryNamespaceName(), java.util.List.of(), org.zwobble.hobgoblin.compiler.ast.untyped.Native.arbitrarySource()); + return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder(org.zwobble.hobgoblin.compiler.ast.untyped.Native.arbitraryNamespaceName(), java.util.List.of(), java.util.List.of(), org.zwobble.hobgoblin.compiler.ast.untyped.Native.arbitrarySource()); } - public record Builder(org.zwobble.hobgoblin.compiler.types.NamespaceName namespaceName, java.util.List<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceStatementNode> body, org.zwobble.hobgoblin.compiler.sources.Source source) { + public record Builder(org.zwobble.hobgoblin.compiler.types.NamespaceName namespaceName, java.util.List<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode> imports, java.util.List<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceStatementNode> body, org.zwobble.hobgoblin.compiler.sources.Source source) { public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode build() { - return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode(namespaceName, body, source); + return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode(namespaceName, imports, body, source); } public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder withNamespaceName(org.zwobble.hobgoblin.compiler.types.NamespaceName namespaceName) { - return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder(namespaceName, body, source); + return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder(namespaceName, imports, body, source); + } + + public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder withImports(java.util.List<org.zwobble.hobgoblin.compiler.ast.untyped.UntypedImportNode> imports) { + 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, body, source); + 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, body, source); + return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder(namespaceName, imports, body, source); } // Custom area start: org.zwobble.hobgoblin.compiler.ast.untyped.UntypedNamespaceNode.Builder body diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/parser/Parser.java b/src/main/java/org/zwobble/hobgoblin/compiler/parser/Parser.java index 1bafe96..dc35fa0 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/parser/Parser.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/parser/Parser.java @@ -43,6 +43,7 @@ public class Parser { return new UntypedNamespaceNode( namespaceName, + List.of(), body, source ); |
