summaryrefslogtreecommitdiff
path: root/src/main/java/org
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriter.java8
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustPathPattern.java32
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustPattern.java2
3 files changed, 41 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriter.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriter.java
index e3991c8..9c5361b 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriter.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriter.java
@@ -622,6 +622,10 @@ public class RustWriter implements AutoCloseable {
this.writeIdentifierPattern(identifierPattern);
}
+ case RustPathPattern pathPattern -> {
+ this.writePathPattern(pathPattern);
+ }
+
case RustWildcardPattern wildcardPattern -> {
this.writeWildcardPattern(wildcardPattern);
}
@@ -634,6 +638,10 @@ public class RustWriter implements AutoCloseable {
this.writeIdentifier(identifierPattern.variableName());
}
+ private void writePathPattern(RustPathPattern pathPattern) throws IOException {
+ this.writePath(pathPattern.path());
+ }
+
private void writeWildcardPattern(
RustWildcardPattern wildcardPattern
) throws IOException {
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustPathPattern.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustPathPattern.java
new file mode 100644
index 0000000..89395cb
--- /dev/null
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustPathPattern.java
@@ -0,0 +1,32 @@
+// Generated by hobgoblin.
+
+package org.zwobble.hobgoblin.compiler.output.lang.rust.ast;
+
+// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPathPattern imports
+// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPathPattern imports
+
+public record RustPathPattern(org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPath path) implements org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPattern {
+ public static org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPathPattern.Builder arbitrary() {
+ return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPathPattern.Builder(org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPath.arbitrary().build());
+ }
+
+ public record Builder(org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPath path) implements org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPattern.Builder {
+ public org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPathPattern build() {
+ return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPathPattern(path);
+ }
+
+ public org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPathPattern.Builder withPath(org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPath path) {
+ return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPathPattern.Builder(path);
+ }
+
+ public org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPathPattern.Builder withPath(org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPath.Builder path) {
+ return new org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPathPattern.Builder(path.build());
+ }
+
+ // Custom area start: org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPathPattern.Builder body
+ // Custom area end: org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPathPattern.Builder body
+ }
+
+ // Custom area start: org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPathPattern body
+ // Custom area end: org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPathPattern body
+}
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustPattern.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustPattern.java
index 50ee8eb..b012a9c 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustPattern.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustPattern.java
@@ -5,7 +5,7 @@ package org.zwobble.hobgoblin.compiler.output.lang.rust.ast;
// Custom area start: org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPattern imports
// Custom area end: org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPattern imports
-public sealed interface RustPattern permits org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustIdentifierPattern, org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustWildcardPattern {
+public sealed interface RustPattern permits org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustIdentifierPattern, org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPathPattern, org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustWildcardPattern {
public interface Builder {
public org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPattern build();