aboutsummaryrefslogtreecommitdiff
path: root/src/transient-0/java/org/shedlang/compiler/patio
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-31 14:45:04 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-31 15:22:40 +0100
commit91860485774924e82da9b0774179d4c3c8da810a (patch)
treee06f52f147502e80aea139c20adac706479cb7ea /src/transient-0/java/org/shedlang/compiler/patio
parent410fff7b7ecf6f36a0a46ab1d90553169e3728f1 (diff)
Use transient-0 instead of flatbuffersmain
Diffstat (limited to 'src/transient-0/java/org/shedlang/compiler/patio')
-rw-r--r--src/transient-0/java/org/shedlang/compiler/patio/instructions/transient0/HobgoblinTransient0Instructions.java712
-rw-r--r--src/transient-0/java/org/shedlang/compiler/patio/operands/transient0/HobgoblinTransient0Operands.java144
-rw-r--r--src/transient-0/java/org/shedlang/compiler/patio/transient0/HobgoblinTransient0Patio.java257
-rw-r--r--src/transient-0/java/org/shedlang/compiler/patio/types/transient0/HobgoblinTransient0Types.java414
-rw-r--r--src/transient-0/java/org/shedlang/compiler/patio/values/transient0/HobgoblinTransient0Values.java132
5 files changed, 1659 insertions, 0 deletions
diff --git a/src/transient-0/java/org/shedlang/compiler/patio/instructions/transient0/HobgoblinTransient0Instructions.java b/src/transient-0/java/org/shedlang/compiler/patio/instructions/transient0/HobgoblinTransient0Instructions.java
new file mode 100644
index 00000000..bf74f430
--- /dev/null
+++ b/src/transient-0/java/org/shedlang/compiler/patio/instructions/transient0/HobgoblinTransient0Instructions.java
@@ -0,0 +1,712 @@
+// Generated by hobgoblin.
+
+package org.shedlang.compiler.patio.instructions.transient0;
+
+// Custom area start: org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions imports
+// Custom area end: org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions imports
+
+public final class HobgoblinTransient0Instructions {
+ public static void encodePatioInstruction(org.shedlang.compiler.patio.instructions.PatioInstruction value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ switch (value) {
+ case org.shedlang.compiler.patio.instructions.PatioBlock value$0 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(0, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioBlock(value$0, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioBoolToInt value$1 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(1, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioBoolToInt(value$1, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioCall value$2 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(2, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioCall(value$2, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioCallPointer value$3 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(3, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioCallPointer(value$3, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioDataPtrToInt value$4 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(4, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioDataPtrToInt(value$4, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioIf value$5 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(5, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioIf(value$5, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioIntAdd value$6 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(6, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioIntAdd(value$6, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioIntEquals value$7 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(7, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioIntEquals(value$7, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioIntNotEqual value$8 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(8, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioIntNotEqual(value$8, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioIntSub value$9 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(9, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioIntSub(value$9, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioIntToBool value$10 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(10, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioIntToBool(value$10, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioIntToDataPtr value$11 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(11, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioIntToDataPtr(value$11, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioLocalStore value$12 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(12, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioLocalStore(value$12, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioLoop value$13 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(13, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioLoop(value$13, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioLoopBreak value$14 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(14, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioLoopBreak(value$14, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioLoopContinue value$15 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(15, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioLoopContinue(value$15, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioMemoryLoad value$16 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(16, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioMemoryLoad(value$16, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioMemoryStore value$17 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(17, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioMemoryStore(value$17, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioReturn value$18 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(18, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioReturn(value$18, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioSwitch value$19 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(19, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioSwitch(value$19, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioThrow value$20 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(20, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioThrow(value$20, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioTry value$21 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(21, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioTry(value$21, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioUnreachable value$22 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(22, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioUnreachable(value$22, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioVarLoad value$23 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(23, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioVarLoad(value$23, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.instructions.PatioVarStore value$24 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(24, outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioVarStore(value$24, outputStream, sharedValues);
+ }
+ }
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioInstruction decodePatioInstruction(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var variantTag = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt32(inputStream, sharedValues);
+ switch (variantTag) {
+ case 0 -> {
+ var value$0 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioBlock(inputStream, sharedValues);
+ return value$0;
+ }
+ case 1 -> {
+ var value$1 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioBoolToInt(inputStream, sharedValues);
+ return value$1;
+ }
+ case 2 -> {
+ var value$2 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioCall(inputStream, sharedValues);
+ return value$2;
+ }
+ case 3 -> {
+ var value$3 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioCallPointer(inputStream, sharedValues);
+ return value$3;
+ }
+ case 4 -> {
+ var value$4 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioDataPtrToInt(inputStream, sharedValues);
+ return value$4;
+ }
+ case 5 -> {
+ var value$5 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioIf(inputStream, sharedValues);
+ return value$5;
+ }
+ case 6 -> {
+ var value$6 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioIntAdd(inputStream, sharedValues);
+ return value$6;
+ }
+ case 7 -> {
+ var value$7 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioIntEquals(inputStream, sharedValues);
+ return value$7;
+ }
+ case 8 -> {
+ var value$8 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioIntNotEqual(inputStream, sharedValues);
+ return value$8;
+ }
+ case 9 -> {
+ var value$9 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioIntSub(inputStream, sharedValues);
+ return value$9;
+ }
+ case 10 -> {
+ var value$10 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioIntToBool(inputStream, sharedValues);
+ return value$10;
+ }
+ case 11 -> {
+ var value$11 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioIntToDataPtr(inputStream, sharedValues);
+ return value$11;
+ }
+ case 12 -> {
+ var value$12 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioLocalStore(inputStream, sharedValues);
+ return value$12;
+ }
+ case 13 -> {
+ var value$13 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioLoop(inputStream, sharedValues);
+ return value$13;
+ }
+ case 14 -> {
+ var value$14 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioLoopBreak(inputStream, sharedValues);
+ return value$14;
+ }
+ case 15 -> {
+ var value$15 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioLoopContinue(inputStream, sharedValues);
+ return value$15;
+ }
+ case 16 -> {
+ var value$16 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioMemoryLoad(inputStream, sharedValues);
+ return value$16;
+ }
+ case 17 -> {
+ var value$17 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioMemoryStore(inputStream, sharedValues);
+ return value$17;
+ }
+ case 18 -> {
+ var value$18 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioReturn(inputStream, sharedValues);
+ return value$18;
+ }
+ case 19 -> {
+ var value$19 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioSwitch(inputStream, sharedValues);
+ return value$19;
+ }
+ case 20 -> {
+ var value$20 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioThrow(inputStream, sharedValues);
+ return value$20;
+ }
+ case 21 -> {
+ var value$21 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioTry(inputStream, sharedValues);
+ return value$21;
+ }
+ case 22 -> {
+ var value$22 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioUnreachable(inputStream, sharedValues);
+ return value$22;
+ }
+ case 23 -> {
+ var value$23 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioVarLoad(inputStream, sharedValues);
+ return value$23;
+ }
+ case 24 -> {
+ var value$24 = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioVarStore(inputStream, sharedValues);
+ return value$24;
+ }
+ default -> {
+ throw new java.lang.RuntimeException("unexpected patio/instructions.PatioInstruction variant tag: " + variantTag);
+ }
+ }
+ }
+
+ public static void encodePatioBlock(org.shedlang.compiler.patio.instructions.PatioBlock value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.body().size(), outputStream, sharedValues);
+ for (var element : value.body()) {
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioInstruction(element, outputStream, sharedValues);
+ }
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.results().size(), outputStream, sharedValues);
+ for (var element : value.results()) {
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(element, outputStream, sharedValues);
+ }
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioBlock decodePatioBlock(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var body$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var body = new java.util.ArrayList<org.shedlang.compiler.patio.instructions.PatioInstruction>((int) body$size);
+ for (long body$index = 0; body$index < body$size; body$index++) {
+ var body$element = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioInstruction(inputStream, sharedValues);
+ body.add(body$element);
+ }
+ var results$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var results = new java.util.ArrayList<org.shedlang.compiler.patio.operands.PatioOperand>((int) results$size);
+ for (long results$index = 0; results$index < results$size; results$index++) {
+ var results$element = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ results.add(results$element);
+ }
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioBlock(body, results, source);
+ }
+
+ public static void encodePatioBoolToInt(org.shedlang.compiler.patio.instructions.PatioBoolToInt value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioLocalRef(value.destination(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(value.value(), outputStream, sharedValues);
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioBoolToInt decodePatioBoolToInt(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var destination = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioLocalRef(inputStream, sharedValues);
+ var value = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioBoolToInt(destination, value, source);
+ }
+
+ public static void encodePatioCall(org.shedlang.compiler.patio.instructions.PatioCall value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.destinations().size(), outputStream, sharedValues);
+ for (var element : value.destinations()) {
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioLocalRef(element, outputStream, sharedValues);
+ }
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeString(value.functionName(), outputStream, sharedValues);
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.args().size(), outputStream, sharedValues);
+ for (var element : value.args()) {
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(element, outputStream, sharedValues);
+ }
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioCall decodePatioCall(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var destinations$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var destinations = new java.util.ArrayList<org.shedlang.compiler.patio.operands.PatioLocalRef>((int) destinations$size);
+ for (long destinations$index = 0; destinations$index < destinations$size; destinations$index++) {
+ var destinations$element = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioLocalRef(inputStream, sharedValues);
+ destinations.add(destinations$element);
+ }
+ var functionName = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeString(inputStream, sharedValues);
+ var args$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var args = new java.util.ArrayList<org.shedlang.compiler.patio.operands.PatioOperand>((int) args$size);
+ for (long args$index = 0; args$index < args$size; args$index++) {
+ var args$element = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ args.add(args$element);
+ }
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioCall(destinations, functionName, args, source);
+ }
+
+ public static void encodePatioCallPointer(org.shedlang.compiler.patio.instructions.PatioCallPointer value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.destinations().size(), outputStream, sharedValues);
+ for (var element : value.destinations()) {
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioLocalRef(element, outputStream, sharedValues);
+ }
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(value.functionPointer(), outputStream, sharedValues);
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.args().size(), outputStream, sharedValues);
+ for (var element : value.args()) {
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(element, outputStream, sharedValues);
+ }
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioCallPointer decodePatioCallPointer(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var destinations$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var destinations = new java.util.ArrayList<org.shedlang.compiler.patio.operands.PatioLocalRef>((int) destinations$size);
+ for (long destinations$index = 0; destinations$index < destinations$size; destinations$index++) {
+ var destinations$element = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioLocalRef(inputStream, sharedValues);
+ destinations.add(destinations$element);
+ }
+ var functionPointer = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ var args$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var args = new java.util.ArrayList<org.shedlang.compiler.patio.operands.PatioOperand>((int) args$size);
+ for (long args$index = 0; args$index < args$size; args$index++) {
+ var args$element = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ args.add(args$element);
+ }
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioCallPointer(destinations, functionPointer, args, source);
+ }
+
+ public static void encodePatioDataPtrToInt(org.shedlang.compiler.patio.instructions.PatioDataPtrToInt value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioLocalRef(value.destination(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(value.value(), outputStream, sharedValues);
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioDataPtrToInt decodePatioDataPtrToInt(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var destination = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioLocalRef(inputStream, sharedValues);
+ var value = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioDataPtrToInt(destination, value, source);
+ }
+
+ public static void encodePatioIf(org.shedlang.compiler.patio.instructions.PatioIf value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.destinations().size(), outputStream, sharedValues);
+ for (var element : value.destinations()) {
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioLocalRef(element, outputStream, sharedValues);
+ }
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(value.condition(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioBlock(value.trueBody(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioBlock(value.falseBody(), outputStream, sharedValues);
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioIf decodePatioIf(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var destinations$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var destinations = new java.util.ArrayList<org.shedlang.compiler.patio.operands.PatioLocalRef>((int) destinations$size);
+ for (long destinations$index = 0; destinations$index < destinations$size; destinations$index++) {
+ var destinations$element = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioLocalRef(inputStream, sharedValues);
+ destinations.add(destinations$element);
+ }
+ var condition = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ var trueBody = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioBlock(inputStream, sharedValues);
+ var falseBody = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioBlock(inputStream, sharedValues);
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioIf(destinations, condition, trueBody, falseBody, source);
+ }
+
+ public static void encodePatioIntAdd(org.shedlang.compiler.patio.instructions.PatioIntAdd value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioLocalRef(value.destination(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(value.left(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(value.right(), outputStream, sharedValues);
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioIntAdd decodePatioIntAdd(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var destination = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioLocalRef(inputStream, sharedValues);
+ var left = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ var right = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioIntAdd(destination, left, right, source);
+ }
+
+ public static void encodePatioIntEquals(org.shedlang.compiler.patio.instructions.PatioIntEquals value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioLocalRef(value.destination(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(value.left(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(value.right(), outputStream, sharedValues);
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioIntEquals decodePatioIntEquals(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var destination = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioLocalRef(inputStream, sharedValues);
+ var left = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ var right = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioIntEquals(destination, left, right, source);
+ }
+
+ public static void encodePatioIntNotEqual(org.shedlang.compiler.patio.instructions.PatioIntNotEqual value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioLocalRef(value.destination(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(value.left(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(value.right(), outputStream, sharedValues);
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioIntNotEqual decodePatioIntNotEqual(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var destination = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioLocalRef(inputStream, sharedValues);
+ var left = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ var right = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioIntNotEqual(destination, left, right, source);
+ }
+
+ public static void encodePatioIntSub(org.shedlang.compiler.patio.instructions.PatioIntSub value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioLocalRef(value.destination(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(value.left(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(value.right(), outputStream, sharedValues);
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioIntSub decodePatioIntSub(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var destination = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioLocalRef(inputStream, sharedValues);
+ var left = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ var right = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioIntSub(destination, left, right, source);
+ }
+
+ public static void encodePatioIntToBool(org.shedlang.compiler.patio.instructions.PatioIntToBool value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioLocalRef(value.destination(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(value.value(), outputStream, sharedValues);
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioIntToBool decodePatioIntToBool(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var destination = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioLocalRef(inputStream, sharedValues);
+ var value = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioIntToBool(destination, value, source);
+ }
+
+ public static void encodePatioIntToDataPtr(org.shedlang.compiler.patio.instructions.PatioIntToDataPtr value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioLocalRef(value.destination(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(value.value(), outputStream, sharedValues);
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioIntToDataPtr decodePatioIntToDataPtr(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var destination = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioLocalRef(inputStream, sharedValues);
+ var value = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioIntToDataPtr(destination, value, source);
+ }
+
+ public static void encodePatioLocalStore(org.shedlang.compiler.patio.instructions.PatioLocalStore value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioLocalRef(value.destination(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(value.value(), outputStream, sharedValues);
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioLocalStore decodePatioLocalStore(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var destination = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioLocalRef(inputStream, sharedValues);
+ var value = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioLocalStore(destination, value, source);
+ }
+
+ public static void encodePatioLoop(org.shedlang.compiler.patio.instructions.PatioLoop value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.body().size(), outputStream, sharedValues);
+ for (var element : value.body()) {
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioInstruction(element, outputStream, sharedValues);
+ }
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioLoop decodePatioLoop(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var body$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var body = new java.util.ArrayList<org.shedlang.compiler.patio.instructions.PatioInstruction>((int) body$size);
+ for (long body$index = 0; body$index < body$size; body$index++) {
+ var body$element = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioInstruction(inputStream, sharedValues);
+ body.add(body$element);
+ }
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioLoop(body, source);
+ }
+
+ public static void encodePatioLoopBreak(org.shedlang.compiler.patio.instructions.PatioLoopBreak value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioLoopBreak decodePatioLoopBreak(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioLoopBreak(source);
+ }
+
+ public static void encodePatioLoopContinue(org.shedlang.compiler.patio.instructions.PatioLoopContinue value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioLoopContinue decodePatioLoopContinue(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioLoopContinue(source);
+ }
+
+ public static void encodePatioMemoryLoad(org.shedlang.compiler.patio.instructions.PatioMemoryLoad value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioLocalRef(value.destination(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(value.pointer(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataLayout(value.layout(), outputStream, sharedValues);
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.elementOffsets().size(), outputStream, sharedValues);
+ for (var element : value.elementOffsets()) {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(element, outputStream, sharedValues);
+ }
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioMemoryLoad decodePatioMemoryLoad(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var destination = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioLocalRef(inputStream, sharedValues);
+ var pointer = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ var layout = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataLayout(inputStream, sharedValues);
+ var elementOffsets$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var elementOffsets = new java.util.ArrayList<java.lang.Integer>((int) elementOffsets$size);
+ for (long elementOffsets$index = 0; elementOffsets$index < elementOffsets$size; elementOffsets$index++) {
+ var elementOffsets$element = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt32(inputStream, sharedValues);
+ elementOffsets.add(elementOffsets$element);
+ }
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioMemoryLoad(destination, pointer, layout, elementOffsets, source);
+ }
+
+ public static void encodePatioMemoryStore(org.shedlang.compiler.patio.instructions.PatioMemoryStore value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(value.pointer(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataLayout(value.layout(), outputStream, sharedValues);
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.elementOffsets().size(), outputStream, sharedValues);
+ for (var element : value.elementOffsets()) {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(element, outputStream, sharedValues);
+ }
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(value.value(), outputStream, sharedValues);
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioMemoryStore decodePatioMemoryStore(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var pointer = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ var layout = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataLayout(inputStream, sharedValues);
+ var elementOffsets$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var elementOffsets = new java.util.ArrayList<java.lang.Integer>((int) elementOffsets$size);
+ for (long elementOffsets$index = 0; elementOffsets$index < elementOffsets$size; elementOffsets$index++) {
+ var elementOffsets$element = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt32(inputStream, sharedValues);
+ elementOffsets.add(elementOffsets$element);
+ }
+ var value = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioMemoryStore(pointer, layout, elementOffsets, value, source);
+ }
+
+ public static void encodePatioReturn(org.shedlang.compiler.patio.instructions.PatioReturn value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.values().size(), outputStream, sharedValues);
+ for (var element : value.values()) {
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(element, outputStream, sharedValues);
+ }
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioReturn decodePatioReturn(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var values$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var values = new java.util.ArrayList<org.shedlang.compiler.patio.operands.PatioOperand>((int) values$size);
+ for (long values$index = 0; values$index < values$size; values$index++) {
+ var values$element = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ values.add(values$element);
+ }
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioReturn(values, source);
+ }
+
+ public static void encodePatioSwitch(org.shedlang.compiler.patio.instructions.PatioSwitch value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.destinations().size(), outputStream, sharedValues);
+ for (var element : value.destinations()) {
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioLocalRef(element, outputStream, sharedValues);
+ }
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(value.value(), outputStream, sharedValues);
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.cases().size(), outputStream, sharedValues);
+ for (var element : value.cases()) {
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioSwitchCase(element, outputStream, sharedValues);
+ }
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioBlock(value.defaultBody(), outputStream, sharedValues);
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioSwitch decodePatioSwitch(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var destinations$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var destinations = new java.util.ArrayList<org.shedlang.compiler.patio.operands.PatioLocalRef>((int) destinations$size);
+ for (long destinations$index = 0; destinations$index < destinations$size; destinations$index++) {
+ var destinations$element = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioLocalRef(inputStream, sharedValues);
+ destinations.add(destinations$element);
+ }
+ var value = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ var cases$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var cases = new java.util.ArrayList<org.shedlang.compiler.patio.instructions.PatioSwitchCase>((int) cases$size);
+ for (long cases$index = 0; cases$index < cases$size; cases$index++) {
+ var cases$element = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioSwitchCase(inputStream, sharedValues);
+ cases.add(cases$element);
+ }
+ var defaultBody = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioBlock(inputStream, sharedValues);
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioSwitch(destinations, value, cases, defaultBody, source);
+ }
+
+ public static void encodePatioSwitchCase(org.shedlang.compiler.patio.instructions.PatioSwitchCase value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(value.value(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioBlock(value.body(), outputStream, sharedValues);
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioSwitchCase decodePatioSwitchCase(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var value = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt32(inputStream, sharedValues);
+ var body = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioBlock(inputStream, sharedValues);
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioSwitchCase(value, body, source);
+ }
+
+ public static void encodePatioThrow(org.shedlang.compiler.patio.instructions.PatioThrow value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeString(value.exceptionTypeName(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(value.value(), outputStream, sharedValues);
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioThrow decodePatioThrow(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var exceptionTypeName = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeString(inputStream, sharedValues);
+ var value = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioThrow(exceptionTypeName, value, source);
+ }
+
+ public static void encodePatioTry(org.shedlang.compiler.patio.instructions.PatioTry value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.destinations().size(), outputStream, sharedValues);
+ for (var element : value.destinations()) {
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioLocalRef(element, outputStream, sharedValues);
+ }
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.catchClauses().size(), outputStream, sharedValues);
+ for (var element : value.catchClauses()) {
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioCatchClause(element, outputStream, sharedValues);
+ }
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioBlock(value.body(), outputStream, sharedValues);
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioTry decodePatioTry(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var destinations$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var destinations = new java.util.ArrayList<org.shedlang.compiler.patio.operands.PatioLocalRef>((int) destinations$size);
+ for (long destinations$index = 0; destinations$index < destinations$size; destinations$index++) {
+ var destinations$element = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioLocalRef(inputStream, sharedValues);
+ destinations.add(destinations$element);
+ }
+ var catchClauses$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var catchClauses = new java.util.ArrayList<org.shedlang.compiler.patio.instructions.PatioCatchClause>((int) catchClauses$size);
+ for (long catchClauses$index = 0; catchClauses$index < catchClauses$size; catchClauses$index++) {
+ var catchClauses$element = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioCatchClause(inputStream, sharedValues);
+ catchClauses.add(catchClauses$element);
+ }
+ var body = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioBlock(inputStream, sharedValues);
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioTry(destinations, catchClauses, body, source);
+ }
+
+ public static void encodePatioCatchClause(org.shedlang.compiler.patio.instructions.PatioCatchClause value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeString(value.exceptionTypeName(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioLocalRef(value.destination(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioBlock(value.body(), outputStream, sharedValues);
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioCatchClause decodePatioCatchClause(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var exceptionTypeName = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeString(inputStream, sharedValues);
+ var destination = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioLocalRef(inputStream, sharedValues);
+ var body = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioBlock(inputStream, sharedValues);
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioCatchClause(exceptionTypeName, destination, body, source);
+ }
+
+ public static void encodePatioUnreachable(org.shedlang.compiler.patio.instructions.PatioUnreachable value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioUnreachable decodePatioUnreachable(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioUnreachable(source);
+ }
+
+ public static void encodePatioVarLoad(org.shedlang.compiler.patio.instructions.PatioVarLoad value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioLocalRef(value.destination(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioLocalRef(value.var(), outputStream, sharedValues);
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioVarLoad decodePatioVarLoad(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var destination = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioLocalRef(inputStream, sharedValues);
+ var var = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioLocalRef(inputStream, sharedValues);
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioVarLoad(destination, var, source);
+ }
+
+ public static void encodePatioVarStore(org.shedlang.compiler.patio.instructions.PatioVarStore value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioLocalRef(value.var(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioOperand(value.value(), outputStream, sharedValues);
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.instructions.PatioVarStore decodePatioVarStore(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var var = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioLocalRef(inputStream, sharedValues);
+ var value = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioOperand(inputStream, sharedValues);
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.instructions.PatioVarStore(var, value, source);
+ }
+
+ // Custom area start: org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions body
+ // Custom area end: org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions body
+}
diff --git a/src/transient-0/java/org/shedlang/compiler/patio/operands/transient0/HobgoblinTransient0Operands.java b/src/transient-0/java/org/shedlang/compiler/patio/operands/transient0/HobgoblinTransient0Operands.java
new file mode 100644
index 00000000..6ef7b90f
--- /dev/null
+++ b/src/transient-0/java/org/shedlang/compiler/patio/operands/transient0/HobgoblinTransient0Operands.java
@@ -0,0 +1,144 @@
+// Generated by hobgoblin.
+
+package org.shedlang.compiler.patio.operands.transient0;
+
+// Custom area start: org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands imports
+// Custom area end: org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands imports
+
+public final class HobgoblinTransient0Operands {
+ public static void encodePatioOperand(org.shedlang.compiler.patio.operands.PatioOperand value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ switch (value) {
+ case org.shedlang.compiler.patio.operands.PatioLocalRef value$0 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(0, outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioLocalRef(value$0, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.operands.PatioBoolConst value$1 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(1, outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioBoolConst(value$1, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.operands.PatioByteConst value$2 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(2, outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioByteConst(value$2, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.operands.PatioDataPtrConst value$3 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(3, outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioDataPtrConst(value$3, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.operands.PatioFunctionPtrConst value$4 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(4, outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioFunctionPtrConst(value$4, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.operands.PatioInt32Const value$5 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(5, outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioInt32Const(value$5, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.operands.PatioIntConst value$6 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(6, outputStream, sharedValues);
+ org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.encodePatioIntConst(value$6, outputStream, sharedValues);
+ }
+ }
+ }
+
+ public static org.shedlang.compiler.patio.operands.PatioOperand decodePatioOperand(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var variantTag = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt32(inputStream, sharedValues);
+ switch (variantTag) {
+ case 0 -> {
+ var value$0 = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioLocalRef(inputStream, sharedValues);
+ return value$0;
+ }
+ case 1 -> {
+ var value$1 = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioBoolConst(inputStream, sharedValues);
+ return value$1;
+ }
+ case 2 -> {
+ var value$2 = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioByteConst(inputStream, sharedValues);
+ return value$2;
+ }
+ case 3 -> {
+ var value$3 = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioDataPtrConst(inputStream, sharedValues);
+ return value$3;
+ }
+ case 4 -> {
+ var value$4 = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioFunctionPtrConst(inputStream, sharedValues);
+ return value$4;
+ }
+ case 5 -> {
+ var value$5 = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioInt32Const(inputStream, sharedValues);
+ return value$5;
+ }
+ case 6 -> {
+ var value$6 = org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands.decodePatioIntConst(inputStream, sharedValues);
+ return value$6;
+ }
+ default -> {
+ throw new java.lang.RuntimeException("unexpected patio/operands.PatioOperand variant tag: " + variantTag);
+ }
+ }
+ }
+
+ public static void encodePatioLocalRef(org.shedlang.compiler.patio.operands.PatioLocalRef value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeString(value.name(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.operands.PatioLocalRef decodePatioLocalRef(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var name = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeString(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.operands.PatioLocalRef(name);
+ }
+
+ public static void encodePatioBoolConst(org.shedlang.compiler.patio.operands.PatioBoolConst value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeBool(value.value(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.operands.PatioBoolConst decodePatioBoolConst(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var value = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeBool(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.operands.PatioBoolConst(value);
+ }
+
+ public static void encodePatioByteConst(org.shedlang.compiler.patio.operands.PatioByteConst value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt8(value.value(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.operands.PatioByteConst decodePatioByteConst(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var value = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt8(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.operands.PatioByteConst(value);
+ }
+
+ public static void encodePatioDataPtrConst(org.shedlang.compiler.patio.operands.PatioDataPtrConst value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values.encodePatioDataPtrValue(value.value(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.operands.PatioDataPtrConst decodePatioDataPtrConst(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var value = org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values.decodePatioDataPtrValue(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.operands.PatioDataPtrConst(value);
+ }
+
+ public static void encodePatioFunctionPtrConst(org.shedlang.compiler.patio.operands.PatioFunctionPtrConst value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeString(value.name(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.operands.PatioFunctionPtrConst decodePatioFunctionPtrConst(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var name = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeString(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.operands.PatioFunctionPtrConst(name);
+ }
+
+ public static void encodePatioInt32Const(org.shedlang.compiler.patio.operands.PatioInt32Const value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values.encodePatioIntValue(value.value(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.operands.PatioInt32Const decodePatioInt32Const(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var value = org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values.decodePatioIntValue(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.operands.PatioInt32Const(value);
+ }
+
+ public static void encodePatioIntConst(org.shedlang.compiler.patio.operands.PatioIntConst value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values.encodePatioIntValue(value.value(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.operands.PatioIntConst decodePatioIntConst(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var value = org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values.decodePatioIntValue(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.operands.PatioIntConst(value);
+ }
+
+ // Custom area start: org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands body
+ // Custom area end: org.shedlang.compiler.patio.operands.transient0.HobgoblinTransient0Operands body
+}
diff --git a/src/transient-0/java/org/shedlang/compiler/patio/transient0/HobgoblinTransient0Patio.java b/src/transient-0/java/org/shedlang/compiler/patio/transient0/HobgoblinTransient0Patio.java
new file mode 100644
index 00000000..77b4f6d6
--- /dev/null
+++ b/src/transient-0/java/org/shedlang/compiler/patio/transient0/HobgoblinTransient0Patio.java
@@ -0,0 +1,257 @@
+// Generated by hobgoblin.
+
+package org.shedlang.compiler.patio.transient0;
+
+// Custom area start: org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio imports
+// Custom area end: org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio imports
+
+public final class HobgoblinTransient0Patio {
+ public static void encodePatioCompilationUnit(org.shedlang.compiler.patio.PatioCompilationUnit value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.elements().size(), outputStream, sharedValues);
+ for (var element : value.elements()) {
+ org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.encodePatioCompilationUnitElement(element, outputStream, sharedValues);
+ }
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.PatioCompilationUnit decodePatioCompilationUnit(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var elements$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var elements = new java.util.ArrayList<org.shedlang.compiler.patio.PatioCompilationUnitElement>((int) elements$size);
+ for (long elements$index = 0; elements$index < elements$size; elements$index++) {
+ var elements$element = org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.decodePatioCompilationUnitElement(inputStream, sharedValues);
+ elements.add(elements$element);
+ }
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.PatioCompilationUnit(elements, source);
+ }
+
+ public static void encodePatioCompilationUnitElement(org.shedlang.compiler.patio.PatioCompilationUnitElement value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ switch (value) {
+ case org.shedlang.compiler.patio.PatioDataElementImmutableDefinition value$0 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(0, outputStream, sharedValues);
+ org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.encodePatioDataElementImmutableDefinition(value$0, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.PatioDataElementMutableDeclaration value$1 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(1, outputStream, sharedValues);
+ org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.encodePatioDataElementMutableDeclaration(value$1, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.PatioDataElementMutableDefinition value$2 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(2, outputStream, sharedValues);
+ org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.encodePatioDataElementMutableDefinition(value$2, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.PatioExceptionTypeDefinition value$3 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(3, outputStream, sharedValues);
+ org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.encodePatioExceptionTypeDefinition(value$3, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.PatioFunctionDeclaration value$4 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(4, outputStream, sharedValues);
+ org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.encodePatioFunctionDeclaration(value$4, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.PatioFunctionDefinition value$5 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(5, outputStream, sharedValues);
+ org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.encodePatioFunctionDefinition(value$5, outputStream, sharedValues);
+ }
+ }
+ }
+
+ public static org.shedlang.compiler.patio.PatioCompilationUnitElement decodePatioCompilationUnitElement(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var variantTag = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt32(inputStream, sharedValues);
+ switch (variantTag) {
+ case 0 -> {
+ var value$0 = org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.decodePatioDataElementImmutableDefinition(inputStream, sharedValues);
+ return value$0;
+ }
+ case 1 -> {
+ var value$1 = org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.decodePatioDataElementMutableDeclaration(inputStream, sharedValues);
+ return value$1;
+ }
+ case 2 -> {
+ var value$2 = org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.decodePatioDataElementMutableDefinition(inputStream, sharedValues);
+ return value$2;
+ }
+ case 3 -> {
+ var value$3 = org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.decodePatioExceptionTypeDefinition(inputStream, sharedValues);
+ return value$3;
+ }
+ case 4 -> {
+ var value$4 = org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.decodePatioFunctionDeclaration(inputStream, sharedValues);
+ return value$4;
+ }
+ case 5 -> {
+ var value$5 = org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.decodePatioFunctionDefinition(inputStream, sharedValues);
+ return value$5;
+ }
+ default -> {
+ throw new java.lang.RuntimeException("unexpected patio.PatioCompilationUnitElement variant tag: " + variantTag);
+ }
+ }
+ }
+
+ public static void encodePatioDataElementImmutableDefinition(org.shedlang.compiler.patio.PatioDataElementImmutableDefinition value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeString(value.name(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.encodePatioVisibility(value.visibility(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataValue(value.value(), outputStream, sharedValues);
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.PatioDataElementImmutableDefinition decodePatioDataElementImmutableDefinition(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var name = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeString(inputStream, sharedValues);
+ var visibility = org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.decodePatioVisibility(inputStream, sharedValues);
+ var value = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataValue(inputStream, sharedValues);
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.PatioDataElementImmutableDefinition(name, visibility, value, source);
+ }
+
+ public static void encodePatioDataElementMutableDeclaration(org.shedlang.compiler.patio.PatioDataElementMutableDeclaration value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeString(value.name(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataLayout(value.layout(), outputStream, sharedValues);
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.PatioDataElementMutableDeclaration decodePatioDataElementMutableDeclaration(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var name = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeString(inputStream, sharedValues);
+ var layout = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataLayout(inputStream, sharedValues);
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.PatioDataElementMutableDeclaration(name, layout, source);
+ }
+
+ public static void encodePatioDataElementMutableDefinition(org.shedlang.compiler.patio.PatioDataElementMutableDefinition value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeString(value.name(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.encodePatioVisibility(value.visibility(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataValue(value.initialValue(), outputStream, sharedValues);
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.PatioDataElementMutableDefinition decodePatioDataElementMutableDefinition(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var name = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeString(inputStream, sharedValues);
+ var visibility = org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.decodePatioVisibility(inputStream, sharedValues);
+ var initialValue = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataValue(inputStream, sharedValues);
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.PatioDataElementMutableDefinition(name, visibility, initialValue, source);
+ }
+
+ public static void encodePatioExceptionTypeDefinition(org.shedlang.compiler.patio.PatioExceptionTypeDefinition value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeString(value.name(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioType(value.valueType(), outputStream, sharedValues);
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.PatioExceptionTypeDefinition decodePatioExceptionTypeDefinition(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var name = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeString(inputStream, sharedValues);
+ var valueType = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioType(inputStream, sharedValues);
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.PatioExceptionTypeDefinition(name, valueType, source);
+ }
+
+ public static void encodePatioFunctionDeclaration(org.shedlang.compiler.patio.PatioFunctionDeclaration value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeString(value.name(), outputStream, sharedValues);
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.params().size(), outputStream, sharedValues);
+ for (var element : value.params()) {
+ org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.encodePatioLocal(element, outputStream, sharedValues);
+ }
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.returnTypes().size(), outputStream, sharedValues);
+ for (var element : value.returnTypes()) {
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioType(element, outputStream, sharedValues);
+ }
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.PatioFunctionDeclaration decodePatioFunctionDeclaration(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var name = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeString(inputStream, sharedValues);
+ var params$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var params = new java.util.ArrayList<org.shedlang.compiler.patio.PatioLocal>((int) params$size);
+ for (long params$index = 0; params$index < params$size; params$index++) {
+ var params$element = org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.decodePatioLocal(inputStream, sharedValues);
+ params.add(params$element);
+ }
+ var returnTypes$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var returnTypes = new java.util.ArrayList<org.shedlang.compiler.patio.types.PatioType>((int) returnTypes$size);
+ for (long returnTypes$index = 0; returnTypes$index < returnTypes$size; returnTypes$index++) {
+ var returnTypes$element = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioType(inputStream, sharedValues);
+ returnTypes.add(returnTypes$element);
+ }
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.PatioFunctionDeclaration(name, params, returnTypes, source);
+ }
+
+ public static void encodePatioFunctionDefinition(org.shedlang.compiler.patio.PatioFunctionDefinition value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeString(value.name(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.encodePatioVisibility(value.visibility(), outputStream, sharedValues);
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.locals().size(), outputStream, sharedValues);
+ for (var element : value.locals()) {
+ org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.encodePatioLocal(element, outputStream, sharedValues);
+ }
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.returnTypes().size(), outputStream, sharedValues);
+ for (var element : value.returnTypes()) {
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioType(element, outputStream, sharedValues);
+ }
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.body().size(), outputStream, sharedValues);
+ for (var element : value.body()) {
+ org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.encodePatioInstruction(element, outputStream, sharedValues);
+ }
+ org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeSource(value.source(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.PatioFunctionDefinition decodePatioFunctionDefinition(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var name = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeString(inputStream, sharedValues);
+ var visibility = org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.decodePatioVisibility(inputStream, sharedValues);
+ var locals$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var locals = new java.util.ArrayList<org.shedlang.compiler.patio.PatioLocal>((int) locals$size);
+ for (long locals$index = 0; locals$index < locals$size; locals$index++) {
+ var locals$element = org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.decodePatioLocal(inputStream, sharedValues);
+ locals.add(locals$element);
+ }
+ var returnTypes$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var returnTypes = new java.util.ArrayList<org.shedlang.compiler.patio.types.PatioType>((int) returnTypes$size);
+ for (long returnTypes$index = 0; returnTypes$index < returnTypes$size; returnTypes$index++) {
+ var returnTypes$element = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioType(inputStream, sharedValues);
+ returnTypes.add(returnTypes$element);
+ }
+ var body$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var body = new java.util.ArrayList<org.shedlang.compiler.patio.instructions.PatioInstruction>((int) body$size);
+ for (long body$index = 0; body$index < body$size; body$index++) {
+ var body$element = org.shedlang.compiler.patio.instructions.transient0.HobgoblinTransient0Instructions.decodePatioInstruction(inputStream, sharedValues);
+ body.add(body$element);
+ }
+ var source = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeSource(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.PatioFunctionDefinition(name, visibility, locals, returnTypes, body, source);
+ }
+
+ public static void encodePatioVisibility(org.shedlang.compiler.patio.PatioVisibility value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(value.ordinal(), outputStream, sharedValues);
+ }
+
+ private static final org.shedlang.compiler.patio.PatioVisibility[] PatioVisibility$values = org.shedlang.compiler.patio.PatioVisibility.values();
+
+ public static org.shedlang.compiler.patio.PatioVisibility decodePatioVisibility(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var ordinal = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt32(inputStream, sharedValues);
+ return PatioVisibility$values[ordinal];
+ }
+
+ public static void encodePatioLocal(org.shedlang.compiler.patio.PatioLocal value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeString(value.name(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioType(value.type(), outputStream, sharedValues);
+ org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.encodePatioLocalType(value.localType(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.PatioLocal decodePatioLocal(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var name = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeString(inputStream, sharedValues);
+ var type = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioType(inputStream, sharedValues);
+ var localType = org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio.decodePatioLocalType(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.PatioLocal(name, type, localType);
+ }
+
+ public static void encodePatioLocalType(org.shedlang.compiler.patio.PatioLocalType value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(value.ordinal(), outputStream, sharedValues);
+ }
+
+ private static final org.shedlang.compiler.patio.PatioLocalType[] PatioLocalType$values = org.shedlang.compiler.patio.PatioLocalType.values();
+
+ public static org.shedlang.compiler.patio.PatioLocalType decodePatioLocalType(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var ordinal = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt32(inputStream, sharedValues);
+ return PatioLocalType$values[ordinal];
+ }
+
+ // Custom area start: org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio body
+ // Custom area end: org.shedlang.compiler.patio.transient0.HobgoblinTransient0Patio body
+}
diff --git a/src/transient-0/java/org/shedlang/compiler/patio/types/transient0/HobgoblinTransient0Types.java b/src/transient-0/java/org/shedlang/compiler/patio/types/transient0/HobgoblinTransient0Types.java
new file mode 100644
index 00000000..efc0b55f
--- /dev/null
+++ b/src/transient-0/java/org/shedlang/compiler/patio/types/transient0/HobgoblinTransient0Types.java
@@ -0,0 +1,414 @@
+// Generated by hobgoblin.
+
+package org.shedlang.compiler.patio.types.transient0;
+
+// Custom area start: org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types imports
+// Custom area end: org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types imports
+
+public final class HobgoblinTransient0Types {
+ public static void encodePatioType(org.shedlang.compiler.patio.types.PatioType value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ switch (value) {
+ case org.shedlang.compiler.patio.types.PatioBoolType value$0 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(0, outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioBoolType(value$0, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.types.PatioByteType value$1 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(1, outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioByteType(value$1, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.types.PatioDataPtrType value$2 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(2, outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataPtrType(value$2, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.types.PatioFunctionPtrType value$3 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(3, outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioFunctionPtrType(value$3, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.types.PatioInt32Type value$4 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(4, outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioInt32Type(value$4, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.types.PatioIntType value$5 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(5, outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioIntType(value$5, outputStream, sharedValues);
+ }
+ }
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioType decodePatioType(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var variantTag = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt32(inputStream, sharedValues);
+ switch (variantTag) {
+ case 0 -> {
+ var value$0 = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioBoolType(inputStream, sharedValues);
+ return value$0;
+ }
+ case 1 -> {
+ var value$1 = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioByteType(inputStream, sharedValues);
+ return value$1;
+ }
+ case 2 -> {
+ var value$2 = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataPtrType(inputStream, sharedValues);
+ return value$2;
+ }
+ case 3 -> {
+ var value$3 = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioFunctionPtrType(inputStream, sharedValues);
+ return value$3;
+ }
+ case 4 -> {
+ var value$4 = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioInt32Type(inputStream, sharedValues);
+ return value$4;
+ }
+ case 5 -> {
+ var value$5 = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioIntType(inputStream, sharedValues);
+ return value$5;
+ }
+ default -> {
+ throw new java.lang.RuntimeException("unexpected patio/types.PatioType variant tag: " + variantTag);
+ }
+ }
+ }
+
+ public static void encodePatioBoolType(org.shedlang.compiler.patio.types.PatioBoolType value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioBoolType decodePatioBoolType(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ return org.shedlang.compiler.patio.types.PatioBoolType.INSTANCE;
+ }
+
+ public static void encodePatioByteType(org.shedlang.compiler.patio.types.PatioByteType value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioByteType decodePatioByteType(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ return org.shedlang.compiler.patio.types.PatioByteType.INSTANCE;
+ }
+
+ public static void encodePatioDataPtrType(org.shedlang.compiler.patio.types.PatioDataPtrType value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioDataPtrType decodePatioDataPtrType(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ return org.shedlang.compiler.patio.types.PatioDataPtrType.INSTANCE;
+ }
+
+ public static void encodePatioFunctionPtrType(org.shedlang.compiler.patio.types.PatioFunctionPtrType value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioFunctionPtrType decodePatioFunctionPtrType(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ return org.shedlang.compiler.patio.types.PatioFunctionPtrType.INSTANCE;
+ }
+
+ public static void encodePatioInt32Type(org.shedlang.compiler.patio.types.PatioInt32Type value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioInt32Type decodePatioInt32Type(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ return org.shedlang.compiler.patio.types.PatioInt32Type.INSTANCE;
+ }
+
+ public static void encodePatioIntType(org.shedlang.compiler.patio.types.PatioIntType value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioIntType decodePatioIntType(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ return org.shedlang.compiler.patio.types.PatioIntType.INSTANCE;
+ }
+
+ public static void encodePatioDataLayout(org.shedlang.compiler.patio.types.PatioDataLayout value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ switch (value) {
+ case org.shedlang.compiler.patio.types.PatioDataLayoutArray value$0 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(0, outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataLayoutArray(value$0, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.types.PatioDataLayoutBool value$1 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(1, outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataLayoutBool(value$1, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.types.PatioDataLayoutByte value$2 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(2, outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataLayoutByte(value$2, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.types.PatioDataLayoutDataPtr value$3 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(3, outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataLayoutDataPtr(value$3, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.types.PatioDataLayoutFunctionPtr value$4 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(4, outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataLayoutFunctionPtr(value$4, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.types.PatioDataLayoutInt value$5 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(5, outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataLayoutInt(value$5, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.types.PatioDataLayoutInt32 value$6 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(6, outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataLayoutInt32(value$6, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.types.PatioDataLayoutStruct value$7 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(7, outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataLayoutStruct(value$7, outputStream, sharedValues);
+ }
+ }
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioDataLayout decodePatioDataLayout(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var variantTag = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt32(inputStream, sharedValues);
+ switch (variantTag) {
+ case 0 -> {
+ var value$0 = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataLayoutArray(inputStream, sharedValues);
+ return value$0;
+ }
+ case 1 -> {
+ var value$1 = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataLayoutBool(inputStream, sharedValues);
+ return value$1;
+ }
+ case 2 -> {
+ var value$2 = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataLayoutByte(inputStream, sharedValues);
+ return value$2;
+ }
+ case 3 -> {
+ var value$3 = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataLayoutDataPtr(inputStream, sharedValues);
+ return value$3;
+ }
+ case 4 -> {
+ var value$4 = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataLayoutFunctionPtr(inputStream, sharedValues);
+ return value$4;
+ }
+ case 5 -> {
+ var value$5 = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataLayoutInt(inputStream, sharedValues);
+ return value$5;
+ }
+ case 6 -> {
+ var value$6 = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataLayoutInt32(inputStream, sharedValues);
+ return value$6;
+ }
+ case 7 -> {
+ var value$7 = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataLayoutStruct(inputStream, sharedValues);
+ return value$7;
+ }
+ default -> {
+ throw new java.lang.RuntimeException("unexpected patio/types.PatioDataLayout variant tag: " + variantTag);
+ }
+ }
+ }
+
+ public static void encodePatioDataLayoutArray(org.shedlang.compiler.patio.types.PatioDataLayoutArray value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataLayout(value.element(), outputStream, sharedValues);
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(value.size(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioDataLayoutArray decodePatioDataLayoutArray(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var element = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataLayout(inputStream, sharedValues);
+ var size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt32(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.types.PatioDataLayoutArray(element, size);
+ }
+
+ public static void encodePatioDataLayoutBool(org.shedlang.compiler.patio.types.PatioDataLayoutBool value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioDataLayoutBool decodePatioDataLayoutBool(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ return org.shedlang.compiler.patio.types.PatioDataLayoutBool.INSTANCE;
+ }
+
+ public static void encodePatioDataLayoutByte(org.shedlang.compiler.patio.types.PatioDataLayoutByte value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioDataLayoutByte decodePatioDataLayoutByte(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ return org.shedlang.compiler.patio.types.PatioDataLayoutByte.INSTANCE;
+ }
+
+ public static void encodePatioDataLayoutDataPtr(org.shedlang.compiler.patio.types.PatioDataLayoutDataPtr value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioDataLayoutDataPtr decodePatioDataLayoutDataPtr(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ return org.shedlang.compiler.patio.types.PatioDataLayoutDataPtr.INSTANCE;
+ }
+
+ public static void encodePatioDataLayoutFunctionPtr(org.shedlang.compiler.patio.types.PatioDataLayoutFunctionPtr value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioDataLayoutFunctionPtr decodePatioDataLayoutFunctionPtr(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ return org.shedlang.compiler.patio.types.PatioDataLayoutFunctionPtr.INSTANCE;
+ }
+
+ public static void encodePatioDataLayoutInt(org.shedlang.compiler.patio.types.PatioDataLayoutInt value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioDataLayoutInt decodePatioDataLayoutInt(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ return org.shedlang.compiler.patio.types.PatioDataLayoutInt.INSTANCE;
+ }
+
+ public static void encodePatioDataLayoutInt32(org.shedlang.compiler.patio.types.PatioDataLayoutInt32 value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioDataLayoutInt32 decodePatioDataLayoutInt32(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ return org.shedlang.compiler.patio.types.PatioDataLayoutInt32.INSTANCE;
+ }
+
+ public static void encodePatioDataLayoutStruct(org.shedlang.compiler.patio.types.PatioDataLayoutStruct value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.elements().size(), outputStream, sharedValues);
+ for (var element : value.elements()) {
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataLayout(element, outputStream, sharedValues);
+ }
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioDataLayoutStruct decodePatioDataLayoutStruct(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var elements$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var elements = new java.util.ArrayList<org.shedlang.compiler.patio.types.PatioDataLayout>((int) elements$size);
+ for (long elements$index = 0; elements$index < elements$size; elements$index++) {
+ var elements$element = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataLayout(inputStream, sharedValues);
+ elements.add(elements$element);
+ }
+ return new org.shedlang.compiler.patio.types.PatioDataLayoutStruct(elements);
+ }
+
+ public static void encodePatioDataValue(org.shedlang.compiler.patio.types.PatioDataValue value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ switch (value) {
+ case org.shedlang.compiler.patio.types.PatioDataValueArray value$0 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(0, outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataValueArray(value$0, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.types.PatioDataValueBool value$1 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(1, outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataValueBool(value$1, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.types.PatioDataValueByte value$2 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(2, outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataValueByte(value$2, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.types.PatioDataValueDataPtr value$3 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(3, outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataValueDataPtr(value$3, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.types.PatioDataValueInt value$4 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(4, outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataValueInt(value$4, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.types.PatioDataValueInt32 value$5 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(5, outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataValueInt32(value$5, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.types.PatioDataValueStruct value$6 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(6, outputStream, sharedValues);
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataValueStruct(value$6, outputStream, sharedValues);
+ }
+ }
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioDataValue decodePatioDataValue(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var variantTag = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt32(inputStream, sharedValues);
+ switch (variantTag) {
+ case 0 -> {
+ var value$0 = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataValueArray(inputStream, sharedValues);
+ return value$0;
+ }
+ case 1 -> {
+ var value$1 = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataValueBool(inputStream, sharedValues);
+ return value$1;
+ }
+ case 2 -> {
+ var value$2 = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataValueByte(inputStream, sharedValues);
+ return value$2;
+ }
+ case 3 -> {
+ var value$3 = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataValueDataPtr(inputStream, sharedValues);
+ return value$3;
+ }
+ case 4 -> {
+ var value$4 = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataValueInt(inputStream, sharedValues);
+ return value$4;
+ }
+ case 5 -> {
+ var value$5 = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataValueInt32(inputStream, sharedValues);
+ return value$5;
+ }
+ case 6 -> {
+ var value$6 = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataValueStruct(inputStream, sharedValues);
+ return value$6;
+ }
+ default -> {
+ throw new java.lang.RuntimeException("unexpected patio/types.PatioDataValue variant tag: " + variantTag);
+ }
+ }
+ }
+
+ public static void encodePatioDataValueArray(org.shedlang.compiler.patio.types.PatioDataValueArray value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataLayout(value.elementLayout(), outputStream, sharedValues);
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.elements().size(), outputStream, sharedValues);
+ for (var element : value.elements()) {
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataValue(element, outputStream, sharedValues);
+ }
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioDataValueArray decodePatioDataValueArray(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var elementLayout = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataLayout(inputStream, sharedValues);
+ var elements$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var elements = new java.util.ArrayList<org.shedlang.compiler.patio.types.PatioDataValue>((int) elements$size);
+ for (long elements$index = 0; elements$index < elements$size; elements$index++) {
+ var elements$element = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataValue(inputStream, sharedValues);
+ elements.add(elements$element);
+ }
+ return new org.shedlang.compiler.patio.types.PatioDataValueArray(elementLayout, elements);
+ }
+
+ public static void encodePatioDataValueBool(org.shedlang.compiler.patio.types.PatioDataValueBool value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeBool(value.value(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioDataValueBool decodePatioDataValueBool(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var value = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeBool(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.types.PatioDataValueBool(value);
+ }
+
+ public static void encodePatioDataValueByte(org.shedlang.compiler.patio.types.PatioDataValueByte value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt8(value.value(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioDataValueByte decodePatioDataValueByte(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var value = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt8(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.types.PatioDataValueByte(value);
+ }
+
+ public static void encodePatioDataValueDataPtr(org.shedlang.compiler.patio.types.PatioDataValueDataPtr value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values.encodePatioDataPtrValue(value.value(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioDataValueDataPtr decodePatioDataValueDataPtr(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var value = org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values.decodePatioDataPtrValue(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.types.PatioDataValueDataPtr(value);
+ }
+
+ public static void encodePatioDataValueInt(org.shedlang.compiler.patio.types.PatioDataValueInt value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values.encodePatioIntValue(value.value(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioDataValueInt decodePatioDataValueInt(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var value = org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values.decodePatioIntValue(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.types.PatioDataValueInt(value);
+ }
+
+ public static void encodePatioDataValueInt32(org.shedlang.compiler.patio.types.PatioDataValueInt32 value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values.encodePatioIntValue(value.value(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioDataValueInt32 decodePatioDataValueInt32(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var value = org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values.decodePatioIntValue(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.types.PatioDataValueInt32(value);
+ }
+
+ public static void encodePatioDataValueStruct(org.shedlang.compiler.patio.types.PatioDataValueStruct value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.elements().size(), outputStream, sharedValues);
+ for (var element : value.elements()) {
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataValue(element, outputStream, sharedValues);
+ }
+ }
+
+ public static org.shedlang.compiler.patio.types.PatioDataValueStruct decodePatioDataValueStruct(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var elements$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var elements = new java.util.ArrayList<org.shedlang.compiler.patio.types.PatioDataValue>((int) elements$size);
+ for (long elements$index = 0; elements$index < elements$size; elements$index++) {
+ var elements$element = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataValue(inputStream, sharedValues);
+ elements.add(elements$element);
+ }
+ return new org.shedlang.compiler.patio.types.PatioDataValueStruct(elements);
+ }
+
+ // Custom area start: org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types body
+ // Custom area end: org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types body
+}
diff --git a/src/transient-0/java/org/shedlang/compiler/patio/values/transient0/HobgoblinTransient0Values.java b/src/transient-0/java/org/shedlang/compiler/patio/values/transient0/HobgoblinTransient0Values.java
new file mode 100644
index 00000000..05523dc2
--- /dev/null
+++ b/src/transient-0/java/org/shedlang/compiler/patio/values/transient0/HobgoblinTransient0Values.java
@@ -0,0 +1,132 @@
+// Generated by hobgoblin.
+
+package org.shedlang.compiler.patio.values.transient0;
+
+// Custom area start: org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values imports
+// Custom area end: org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values imports
+
+public final class HobgoblinTransient0Values {
+ public static void encodePatioDataPtrValue(org.shedlang.compiler.patio.values.PatioDataPtrValue value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ switch (value) {
+ case org.shedlang.compiler.patio.values.PatioDataPtrValueDataElement value$0 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(0, outputStream, sharedValues);
+ org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values.encodePatioDataPtrValueDataElement(value$0, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.values.PatioDataPtrValueNull value$1 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(1, outputStream, sharedValues);
+ org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values.encodePatioDataPtrValueNull(value$1, outputStream, sharedValues);
+ }
+ }
+ }
+
+ public static org.shedlang.compiler.patio.values.PatioDataPtrValue decodePatioDataPtrValue(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var variantTag = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt32(inputStream, sharedValues);
+ switch (variantTag) {
+ case 0 -> {
+ var value$0 = org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values.decodePatioDataPtrValueDataElement(inputStream, sharedValues);
+ return value$0;
+ }
+ case 1 -> {
+ var value$1 = org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values.decodePatioDataPtrValueNull(inputStream, sharedValues);
+ return value$1;
+ }
+ default -> {
+ throw new java.lang.RuntimeException("unexpected patio/values.PatioDataPtrValue variant tag: " + variantTag);
+ }
+ }
+ }
+
+ public static void encodePatioDataPtrValueDataElement(org.shedlang.compiler.patio.values.PatioDataPtrValueDataElement value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeString(value.name(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.values.PatioDataPtrValueDataElement decodePatioDataPtrValueDataElement(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var name = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeString(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.values.PatioDataPtrValueDataElement(name);
+ }
+
+ public static void encodePatioDataPtrValueNull(org.shedlang.compiler.patio.values.PatioDataPtrValueNull value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ }
+
+ public static org.shedlang.compiler.patio.values.PatioDataPtrValueNull decodePatioDataPtrValueNull(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ return new org.shedlang.compiler.patio.values.PatioDataPtrValueNull();
+ }
+
+ public static void encodePatioIntValue(org.shedlang.compiler.patio.values.PatioIntValue value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ switch (value) {
+ case org.shedlang.compiler.patio.values.PatioIntValueByteOffsetOf value$0 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(0, outputStream, sharedValues);
+ org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values.encodePatioIntValueByteOffsetOf(value$0, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.values.PatioIntValueByteSizeOf value$1 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(1, outputStream, sharedValues);
+ org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values.encodePatioIntValueByteSizeOf(value$1, outputStream, sharedValues);
+ }
+ case org.shedlang.compiler.patio.values.PatioIntValueLiteral value$2 -> {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(2, outputStream, sharedValues);
+ org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values.encodePatioIntValueLiteral(value$2, outputStream, sharedValues);
+ }
+ }
+ }
+
+ public static org.shedlang.compiler.patio.values.PatioIntValue decodePatioIntValue(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var variantTag = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt32(inputStream, sharedValues);
+ switch (variantTag) {
+ case 0 -> {
+ var value$0 = org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values.decodePatioIntValueByteOffsetOf(inputStream, sharedValues);
+ return value$0;
+ }
+ case 1 -> {
+ var value$1 = org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values.decodePatioIntValueByteSizeOf(inputStream, sharedValues);
+ return value$1;
+ }
+ case 2 -> {
+ var value$2 = org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values.decodePatioIntValueLiteral(inputStream, sharedValues);
+ return value$2;
+ }
+ default -> {
+ throw new java.lang.RuntimeException("unexpected patio/values.PatioIntValue variant tag: " + variantTag);
+ }
+ }
+ }
+
+ public static void encodePatioIntValueByteOffsetOf(org.shedlang.compiler.patio.values.PatioIntValueByteOffsetOf value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataLayout(value.layout(), outputStream, sharedValues);
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.elementOffsets().size(), outputStream, sharedValues);
+ for (var element : value.elementOffsets()) {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(element, outputStream, sharedValues);
+ }
+ }
+
+ public static org.shedlang.compiler.patio.values.PatioIntValueByteOffsetOf decodePatioIntValueByteOffsetOf(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var layout = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataLayout(inputStream, sharedValues);
+ var elementOffsets$size = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues);
+ var elementOffsets = new java.util.ArrayList<java.lang.Integer>((int) elementOffsets$size);
+ for (long elementOffsets$index = 0; elementOffsets$index < elementOffsets$size; elementOffsets$index++) {
+ var elementOffsets$element = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt32(inputStream, sharedValues);
+ elementOffsets.add(elementOffsets$element);
+ }
+ return new org.shedlang.compiler.patio.values.PatioIntValueByteOffsetOf(layout, elementOffsets);
+ }
+
+ public static void encodePatioIntValueByteSizeOf(org.shedlang.compiler.patio.values.PatioIntValueByteSizeOf value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.encodePatioDataLayout(value.layout(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.values.PatioIntValueByteSizeOf decodePatioIntValueByteSizeOf(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var layout = org.shedlang.compiler.patio.types.transient0.HobgoblinTransient0Types.decodePatioDataLayout(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.values.PatioIntValueByteSizeOf(layout);
+ }
+
+ public static void encodePatioIntValueLiteral(org.shedlang.compiler.patio.values.PatioIntValueLiteral value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(value.value(), outputStream, sharedValues);
+ }
+
+ public static org.shedlang.compiler.patio.values.PatioIntValueLiteral decodePatioIntValueLiteral(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var value = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt32(inputStream, sharedValues);
+ return new org.shedlang.compiler.patio.values.PatioIntValueLiteral(value);
+ }
+
+ // Custom area start: org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values body
+ // Custom area end: org.shedlang.compiler.patio.values.transient0.HobgoblinTransient0Values body
+}