using System.Diagnostics; using System.Text; using Intromat.Model.Compiler; namespace Intromat.Model { public class LocalVariableDefinition : ITypedVariableDefinition { public string? Value { get; set; } public string? VariableName { get; private set; } public void Compile(CompilerContext context, StringBuilder sb) { VariableName = context.FindFreeVariableName(); context.AddVariableToCurrentScope(this); Debug.Assert(Value != null, nameof(Value) + " != null"); sb.Append($"local {VariableName} = {Value}\n"); } public void CompileHeader(CompilerContext context, StringBuilder sb) { } } }