diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-07-31 14:45:04 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-07-31 15:22:40 +0100 |
| commit | 91860485774924e82da9b0774179d4c3c8da810a (patch) | |
| tree | e06f52f147502e80aea139c20adac706479cb7ea /src/transient-0/java/org/shedlang/compiler/patio/instructions | |
| parent | 410fff7b7ecf6f36a0a46ab1d90553169e3728f1 (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.java | 712 |
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 +} |
