aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/values/PrimitiveValue.java
blob: 2fb4137b117d1788134827d0ada62e339386d326 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package org.zwobble.couscous.values;

import org.zwobble.couscous.types.ScalarType;
import org.zwobble.couscous.types.Type;

public interface PrimitiveValue {
    <T> T accept(Visitor<T> visitor);
    Type getType();

    interface Visitor<T> {
        T visitInteger(int value);
        T visitString(String value);
        T visitBoolean(boolean value);
        T visitUnit();
        T visitType(ScalarType value);
    }
}