// 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 sharedValues) throws java.io.IOException { outputStream.write(value ? 1 : 0); } public static boolean decodeBool(java.io.InputStream inputStream, java.util.List sharedValues) throws java.io.IOException { return inputStream.read() != 0; } public static void encodeInt8(byte value, java.io.OutputStream outputStream, java.util.Map sharedValues) throws java.io.IOException { outputStream.write(value); } public static byte decodeInt8(java.io.InputStream inputStream, java.util.List sharedValues) throws java.io.IOException { return (byte) inputStream.read(); } public static void encodeInt32(int value, java.io.OutputStream outputStream, java.util.Map 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 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 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 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 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 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 }