aboutsummaryrefslogtreecommitdiff
path: root/src/transient-0/java/org/shedlang/compiler/patio/instructions
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/instructions
parent410fff7b7ecf6f36a0a46ab1d90553169e3728f1 (diff)
Use transient-0 instead of flatbuffersmain
Diffstat (limited to 'src/transient-0/java/org/shedlang/compiler/patio/instructions')
-rw-r--r--src/transient-0/java/org/shedlang/compiler/patio/instructions/transient0/HobgoblinTransient0Instructions.java712
1 files changed, 712 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
+}