aboutsummaryrefslogtreecommitdiff
path: root/src/transient-0/java/org/shedlang/compiler/sources/transient0/HobgoblinTransient0Sources.java
blob: 94af36bb5c02b764fb19202654f1fee54d4c0b0d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
// 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<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> 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<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.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<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
    }

    public static org.shedlang.compiler.sources.NullSource decodeNullSource(java.io.InputStream inputStream, java.util.List<java.lang.Object> 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<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
    }

    public static org.shedlang.compiler.sources.RuntimeSource decodeRuntimeSource(java.io.InputStream inputStream, java.util.List<java.lang.Object> 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<org.shedlang.compiler.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> 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<java.lang.Object> 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
}