Chunk.cs 641 B

12345678910111213141516171819202122
  1. using Lua.CodeAnalysis;
  2. namespace Lua.Runtime;
  3. public sealed class Chunk
  4. {
  5. public Chunk? Parent { get; internal set; }
  6. public required string Name { get; init; }
  7. public required Instruction[] Instructions { get; init; }
  8. public required SourcePosition[] SourcePositions { get; init; }
  9. public required LuaValue[] Constants { get; init; }
  10. public required UpValueInfo[] UpValues { get; init; }
  11. public required Chunk[] Functions { get; init; }
  12. public required int ParameterCount { get; init; }
  13. internal Chunk GetRoot()
  14. {
  15. if (Parent == null) return this;
  16. return Parent.GetRoot();
  17. }
  18. }