aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/shedlang/compiler/patio/PatioLocal.java
blob: 0cd853cb397777e0dcc93730d6c2e23182967088 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package org.shedlang.compiler.patio;

import org.shedlang.compiler.patio.operands.PatioLocalRef;
import org.shedlang.compiler.patio.types.PatioType;

public record PatioLocal(String name, PatioType type, PatioLocalType localType) {
    public static PatioLocal param(String name, PatioType type) {
        return new PatioLocal(name, type, PatioLocalType.PARAM);
    }

    public static PatioLocal val(String name, PatioType type) {
        return new PatioLocal(name, type, PatioLocalType.VAL);
    }

    public PatioLocalRef ref() {
        return new PatioLocalRef(name());
    }
}