using Parser.Internal; using System.Collections.Immutable; namespace Parser.Binding { public class BoundProgram { public BoundProgram( ImmutableArray diagnostics, FunctionSymbol? mainFunction, FunctionSymbol? scriptFunction, ImmutableDictionary functions) { Diagnostics = diagnostics; MainFunction = mainFunction; ScriptFunction = scriptFunction; Functions = functions; } public ImmutableArray Diagnostics { get; } /// /// A "main" function (first in a file without any global statements). /// public FunctionSymbol? MainFunction { get; } /// /// A "script" function (generated from all global statements in a file if there are any). /// public FunctionSymbol? ScriptFunction { get; } /// /// So-called "local" functions. /// public ImmutableDictionary Functions { get; } } }