package p.studio.compiler.models;

import p.studio.compiler.source.identifiers.ModuleId;

import java.util.Objects;

public record IRSyntheticFunction(
        ModuleId moduleId,
        String callableName,
        IRSyntheticCallableKind kind,
        IRSyntheticOrigin origin) {
    public IRSyntheticFunction {
        moduleId = moduleId == null ? ModuleId.none() : moduleId;
        callableName = Objects.requireNonNull(callableName, "callableName");
        kind = Objects.requireNonNull(kind, "kind");
        origin = Objects.requireNonNull(origin, "origin");
    }
}

