diff options
Diffstat (limited to 'src/transient-0/java/org/shedlang/compiler/transient0')
2 files changed, 101 insertions, 0 deletions
diff --git a/src/transient-0/java/org/shedlang/compiler/transient0/HobgoblinTransient0Builtins.java b/src/transient-0/java/org/shedlang/compiler/transient0/HobgoblinTransient0Builtins.java new file mode 100644 index 00000000..4a272077 --- /dev/null +++ b/src/transient-0/java/org/shedlang/compiler/transient0/HobgoblinTransient0Builtins.java @@ -0,0 +1,79 @@ +// Generated by hobgoblin. + +package org.shedlang.compiler.transient0; + +// Custom area start: org.shedlang.compiler.transient0.HobgoblinTransient0Builtins imports +// Custom area end: org.shedlang.compiler.transient0.HobgoblinTransient0Builtins imports + +public final class HobgoblinTransient0Builtins { + public static void encodeBool(boolean value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException { + outputStream.write(value ? 1 : 0); + } + + public static boolean decodeBool(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException { + return inputStream.read() != 0; + } + + public static void encodeInt8(byte value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException { + outputStream.write(value); + } + + public static byte decodeInt8(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException { + return (byte) inputStream.read(); + } + + public static void encodeInt32(int value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException { + outputStream.write(value >>> 0 & 255); + outputStream.write(value >>> 8 & 255); + outputStream.write(value >>> 16 & 255); + outputStream.write(value >>> 24 & 255); + } + + public static int decodeInt32(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException { + int value = 0; + value = value | inputStream.read() << 0; + value = value | inputStream.read() << 8; + value = value | inputStream.read() << 16; + value = value | inputStream.read() << 24; + return value; + } + + public static void encodeInt64(long value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException { + outputStream.write((int) (value >>> 0 & 255)); + outputStream.write((int) (value >>> 8 & 255)); + outputStream.write((int) (value >>> 16 & 255)); + outputStream.write((int) (value >>> 24 & 255)); + outputStream.write((int) (value >>> 32 & 255)); + outputStream.write((int) (value >>> 40 & 255)); + outputStream.write((int) (value >>> 48 & 255)); + outputStream.write((int) (value >>> 56 & 255)); + } + + public static long decodeInt64(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException { + long value = 0; + value = value | inputStream.read() << 0; + value = value | inputStream.read() << 8; + value = value | inputStream.read() << 16; + value = value | inputStream.read() << 24; + value = value | inputStream.read() << 32; + value = value | inputStream.read() << 40; + value = value | inputStream.read() << 48; + value = value | inputStream.read() << 56; + return value; + } + + public static void encodeString(String value, java.io.OutputStream outputStream, java.util.Map<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException { + var bytes = value.getBytes(java.nio.charset.StandardCharsets.UTF_8); + org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt64((long) bytes.length, outputStream, sharedValues); + outputStream.write(bytes); + } + + public static String decodeString(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException { + var bytesLength = org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.decodeInt64(inputStream, sharedValues); + var bytes = inputStream.readNBytes((int) bytesLength); + return new String(bytes, java.nio.charset.StandardCharsets.UTF_8); + } + + // Custom area start: org.shedlang.compiler.transient0.HobgoblinTransient0Builtins body + // Custom area end: org.shedlang.compiler.transient0.HobgoblinTransient0Builtins body +} diff --git a/src/transient-0/java/org/shedlang/compiler/transient0/HobgoblinTransient0TaggedSharedValue.java b/src/transient-0/java/org/shedlang/compiler/transient0/HobgoblinTransient0TaggedSharedValue.java new file mode 100644 index 00000000..d918276f --- /dev/null +++ b/src/transient-0/java/org/shedlang/compiler/transient0/HobgoblinTransient0TaggedSharedValue.java @@ -0,0 +1,22 @@ +// Generated by hobgoblin. + +package org.shedlang.compiler.transient0; + +// Custom area start: org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue imports +// Custom area end: org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue imports + +public record HobgoblinTransient0TaggedSharedValue( + long typeId, + java.lang.Object value +) { + public boolean equals(java.lang.Object other) { + return other instanceof org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue otherSharedValue && this.typeId == otherSharedValue.typeId && this.value == otherSharedValue.value; + } + + public int hashCode() { + return 37 * (37 * 17 + java.lang.Long.hashCode(this.typeId)) + java.lang.System.identityHashCode(this.value); + } + + // Custom area start: org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue body + // Custom area end: org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue body +} |
