// Generated by hobgoblin. package org.shedlang.compiler.sources.transient0; // Custom area start: org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources imports // Custom area end: org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources imports public final class HobgoblinTransient0Sources { public static void encodeSource(org.shedlang.compiler.sources.Source value, java.io.OutputStream outputStream, java.util.Map sharedValues) throws java.io.IOException { switch (value) { case org.shedlang.compiler.sources.NullSource value$0 -> { org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(0, outputStream, sharedValues); org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeNullSource(value$0, outputStream, sharedValues); } case org.shedlang.compiler.sources.RuntimeSource value$1 -> { org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(1, outputStream, sharedValues); org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeRuntimeSource(value$1, outputStream, sharedValues); } case org.shedlang.compiler.sources.FileFragmentSource value$2 -> { org.shedlang.compiler.transient0.HobgoblinTransient0Builtins.encodeInt32(2, outputStream, sharedValues); org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.encodeFileFragmentSource(value$2, outputStream, sharedValues); } } } public static org.shedlang.compiler.sources.Source decodeSource(java.io.InputStream inputStream, java.util.List 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.sources.transient0.HobgoblinTransient0Sources.decodeNullSource(inputStream, sharedValues); return value$0; } case 1 -> { var value$1 = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeRuntimeSource(inputStream, sharedValues); return value$1; } case 2 -> { var value$2 = org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources.decodeFileFragmentSource(inputStream, sharedValues); return value$2; } default -> { throw new java.lang.RuntimeException("unexpected sources.Source variant tag: " + variantTag); } } } public static void encodeNullSource(org.shedlang.compiler.sources.NullSource value, java.io.OutputStream outputStream, java.util.Map sharedValues) throws java.io.IOException { } public static org.shedlang.compiler.sources.NullSource decodeNullSource(java.io.InputStream inputStream, java.util.List sharedValues) throws java.io.IOException { return org.shedlang.compiler.sources.NullSource.INSTANCE; } public static void encodeRuntimeSource(org.shedlang.compiler.sources.RuntimeSource value, java.io.OutputStream outputStream, java.util.Map sharedValues) throws java.io.IOException { } public static org.shedlang.compiler.sources.RuntimeSource decodeRuntimeSource(java.io.InputStream inputStream, java.util.List sharedValues) throws java.io.IOException { return org.shedlang.compiler.sources.RuntimeSource.INSTANCE; } public static void encodeFileFragmentSource(org.shedlang.compiler.sources.FileFragmentSource value, java.io.OutputStream outputStream, java.util.Map sharedValues) throws java.io.IOException { org.zwobble.sourcetext.transient0.HobgoblinTransient0Sourcetext.encodeSourceRange(value.sourceRange(), outputStream, sharedValues); } public static org.shedlang.compiler.sources.FileFragmentSource decodeFileFragmentSource(java.io.InputStream inputStream, java.util.List sharedValues) throws java.io.IOException { var sourceRange = org.zwobble.sourcetext.transient0.HobgoblinTransient0Sourcetext.decodeSourceRange(inputStream, sharedValues); return new org.shedlang.compiler.sources.FileFragmentSource(sourceRange); } // Custom area start: org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources body // Custom area end: org.shedlang.compiler.sources.transient0.HobgoblinTransient0Sources body }