qamp/Qrakhen.Qamp.Core/Compilation/Builders/Builder.cs

20 lines
493 B
C#

using Qrakhen.Qamp.Core.Collections;
namespace Qrakhen.Qamp.Core.Compilation.Builders;
public class Builder
{
public Builder? Outer { get; init; }
public FunctionBuilder Function = new();
public readonly FunctionType Type;
public StackLike<Local> Locals = [];
public StackLike<Outer> Outers = [];
public int ScopeDepth = 0;
public Builder(FunctionType type = FunctionType.Code, Builder? outer = null)
{
Type = type;
Outer = outer;
}
}