using ARMeilleure.IntermediateRepresentation;

namespace ARMeilleure.Translation
{
    readonly struct CompilerContext
    {
        public ControlFlowGraph Cfg { get; }

        public OperandType[] FuncArgTypes { get; }
        public OperandType FuncReturnType { get; }

        public CompilerOptions Options { get; }

        public CompilerContext(
            ControlFlowGraph cfg,
            OperandType[] funcArgTypes,
            OperandType funcReturnType,
            CompilerOptions options)
        {
            Cfg = cfg;
            FuncArgTypes = funcArgTypes;
            FuncReturnType = funcReturnType;
            Options = options;
        }
    }
}