// // Ariadne.Generator's copy of the scripts in this file: the code that actually runs. Edits here are overwritten. // In the copy beside the script, #line paths are relative to it; the compiled code uses full paths. #pragma warning disable using System; using Amphora; using System.Collections.Generic; using System.Linq; namespace Ariadne.UnitTests { partial class TutorialScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public TutorialScript() { } protected TutorialScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected TutorialScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "intro": goto intro; case "Act2": goto Act2; case "Act3": goto Act3; } #line 49 "TestScripts.cs" Log.Add("start"); #line hidden intro: #line 52 "TestScripts.cs" while (!gates.Open.Contains("intro")) #line hidden { #line 54 "TestScripts.cs" __frame.Mark("intro"); return false; #line hidden } #line 57 "TestScripts.cs" Log.Add("after intro"); #line hidden Act2: #line 58 "TestScripts.cs" using (__frame.Enter("Act2")) { if (!Act2__Passage(__frame, __time, gates)) { return false; } } #line hidden Act3: #line 59 "TestScripts.cs" using (__frame.Enter("Act3")) { if (!Act3__Passage(__frame, __time, gates)) { return false; } } #line 60 "TestScripts.cs" Log.Add("end"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Act2__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "build": goto build; case "connect": goto connect; } #line 19 "TestScripts.cs" Log.Add("act2 start"); #line hidden build: #line 22 "TestScripts.cs" while (!gates.Open.Contains("build")) #line hidden { #line 24 "TestScripts.cs" __frame.Mark("build"); return false; #line hidden } #line 27 "TestScripts.cs" Log.Add("built"); #line hidden connect: #line 30 "TestScripts.cs" while (!gates.Open.Contains("connect")) #line hidden { #line 32 "TestScripts.cs" __frame.Mark("connect"); return false; #line hidden } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Act3__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "connect": goto connect; } #line 38 "TestScripts.cs" Log.Add("act3 start"); #line hidden connect: #line 41 "TestScripts.cs" while (!gates.Open.Contains("act3 connect")) #line hidden { #line 43 "TestScripts.cs" __frame.Mark("connect"); return false; #line hidden } #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class RepeatedPassageScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public RepeatedPassageScript() { } protected RepeatedPassageScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected RepeatedPassageScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "first": goto first; case "second": goto second; } #line hidden first: #line 80 "TestScripts.cs" using (__frame.Enter("first")) { if (!Briefing__Passage(__frame, __time, gates)) { return false; } } #line hidden second: #line 82 "TestScripts.cs" using (__frame.Enter("second")) { if (!Briefing__Passage(__frame, __time, gates)) { return false; } } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Briefing__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "read": goto read; } #line hidden read: #line 69 "TestScripts.cs" while (!gates.Open.Contains("read")) #line hidden { #line 71 "TestScripts.cs" __frame.Mark("read"); return false; #line hidden } #line 74 "TestScripts.cs" gates.Open.Remove("read"); #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class TwoPausesInOneStepScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public TwoPausesInOneStepScript() { } protected TwoPausesInOneStepScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected TwoPausesInOneStepScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "connect": goto connect; case "connect#1": goto connect__1; } #line hidden connect: #line 91 "TestScripts.cs" while (!gates.Open.Contains("breaker")) #line hidden { #line 93 "TestScripts.cs" __frame.Mark("connect"); return false; #line hidden } #line hidden connect__1: #line 96 "TestScripts.cs" while (!gates.Open.Contains("load")) #line hidden { #line 98 "TestScripts.cs" __frame.Mark("connect#1"); return false; #line hidden } #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class LoopedPassageScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__i; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.i"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public LoopedPassageScript() { } protected LoopedPassageScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected LoopedPassageScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.i"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.i": #line 132 "TestScripts.cs" writer.Local("Run.i", this.Run__i); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.i", out int loaded)) { this.Run__i = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Step": goto Step; } #line hidden { ref int i = ref __frame.Run__i; #line 132 "TestScripts.cs" i = 0; #line hidden } #line hidden __loopStart1: #line hidden { ref int i = ref __frame.Run__i; #line 132 "TestScripts.cs" if (!(i < 2)) goto __loopEnd1; #line hidden } #line hidden Step: #line hidden { #line 134 "TestScripts.cs" using (__frame.Enter("Step")) { if (!Step__Passage(__frame, __time, gates)) { return false; } } #line hidden } #line hidden __loopCont1: #line hidden { ref int i = ref __frame.Run__i; #line 132 "TestScripts.cs" i++; #line hidden goto __loopStart1; #line hidden } #line hidden __loopEnd1: #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Step": __frame.SaveLocal("Run.i", writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Step__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "first": goto first; case "second": goto second; } #line 113 "TestScripts.cs" Log.Add("step begins"); #line hidden first: #line 115 "TestScripts.cs" while (!gates.Open.Contains("A")) #line hidden { #line 117 "TestScripts.cs" __frame.Mark("first"); return false; #line hidden } #line 120 "TestScripts.cs" Log.Add("A seen"); #line hidden second: #line 122 "TestScripts.cs" while (!gates.Open.Contains("B")) #line hidden { #line 124 "TestScripts.cs" __frame.Mark("second"); return false; #line hidden } #line 127 "TestScripts.cs" Log.Add("step ends"); #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class LoopedEarlyReturnScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__i; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.i"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public LoopedEarlyReturnScript() { } protected LoopedEarlyReturnScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected LoopedEarlyReturnScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.i"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.i": #line 166 "TestScripts.cs" writer.Local("Run.i", this.Run__i); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.i", out int loaded)) { this.Run__i = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Step": goto Step; } #line hidden { ref int i = ref __frame.Run__i; #line 166 "TestScripts.cs" i = 0; #line hidden } #line hidden __loopStart1: #line hidden { ref int i = ref __frame.Run__i; #line 166 "TestScripts.cs" if (!(i < 2)) goto __loopEnd1; #line hidden } #line hidden Step: #line hidden { #line 168 "TestScripts.cs" using (__frame.Enter("Step")) { if (!Step__Passage(__frame, __time, gates)) { return false; } } #line hidden } #line hidden __loopCont1: #line hidden { ref int i = ref __frame.Run__i; #line 166 "TestScripts.cs" i++; #line hidden goto __loopStart1; #line hidden } #line hidden __loopEnd1: #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Step": __frame.SaveLocal("Run.i", writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Step__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "wait": goto wait; } #line 149 "TestScripts.cs" Log.Add("step begins"); #line 150 "TestScripts.cs" if (gates.Open.Contains("skip")) { { __frame.Exit(); return true; } } #line hidden wait: #line 156 "TestScripts.cs" while (!gates.Open.Contains("A")) #line hidden { #line 158 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 161 "TestScripts.cs" Log.Add("step ends"); #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class EarlyReturnScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public EarlyReturnScript() { } protected EarlyReturnScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected EarlyReturnScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "wait": goto wait; } #line 180 "TestScripts.cs" if (gates.Open.Contains("skip")) { { __frame.Exit(); return true; } } #line hidden wait: #line 186 "TestScripts.cs" while (!gates.Open.Contains("wait")) #line hidden { #line 188 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 191 "TestScripts.cs" Log.Add("waited"); #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class LocalsScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__waits; public int Deliver__crates; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Deliver.crates"); lister.Local("Run.waits"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public LocalsScript() { } protected LocalsScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected LocalsScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Deliver.crates"); lister.Local("Run.waits"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Deliver.crates": #line 212 "TestScripts.cs" writer.Local("Deliver.crates", this.Deliver__crates); #line hidden return; case "Run.waits": #line 232 "TestScripts.cs" writer.Local("Run.waits", this.Run__waits); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Deliver.crates", out int loaded)) { this.Deliver__crates = loaded; } } { if (reader.TryLocal("Run.waits", out int loaded)) { this.Run__waits = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref int waits = ref __frame.Run__waits; switch (__frame.ResumeKey) { case "wait": goto wait; case "Deliver": goto Deliver; } #line 230 "TestScripts.cs" string greeting = "hello"; #line 231 "TestScripts.cs" Log.Add(greeting); #line 232 "TestScripts.cs" waits = 0; #line hidden wait: #line 235 "TestScripts.cs" while (!gates.Open.Contains("go")) #line hidden { #line 237 "TestScripts.cs" waits++; #line 238 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 241 "TestScripts.cs" Log.Add("waited " + waits); #line hidden Deliver: #line 242 "TestScripts.cs" using (__frame.Enter("Deliver")) { if (!Deliver__Passage(__frame, __time, gates, __frame.ResumeKey == null ? (Counted(2)) : default(int))) { return false; } } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Run.waits", writer); break; case "Deliver": Deliver__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Deliver__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, int crates__argument) { #line hidden ref int crates = ref __frame.Deliver__crates; if (__frame.ResumeKey == null) { crates = crates__argument; } switch (__frame.ResumeKey) { case "deliver": goto deliver; } #line hidden deliver: #line 215 "TestScripts.cs" while (crates > 0) #line hidden { #line 217 "TestScripts.cs" if (gates.Open.Remove("crate")) { crates--; } #line 222 "TestScripts.cs" __frame.Mark("deliver"); return false; #line hidden } #line 225 "TestScripts.cs" Log.Add("delivered"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Deliver__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "deliver": __frame.SaveLocal("Deliver.crates", writer); break; } } } } namespace Ariadne.UnitTests { partial class CapturedLocalScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public string Run__wanted; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.wanted"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public CapturedLocalScript() { } protected CapturedLocalScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected CapturedLocalScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.wanted"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.wanted": #line 250 "TestScripts.cs" writer.Local("Run.wanted", this.Run__wanted); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.wanted", out string loaded)) { this.Run__wanted = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref string wanted = ref __frame.Run__wanted; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 250 "TestScripts.cs" wanted = "go"; #line hidden wait: #line 253 "TestScripts.cs" while (!gates.Open.Any(gate => gate == __frame.Run__wanted)) #line hidden { #line 255 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Run.wanted", writer); break; } } } } namespace Ariadne.UnitTests { partial class UserTypesScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public global::Ariadne.UnitTests.Point Run__start; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.start"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public UserTypesScript() { } protected UserTypesScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Destination", out global::Ariadne.UnitTests.Waypoint loaded)) { this.Destination = loaded; } else if (!reader.HasField("Destination")) { throw new global::System.IO.InvalidDataException("UserTypesScript's save has no field 'Destination', which has no initializer to fall back on. Give it one."); } } { if (reader.TryField>("Visits", out global::System.Collections.Generic.IList loaded)) { this.Visits = loaded; } } } protected UserTypesScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Destination"); lister.Field>("Visits"); lister.Local("Run.start"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 283 "TestScripts.cs" writer.Field("Destination", this.Destination); #line 285 "TestScripts.cs" writer.Field>("Visits", this.Visits); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.start": #line 289 "TestScripts.cs" writer.Local("Run.start", this.Run__start); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.start", out global::Ariadne.UnitTests.Point loaded)) { this.Run__start = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref global::Ariadne.UnitTests.Point start = ref __frame.Run__start; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 289 "TestScripts.cs" start = new Point(1.5, -2); #line hidden wait: #line 292 "TestScripts.cs" while (!gates.Open.Contains("go")) #line hidden { #line 294 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 297 "TestScripts.cs" Destination = new Waypoint { Name = "back to start", At = start }; #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Run.start", writer); break; } } } } namespace Ariadne.UnitTests { partial class MissionArc { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } protected MissionArc() { } protected MissionArc(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Reward", out int loaded)) { this.Reward = loaded; } } { if (reader.TryField("Title", out string loaded)) { this.Title = loaded; } } } protected MissionArc(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Reward"); lister.Field("Title"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 306 "TestScripts.cs" writer.Field("Reward", this.Reward); #line 308 "TestScripts.cs" writer.Field("Title", this.Title); #line default } #pragma warning disable } } namespace Ariadne.UnitTests { partial class MissionScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.UnitTests.MissionArc.__Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { global::Ariadne.UnitTests.MissionArc.__Frame.ListParts(lister); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public MissionScript() { } protected MissionScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Stage", out int loaded)) { this.Stage = loaded; } else if (!reader.HasField("Stage")) { throw new global::System.IO.InvalidDataException("MissionScript's save has no field 'Stage', which has no initializer to fall back on. Give it one."); } } } protected MissionScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Stage"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 316 "TestScripts.cs" writer.Field("Stage", this.Stage); #line default } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "wait": goto wait; } #line hidden wait: #line 321 "TestScripts.cs" while (!gates.Open.Contains("go")) #line hidden { #line 323 "TestScripts.cs" Stage++; #line 324 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class ThrowingScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public ThrowingScript() { } protected ThrowingScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected ThrowingScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "explode": goto explode; } #line hidden explode: #line 334 "TestScripts.cs" while (!gates.Open.Contains("never")) #line hidden { #line 336 "TestScripts.cs" if (gates.Open.Contains("explode")) { throw new InvalidOperationException("boom"); } #line 341 "TestScripts.cs" __frame.Mark("explode"); return false; #line hidden } #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class BranchingScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public BranchingScript() { } protected BranchingScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected BranchingScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "first": goto first__resume; case "second": goto second__resume; case "third": goto third__resume; case "fourth": goto fourth__resume; } #line 356 "TestScripts.cs" Log.Add("start"); #line hidden first: #line 359 "TestScripts.cs" __frame.Mark("first"); return false; #line hidden first__resume: #line 360 "TestScripts.cs" Log.Add("after first"); #line hidden { #line 362 "TestScripts.cs" if (!(gates.Open.Contains("left"))) goto __else1; #line 364 "TestScripts.cs" Log.Add("left"); #line hidden } #line hidden second: #line hidden { #line 366 "TestScripts.cs" __frame.Mark("second"); return false; #line hidden } #line hidden second__resume: #line hidden { #line 367 "TestScripts.cs" Log.Add("left done"); #line hidden goto __end1; #line hidden } #line hidden __else1: #line hidden { #line 369 "TestScripts.cs" if (!(gates.Open.Contains("middle"))) goto __else2; #line 371 "TestScripts.cs" Log.Add("middle"); #line hidden } #line hidden third: #line hidden { #line 373 "TestScripts.cs" __frame.Mark("third"); return false; #line hidden } #line hidden third__resume: #line hidden { #line 374 "TestScripts.cs" Log.Add("middle done"); #line hidden goto __end2; #line hidden } #line hidden __else2: #line hidden { #line 378 "TestScripts.cs" Log.Add("right"); #line hidden } #line hidden fourth: #line hidden { #line 380 "TestScripts.cs" __frame.Mark("fourth"); return false; #line hidden } #line hidden fourth__resume: #line hidden { #line 381 "TestScripts.cs" Log.Add("right done"); #line hidden } #line hidden __end2: #line hidden __end1: #line 384 "TestScripts.cs" Log.Add("end"); #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class NestedBlocksScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public NestedBlocksScript() { } protected NestedBlocksScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected NestedBlocksScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "deep": goto deep__resume; case "after": goto after__resume; } #line hidden { #line 398 "TestScripts.cs" if (!(gates.Open.Contains("outer"))) goto __end1; #line 400 "TestScripts.cs" Log.Add("outer"); #line 402 "TestScripts.cs" Log.Add("inner"); #line hidden } #line hidden deep: #line hidden { #line 404 "TestScripts.cs" __frame.Mark("deep"); return false; #line hidden } #line hidden deep__resume: #line hidden { #line 405 "TestScripts.cs" Log.Add("inner done"); #line 408 "TestScripts.cs" Log.Add("outer done"); #line hidden } #line hidden __end1: #line hidden after: #line 412 "TestScripts.cs" __frame.Mark("after"); return false; #line hidden after__resume: #line 413 "TestScripts.cs" Log.Add("end"); #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class ConditionProbeScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public ConditionProbeScript() { } protected ConditionProbeScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected ConditionProbeScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "inside": goto inside__resume; } #line hidden { #line 436 "TestScripts.cs" if (!(Probe(gates))) goto __end1; #line hidden } #line hidden inside: #line hidden { #line 439 "TestScripts.cs" __frame.Mark("inside"); return false; #line hidden } #line hidden inside__resume: #line hidden { #line 440 "TestScripts.cs" Log.Add("inside"); #line hidden } #line hidden __end1: #line 443 "TestScripts.cs" Log.Add("end"); #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class BranchLocalsScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__total; public int Run__total__1; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.total"); lister.Local("Run.total#1"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public BranchLocalsScript() { } protected BranchLocalsScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected BranchLocalsScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.total"); lister.Local("Run.total#1"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.total": #line 459 "TestScripts.cs" writer.Local("Run.total", this.Run__total); #line hidden return; case "Run.total#1": #line 467 "TestScripts.cs" writer.Local("Run.total#1", this.Run__total__1); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.total", out int loaded)) { this.Run__total = loaded; } } { if (reader.TryLocal("Run.total#1", out int loaded)) { this.Run__total__1 = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "big": goto big__resume; case "small": goto small__resume; } #line hidden { ref int total = ref __frame.Run__total; #line 457 "TestScripts.cs" if (!(gates.Open.Contains("big"))) goto __else1; #line 459 "TestScripts.cs" total = 10; #line hidden } #line hidden big: #line hidden { #line 461 "TestScripts.cs" __frame.Mark("big"); return false; #line hidden } #line hidden big__resume: #line hidden { ref int total = ref __frame.Run__total; #line 462 "TestScripts.cs" total++; #line 463 "TestScripts.cs" Log.Add("big " + total); #line hidden goto __end1; #line hidden } #line hidden __else1: #line hidden { ref int total = ref __frame.Run__total__1; #line 467 "TestScripts.cs" total = 1; #line hidden } #line hidden small: #line hidden { #line 469 "TestScripts.cs" __frame.Mark("small"); return false; #line hidden } #line hidden small__resume: #line hidden { ref int total = ref __frame.Run__total__1; #line 470 "TestScripts.cs" total++; #line 471 "TestScripts.cs" Log.Add("small " + total); #line hidden } #line hidden __end1: #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "big": __frame.SaveLocal("Run.total", writer); break; case "small": __frame.SaveLocal("Run.total#1", writer); break; } } } } namespace Ariadne.UnitTests { partial class AcrossScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__doubled; public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public AcrossScript() { } protected AcrossScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected AcrossScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "mid": goto mid__resume; } #line hidden { ref int doubled = ref __frame.Run__doubled; #line 486 "TestScripts.cs" if (!(gates.Open.Contains("go"))) goto __end1; #line hidden } #line hidden mid: #line hidden { #line 490 "TestScripts.cs" __frame.Mark("mid"); return false; #line hidden } #line hidden mid__resume: #line hidden { ref int doubled = ref __frame.Run__doubled; #line 491 "TestScripts.cs" doubled = gates.Open.Count * 2; #line 492 "TestScripts.cs" Log.Add("doubled " + doubled); #line hidden } #line hidden __end1: #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class NestedKindsScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public NestedKindsScript() { } protected NestedKindsScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected NestedKindsScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Briefing": goto Briefing; case "wait": goto wait; } #line hidden { #line 518 "TestScripts.cs" if (!(gates.Open.Contains("brief"))) goto __else1; #line hidden } #line hidden Briefing: #line hidden { #line 520 "TestScripts.cs" using (__frame.Enter("Briefing")) { if (!Briefing__Passage(__frame, __time, gates)) { return false; } } #line 521 "TestScripts.cs" Log.Add("after brief"); #line hidden goto __end1; #line hidden } #line hidden __else1: #line hidden wait: #line hidden { #line 526 "TestScripts.cs" while (!gates.Open.Contains("go")) #line hidden { #line 528 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 531 "TestScripts.cs" Log.Add("went"); #line hidden } #line hidden __end1: #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Briefing__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "read": goto read; } #line hidden read: #line 508 "TestScripts.cs" while (!gates.Open.Contains("read")) #line hidden { #line 510 "TestScripts.cs" __frame.Mark("read"); return false; #line hidden } #line 513 "TestScripts.cs" Log.Add("briefed"); #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class SharedCounterScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__visits; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.visits"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public SharedCounterScript() { } protected SharedCounterScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected SharedCounterScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.visits"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.visits": #line 546 "TestScripts.cs" writer.Local("Run.visits", this.Run__visits); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.visits", out int loaded)) { this.Run__visits = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref int visits = ref __frame.Run__visits; switch (__frame.ResumeKey) { case "step": goto step__resume; } #line 546 "TestScripts.cs" visits = 0; #line hidden { #line 547 "TestScripts.cs" if (!(gates.Open.Contains("go"))) goto __end1; #line 549 "TestScripts.cs" visits++; #line hidden } #line hidden step: #line hidden { #line 551 "TestScripts.cs" __frame.Mark("step"); return false; #line hidden } #line hidden step__resume: #line hidden { #line 552 "TestScripts.cs" visits++; #line hidden } #line hidden __end1: #line 555 "TestScripts.cs" Log.Add("visits " + visits); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "step": __frame.SaveLocal("Run.visits", writer); break; } } } } namespace Ariadne.UnitTests { partial class WhileMiddleScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__round; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.round"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public WhileMiddleScript() { } protected WhileMiddleScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected WhileMiddleScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.round"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.round": #line 569 "TestScripts.cs" writer.Local("Run.round", this.Run__round); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.round", out int loaded)) { this.Run__round = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref int round = ref __frame.Run__round; switch (__frame.ResumeKey) { case "wait": goto wait__resume; } #line 569 "TestScripts.cs" round = 0; #line hidden __loopStart1: #line hidden { #line 572 "TestScripts.cs" if (!(round < 4)) goto __loopEnd1; #line 574 "TestScripts.cs" round++; #line 575 "TestScripts.cs" if (gates.Open.Contains("skip" + round)) { goto __loopStart1; } #line 580 "TestScripts.cs" if (gates.Open.Contains("stop" + round)) { goto __loopEnd1; } #line 585 "TestScripts.cs" Log.Add("before " + round); #line hidden } #line hidden wait: #line hidden { #line 586 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line hidden wait__resume: #line hidden { #line 587 "TestScripts.cs" Log.Add("after " + round); #line hidden goto __loopStart1; #line hidden } #line hidden __loopEnd1: #line 590 "TestScripts.cs" Log.Add("done " + round); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Run.round", writer); break; } } } } namespace Ariadne.UnitTests { partial class ForPauseScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__i; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.i"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public ForPauseScript() { } protected ForPauseScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected ForPauseScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.i"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.i": #line 605 "TestScripts.cs" writer.Local("Run.i", this.Run__i); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.i", out int loaded)) { this.Run__i = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "wait": goto wait__resume; } #line hidden { ref int i = ref __frame.Run__i; #line 605 "TestScripts.cs" i = 0; #line hidden } #line hidden __loopStart1: #line hidden { ref int i = ref __frame.Run__i; #line 605 "TestScripts.cs" if (!(i < 3)) goto __loopEnd1; #line 607 "TestScripts.cs" Log.Add("i " + i); #line hidden } #line hidden wait: #line hidden { #line 608 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line hidden wait__resume: #line hidden __loopCont1: #line hidden { ref int i = ref __frame.Run__i; #line 605 "TestScripts.cs" i++; #line hidden goto __loopStart1; #line hidden } #line hidden __loopEnd1: #line 611 "TestScripts.cs" Log.Add("end"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Run.i", writer); break; } } } } namespace Ariadne.UnitTests { partial class DoPauseScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__count; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.count"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public DoPauseScript() { } protected DoPauseScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected DoPauseScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.count"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.count": #line 622 "TestScripts.cs" writer.Local("Run.count", this.Run__count); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.count", out int loaded)) { this.Run__count = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref int count = ref __frame.Run__count; switch (__frame.ResumeKey) { case "wait": goto wait__resume; } #line 622 "TestScripts.cs" count = 0; #line hidden __loopStart1: #line hidden { #line 627 "TestScripts.cs" Log.Add("do " + count); #line 628 "TestScripts.cs" count++; #line hidden } #line hidden wait: #line hidden { #line 629 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line hidden wait__resume: #line hidden __loopCont1: #line hidden { #line 631 "TestScripts.cs" if (count < 3) goto __loopStart1; #line hidden } #line hidden __loopEnd1: #line 633 "TestScripts.cs" Log.Add("done"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Run.count", writer); break; } } } } namespace Ariadne.UnitTests { partial class NestedLoopsScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__j; public int Run__k; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.j"); lister.Local("Run.k"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public NestedLoopsScript() { } protected NestedLoopsScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected NestedLoopsScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.j"); lister.Local("Run.k"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.j": #line 648 "TestScripts.cs" writer.Local("Run.j", this.Run__j); #line hidden return; case "Run.k": #line 650 "TestScripts.cs" writer.Local("Run.k", this.Run__k); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.j", out int loaded)) { this.Run__j = loaded; } } { if (reader.TryLocal("Run.k", out int loaded)) { this.Run__k = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "row": goto row; } #line hidden { ref int j = ref __frame.Run__j; #line 648 "TestScripts.cs" j = 0; #line hidden } #line hidden __loopStart1: #line hidden { ref int j = ref __frame.Run__j; ref int k = ref __frame.Run__k; #line 648 "TestScripts.cs" if (!(j < 2)) goto __loopEnd1; #line 650 "TestScripts.cs" k = 0; #line hidden } #line hidden row: #line hidden { ref int j = ref __frame.Run__j; ref int k = ref __frame.Run__k; #line 651 "TestScripts.cs" while (k < 2) #line hidden { #line 653 "TestScripts.cs" Log.Add("j" + j + "k" + k); #line 654 "TestScripts.cs" k++; #line 655 "TestScripts.cs" __frame.Mark("row"); return false; #line hidden } #line 658 "TestScripts.cs" Log.Add("row " + j); #line hidden } #line hidden __loopCont1: #line hidden { ref int j = ref __frame.Run__j; #line 648 "TestScripts.cs" j++; #line hidden goto __loopStart1; #line hidden } #line hidden __loopEnd1: #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "row": __frame.SaveLocal("Run.j", writer); __frame.SaveLocal("Run.k", writer); break; } } } } namespace Ariadne.UnitTests { partial class LoopBodyLocalsScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__count; public int Run__seen; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.count"); lister.Local("Run.seen"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public LoopBodyLocalsScript() { } protected LoopBodyLocalsScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected LoopBodyLocalsScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.count"); lister.Local("Run.seen"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.count": #line 673 "TestScripts.cs" writer.Local("Run.count", this.Run__count); #line hidden return; case "Run.seen": #line 685 "TestScripts.cs" writer.Local("Run.seen", this.Run__seen); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.count", out int loaded)) { this.Run__count = loaded; } } { if (reader.TryLocal("Run.seen", out int loaded)) { this.Run__seen = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref int count = ref __frame.Run__count; switch (__frame.ResumeKey) { case "wait": goto wait__resume; } #line 673 "TestScripts.cs" count = 0; #line hidden __loopStart1: #line hidden { ref int seen = ref __frame.Run__seen; #line 676 "TestScripts.cs" if (!(count < 3)) goto __loopEnd1; #line 678 "TestScripts.cs" count++; #line 679 "TestScripts.cs" switch (count) { case 2: goto __loopStart1; } #line 685 "TestScripts.cs" seen = gates.Open.Count; #line hidden } #line hidden wait: #line hidden { #line 686 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line hidden wait__resume: #line hidden { ref int seen = ref __frame.Run__seen; #line 687 "TestScripts.cs" Log.Add("count " + count + " seen " + seen); #line hidden goto __loopStart1; #line hidden } #line hidden __loopEnd1: #line 690 "TestScripts.cs" Log.Add("end"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Run.count", writer); __frame.SaveLocal("Run.seen", writer); break; } } } } namespace Ariadne.UnitTests { partial class ForContinueScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__i; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.i"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public ForContinueScript() { } protected ForContinueScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected ForContinueScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.i"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.i": #line 705 "TestScripts.cs" writer.Local("Run.i", this.Run__i); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.i", out int loaded)) { this.Run__i = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "wait": goto wait__resume; } #line hidden { ref int i = ref __frame.Run__i; #line 705 "TestScripts.cs" i = 0; #line hidden } #line hidden __loopStart1: #line hidden { ref int i = ref __frame.Run__i; #line 705 "TestScripts.cs" if (!(i < 4)) goto __loopEnd1; #line 707 "TestScripts.cs" if (i == 1) { goto __loopCont1; } #line 712 "TestScripts.cs" Log.Add("i " + i); #line hidden } #line hidden wait: #line hidden { #line 713 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line hidden wait__resume: #line hidden __loopCont1: #line hidden { ref int i = ref __frame.Run__i; #line 705 "TestScripts.cs" i++; #line hidden goto __loopStart1; #line hidden } #line hidden __loopEnd1: #line 716 "TestScripts.cs" Log.Add("end"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Run.i", writer); break; } } } } namespace Ariadne.UnitTests { partial class DoContinueScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__n; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.n"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public DoContinueScript() { } protected DoContinueScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected DoContinueScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.n"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.n": #line 730 "TestScripts.cs" writer.Local("Run.n", this.Run__n); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.n", out int loaded)) { this.Run__n = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref int n = ref __frame.Run__n; switch (__frame.ResumeKey) { case "wait": goto wait__resume; } #line 730 "TestScripts.cs" n = 0; #line hidden __loopStart1: #line hidden { #line 735 "TestScripts.cs" n++; #line 736 "TestScripts.cs" if (n == 2) { goto __loopCont1; } #line 741 "TestScripts.cs" Log.Add("n " + n); #line hidden } #line hidden wait: #line hidden { #line 742 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line hidden wait__resume: #line hidden __loopCont1: #line hidden { #line 744 "TestScripts.cs" if (n < 3) goto __loopStart1; #line hidden } #line hidden __loopEnd1: #line 746 "TestScripts.cs" Log.Add("end"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Run.n", writer); break; } } } } namespace Ariadne.UnitTests { partial class SwitchPauseScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public SwitchPauseScript() { } protected SwitchPauseScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected SwitchPauseScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "first": goto first__resume; case "second": goto second__resume; } #line 760 "TestScripts.cs" int choice = 0; #line 761 "TestScripts.cs" if (gates.Open.Contains("a")) { choice = 1; } else if (gates.Open.Contains("b")) { choice = 2; } #line hidden { #line 770 "TestScripts.cs" switch (choice) #line hidden { #line 772 "TestScripts.cs" case 1: goto __switch1_0; #line 778 "TestScripts.cs" case 2: #line 779 "TestScripts.cs" case 3: goto __switch1_1; #line 785 "TestScripts.cs" default: goto __switch1_2; #line hidden } #line hidden } #line hidden __switch1_0: #line hidden { #line 773 "TestScripts.cs" Log.Add("one"); #line hidden } #line hidden first: #line hidden { #line 775 "TestScripts.cs" __frame.Mark("first"); return false; #line hidden } #line hidden first__resume: #line hidden { #line 776 "TestScripts.cs" Log.Add("one done"); #line 777 "TestScripts.cs" goto __switchEnd1; #line hidden } #line hidden __switch1_1: #line hidden { #line 780 "TestScripts.cs" Log.Add("two or three"); #line hidden } #line hidden second: #line hidden { #line 782 "TestScripts.cs" __frame.Mark("second"); return false; #line hidden } #line hidden second__resume: #line hidden { #line 783 "TestScripts.cs" Log.Add("two or three done"); #line 784 "TestScripts.cs" goto __switchEnd1; #line hidden } #line hidden __switch1_2: #line hidden { #line 786 "TestScripts.cs" Log.Add("other"); #line 787 "TestScripts.cs" goto __switchEnd1; #line hidden } #line hidden __switchEnd1: #line 790 "TestScripts.cs" Log.Add("end"); #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class SwitchLoopScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__n; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.n"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public SwitchLoopScript() { } protected SwitchLoopScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected SwitchLoopScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.n"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.n": #line 804 "TestScripts.cs" writer.Local("Run.n", this.Run__n); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.n", out int loaded)) { this.Run__n = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref int n = ref __frame.Run__n; switch (__frame.ResumeKey) { case "wait": goto wait__resume; } #line 804 "TestScripts.cs" n = 0; #line hidden __loopStart1: #line hidden { #line 807 "TestScripts.cs" if (!(n < 3)) goto __loopEnd1; #line 809 "TestScripts.cs" n++; #line 810 "TestScripts.cs" switch (n) #line hidden { #line 812 "TestScripts.cs" case 2: goto __switch1_0; #line 814 "TestScripts.cs" case 3: goto __switch1_1; #line 818 "TestScripts.cs" default: goto __switch1_2; #line hidden } #line hidden } #line hidden __switch1_0: #line hidden { #line 813 "TestScripts.cs" goto __loopStart1; #line hidden } #line hidden __switch1_1: #line hidden { #line 815 "TestScripts.cs" Log.Add("three"); #line hidden } #line hidden wait: #line hidden { #line 816 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line hidden wait__resume: #line hidden { #line 817 "TestScripts.cs" goto __switchEnd1; #line hidden } #line hidden __switch1_2: #line hidden { #line 819 "TestScripts.cs" Log.Add("other " + n); #line 820 "TestScripts.cs" goto __switchEnd1; #line hidden } #line hidden __switchEnd1: #line hidden { #line 823 "TestScripts.cs" Log.Add("after " + n); #line hidden goto __loopStart1; #line hidden } #line hidden __loopEnd1: #line 826 "TestScripts.cs" Log.Add("end"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Run.n", writer); break; } } } } namespace Ariadne.UnitTests { partial class GotoCaseScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public GotoCaseScript() { } protected GotoCaseScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected GotoCaseScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "step": goto step__resume; } #line 837 "TestScripts.cs" int state = gates.Open.Count + 1; #line hidden { #line 838 "TestScripts.cs" switch (state) #line hidden { #line 840 "TestScripts.cs" case 1: goto __switch1_0; #line 843 "TestScripts.cs" case 2: goto __switch1_1; #line hidden } #line hidden goto __switchEnd1; #line hidden } #line hidden __switch1_0: #line hidden { #line 841 "TestScripts.cs" Log.Add("one"); #line 842 "TestScripts.cs" goto __switch1_1; #line hidden } #line hidden __switch1_1: #line hidden { #line 844 "TestScripts.cs" Log.Add("two"); #line hidden } #line hidden step: #line hidden { #line 846 "TestScripts.cs" __frame.Mark("step"); return false; #line hidden } #line hidden step__resume: #line hidden { #line 847 "TestScripts.cs" Log.Add("after"); #line 848 "TestScripts.cs" goto __switchEnd1; #line hidden } #line hidden __switchEnd1: #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class GuardClauseScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__count; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.count"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public GuardClauseScript() { } protected GuardClauseScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected GuardClauseScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.count"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.count": #line 866 "TestScripts.cs" writer.Local("Run.count", this.Run__count); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.count", out int loaded)) { this.Run__count = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref int count = ref __frame.Run__count; switch (__frame.ResumeKey) { case "wait": goto wait__resume; } #line 866 "TestScripts.cs" if (!int.TryParse(Text, out count)) { Log.Add("bad"); { __frame.Exit(); return true; } } #line hidden wait: #line 873 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden wait__resume: #line 874 "TestScripts.cs" Log.Add("count " + count); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Run.count", writer); break; } } } } namespace Ariadne.UnitTests { partial class PatternIfScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public string Run__text; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.text"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public PatternIfScript() { } protected PatternIfScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected PatternIfScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.text"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.text": #line 891 "TestScripts.cs" writer.Local("Run.text", this.Run__text); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.text", out string loaded)) { this.Run__text = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "wait": goto wait__resume; } #line hidden { ref string text = ref __frame.Run__text; #line 891 "TestScripts.cs" if (!((Thing is string text__pattern && ((text = text__pattern) is var _)) && text.Length > 0)) goto __else1; #line hidden } #line hidden wait: #line hidden { #line 894 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line hidden wait__resume: #line hidden { ref string text = ref __frame.Run__text; #line 895 "TestScripts.cs" Log.Add("text " + text); #line hidden goto __end1; #line hidden } #line hidden __else1: #line hidden { #line 898 "TestScripts.cs" { Log.Add("none"); } #line hidden } #line hidden __end1: #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Run.text", writer); break; } } } } namespace Ariadne.UnitTests { partial class OutLoopScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__item; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.item"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public OutLoopScript() { } protected OutLoopScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Remaining", out int loaded)) { this.Remaining = loaded; } } } protected OutLoopScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Remaining"); lister.Local("Run.item"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 912 "TestScripts.cs" writer.Field("Remaining", this.Remaining); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.item": #line 923 "TestScripts.cs" writer.Local("Run.item", this.Run__item); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.item", out int loaded)) { this.Run__item = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "wait": goto wait__resume; } #line hidden __loopStart1: #line hidden { ref int item = ref __frame.Run__item; #line 923 "TestScripts.cs" if (!(Next(out item))) goto __loopEnd1; #line hidden } #line hidden wait: #line hidden { #line 925 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line hidden wait__resume: #line hidden { ref int item = ref __frame.Run__item; #line 926 "TestScripts.cs" Log.Add("item " + item); #line hidden goto __loopStart1; #line hidden } #line hidden __loopEnd1: #line 929 "TestScripts.cs" Log.Add("end"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Run.item", writer); break; } } } } namespace Ariadne.UnitTests { partial class PatternCaseScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public string Run__text; public int Run__number; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.text"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public PatternCaseScript() { } protected PatternCaseScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected PatternCaseScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.text"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.text": #line 948 "TestScripts.cs" writer.Local("Run.text", this.Run__text); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.text", out string loaded)) { this.Run__text = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "found": goto found__resume; } #line hidden { ref string text = ref __frame.Run__text; ref int number = ref __frame.Run__number; #line 946 "TestScripts.cs" switch (Thing) #line hidden { #line 948 "TestScripts.cs" case string text__pattern when ((text = text__pattern) is var _) && (text.Length > 0): goto __switch1_0; #line 954 "TestScripts.cs" case int number__pattern when ((number = number__pattern) is var _): goto __switch1_1; #line 957 "TestScripts.cs" default: goto __switch1_2; #line hidden } #line hidden } #line hidden __switch1_0: #line hidden { ref string text = ref __frame.Run__text; #line 949 "TestScripts.cs" Log.Add("string " + text); #line hidden } #line hidden found: #line hidden { #line 951 "TestScripts.cs" __frame.Mark("found"); return false; #line hidden } #line hidden found__resume: #line hidden { ref string text = ref __frame.Run__text; #line 952 "TestScripts.cs" Log.Add("done " + text); #line 953 "TestScripts.cs" goto __switchEnd1; #line hidden } #line hidden __switch1_1: #line hidden { ref int number = ref __frame.Run__number; #line 955 "TestScripts.cs" Log.Add("int " + number); #line 956 "TestScripts.cs" goto __switchEnd1; #line hidden } #line hidden __switch1_2: #line hidden { #line 958 "TestScripts.cs" Log.Add("other"); #line 959 "TestScripts.cs" goto __switchEnd1; #line hidden } #line hidden __switchEnd1: #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "found": __frame.SaveLocal("Run.text", writer); break; } } } } namespace Ariadne.UnitTests { partial class DeconstructionScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__low; public int Run__high; public int Run__inner; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.high"); lister.Local("Run.inner"); lister.Local("Run.low"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public DeconstructionScript() { } protected DeconstructionScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected DeconstructionScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.high"); lister.Local("Run.inner"); lister.Local("Run.low"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.high": #line 977 "TestScripts.cs" writer.Local("Run.high", this.Run__high); #line hidden return; case "Run.inner": #line 978 "TestScripts.cs" writer.Local("Run.inner", this.Run__inner); #line hidden return; case "Run.low": #line 977 "TestScripts.cs" writer.Local("Run.low", this.Run__low); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.high", out int loaded)) { this.Run__high = loaded; } } { if (reader.TryLocal("Run.inner", out int loaded)) { this.Run__inner = loaded; } } { if (reader.TryLocal("Run.low", out int loaded)) { this.Run__low = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref int low = ref __frame.Run__low; ref int high = ref __frame.Run__high; ref int inner = ref __frame.Run__inner; switch (__frame.ResumeKey) { case "wait": goto wait__resume; } #line 977 "TestScripts.cs" (low, high) = Bounds; #line 978 "TestScripts.cs" (var spare, (inner, _)) = (low + 1, (high + 1, 0)); #line hidden wait: #line 981 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden wait__resume: #line 982 "TestScripts.cs" Log.Add(low + "-" + high + " " + inner); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Run.low", writer); __frame.SaveLocal("Run.high", writer); __frame.SaveLocal("Run.inner", writer); break; } } } } namespace Ariadne.UnitTests { partial class AskScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Ask__waited; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public AskScript() { } protected AskScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected AskScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Ask.waited": #line 996 "TestScripts.cs" writer.Local("Ask.waited", this.Ask__waited); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Ask.waited", out int loaded)) { this.Ask__waited = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "first": goto first; } #line hidden first: #line 1011 "TestScripts.cs" int choice; { int __value; using (__frame.Enter("first")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } choice = __value; } #line 1012 "TestScripts.cs" Log.Add("choice " + choice); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "first": Ask__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); ref int waited = ref __frame.Ask__waited; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 996 "TestScripts.cs" waited = 0; #line hidden wait: #line 999 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1001 "TestScripts.cs" waited++; #line 1002 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1005 "TestScripts.cs" { __result = gates.Open.Count * 10 + waited; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Ask__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Ask.waited", writer); break; } } } } namespace Ariadne.UnitTests { partial class ValueChainScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public ValueChainScript() { } protected ValueChainScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected ValueChainScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Outer": goto Outer; } #line hidden Outer: #line 1042 "TestScripts.cs" int result; { int __value; using (__frame.Enter("Outer")) { if (!Outer__Passage(__frame, __time, gates, __result: out __value)) { return false; } } result = __value; } #line 1043 "TestScripts.cs" Log.Add("result " + result); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Inner__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); switch (__frame.ResumeKey) { case "wait": goto wait; } #line hidden wait: #line 1027 "TestScripts.cs" while (!gates.Open.Contains("inner")) #line hidden { #line 1029 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1032 "TestScripts.cs" { __result = 7; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Outer__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); switch (__frame.ResumeKey) { case "Inner": goto Inner; } #line hidden Inner: #line 1037 "TestScripts.cs" { int __value; using (__frame.Enter("Inner")) { if (!Inner__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __result = __value; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class KeptResultScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__first; public int Ask__waited; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); lister.Local("Run.first"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public KeptResultScript() { } protected KeptResultScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected KeptResultScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); lister.Local("Run.first"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Ask.waited": #line 1057 "TestScripts.cs" writer.Local("Ask.waited", this.Ask__waited); #line hidden return; case "Run.first": #line 1071 "TestScripts.cs" writer.Local("Run.first", this.Run__first); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Ask.waited", out int loaded)) { this.Ask__waited = loaded; } } { if (reader.TryLocal("Run.first", out int loaded)) { this.Run__first = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref int first = ref __frame.Run__first; switch (__frame.ResumeKey) { case "Ask": goto Ask; case "second": goto second__resume; } #line hidden Ask: #line 1071 "TestScripts.cs" { int __value; using (__frame.Enter("Ask")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } first = __value; } #line hidden second: #line 1074 "TestScripts.cs" __frame.Mark("second"); return false; #line hidden second__resume: #line 1075 "TestScripts.cs" Log.Add("first " + first); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Ask": Ask__LocalsToSave(__frame, depth + 1, writer); break; case "second": __frame.SaveLocal("Run.first", writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); ref int waited = ref __frame.Ask__waited; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 1057 "TestScripts.cs" waited = 0; #line hidden wait: #line 1060 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1062 "TestScripts.cs" waited++; #line 1063 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1066 "TestScripts.cs" { __result = gates.Open.Count * 10 + waited; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Ask__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Ask.waited", writer); break; } } } } namespace Ariadne.UnitTests { partial class AssignedValuesScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Ask__waited; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public AssignedValuesScript() { } protected AssignedValuesScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Total", out int loaded)) { this.Total = loaded; } else if (!reader.HasField("Total")) { throw new global::System.IO.InvalidDataException("AssignedValuesScript's save has no field 'Total', which has no initializer to fall back on. Give it one."); } } } protected AssignedValuesScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Total"); lister.Local("Ask.waited"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 1087 "TestScripts.cs" writer.Field("Total", this.Total); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Ask.waited": #line 1091 "TestScripts.cs" writer.Local("Ask.waited", this.Ask__waited); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Ask.waited", out int loaded)) { this.Ask__waited = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "one": goto one; case "two": goto two; } #line hidden one: #line 1106 "TestScripts.cs" { int __value; using (__frame.Enter("one")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } Total = __value; } #line hidden two: #line 1108 "TestScripts.cs" { int __value; using (__frame.Enter("two")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } _ = __value; } #line 1109 "TestScripts.cs" Log.Add("total " + Total); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "one": Ask__LocalsToSave(__frame, depth + 1, writer); break; case "two": Ask__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); ref int waited = ref __frame.Ask__waited; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 1091 "TestScripts.cs" waited = 0; #line hidden wait: #line 1094 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1096 "TestScripts.cs" waited++; #line 1097 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1100 "TestScripts.cs" { __result = gates.Open.Count * 10 + waited; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Ask__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Ask.waited", writer); break; } } } } namespace Ariadne.UnitTests { partial class BranchingValueScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public BranchingValueScript() { } protected BranchingValueScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected BranchingValueScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Pick": goto Pick; } #line hidden Pick: #line 1135 "TestScripts.cs" string picked; { string __value; using (__frame.Enter("Pick")) { if (!Pick__Passage(__frame, __time, gates, __result: out __value)) { return false; } } picked = __value; } #line 1136 "TestScripts.cs" Log.Add(picked); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Pick__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out string __result) { #line hidden __result = default(string); switch (__frame.ResumeKey) { case "wait": goto wait__resume; } #line hidden { #line 1123 "TestScripts.cs" if (!(gates.Open.Contains("left"))) goto __end1; #line hidden } #line hidden wait: #line hidden { #line 1126 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line hidden wait__resume: #line hidden { #line 1127 "TestScripts.cs" { __result = "left done"; __frame.Exit(); return true; } #line hidden } #line hidden __end1: #line 1130 "TestScripts.cs" { __result = "right"; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class SpillOrderScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run____spill1; public int Run____spill2; public int Ask__waited; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); lister.Local("Run.__spill1"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public SpillOrderScript() { } protected SpillOrderScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Offset", out int loaded)) { this.Offset = loaded; } } } protected SpillOrderScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Offset"); lister.Local("Ask.waited"); lister.Local("Run.__spill1"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 1148 "TestScripts.cs" writer.Field("Offset", this.Offset); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Ask.waited": #line 1152 "TestScripts.cs" writer.Local("Ask.waited", this.Ask__waited); #line hidden return; case "Run.__spill1": #line 1166 "TestScripts.cs" writer.Local("Run.__spill1", this.Run____spill1); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Ask.waited", out int loaded)) { this.Ask__waited = loaded; } } { if (reader.TryLocal("Run.__spill1", out int loaded)) { this.Run____spill1 = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Ask": goto Ask; } #line 1166 "TestScripts.cs" __frame.Run____spill1 = Offset; #line hidden Ask: #line 1166 "TestScripts.cs" { int __value; using (__frame.Enter("Ask")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill2 = __value; } #line 1166 "TestScripts.cs" int result = __frame.Run____spill1 + __frame.Run____spill2; #line 1167 "TestScripts.cs" Log.Add("result " + result); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Ask": __frame.SaveLocal("Run.__spill1", writer); Ask__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); ref int waited = ref __frame.Ask__waited; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 1152 "TestScripts.cs" waited = 0; #line hidden wait: #line 1155 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1157 "TestScripts.cs" waited++; #line 1158 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1161 "TestScripts.cs" { __result = gates.Open.Count * 10 + waited; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Ask__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Ask.waited", writer); break; } } } } namespace Ariadne.UnitTests { partial class TwoCallsScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run____spill1; public int Run____spill2; public int Run____spill3; public int Ask__waited; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); lister.Local("Run.__spill2"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public TwoCallsScript() { } protected TwoCallsScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected TwoCallsScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); lister.Local("Run.__spill2"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Ask.waited": #line 1181 "TestScripts.cs" writer.Local("Ask.waited", this.Ask__waited); #line hidden return; case "Run.__spill2": #line 1206 "TestScripts.cs" writer.Local("Run.__spill2", this.Run____spill2); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Ask.waited", out int loaded)) { this.Ask__waited = loaded; } } { if (reader.TryLocal("Run.__spill2", out int loaded)) { this.Run____spill2 = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Ask": goto Ask; case "AskLater": goto AskLater; } #line hidden Ask: #line 1206 "TestScripts.cs" { int __value; using (__frame.Enter("Ask")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill1 = __value; } #line 1206 "TestScripts.cs" __frame.Run____spill2 = __frame.Run____spill1 * 100; #line hidden AskLater: #line 1206 "TestScripts.cs" { int __value; using (__frame.Enter("AskLater")) { if (!AskLater__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill3 = __value; } #line 1206 "TestScripts.cs" int sum = __frame.Run____spill2 + __frame.Run____spill3; #line 1207 "TestScripts.cs" Log.Add("sum " + sum); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Ask": Ask__LocalsToSave(__frame, depth + 1, writer); break; case "AskLater": __frame.SaveLocal("Run.__spill2", writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); ref int waited = ref __frame.Ask__waited; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 1181 "TestScripts.cs" waited = 0; #line hidden wait: #line 1184 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1186 "TestScripts.cs" waited++; #line 1187 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1190 "TestScripts.cs" { __result = gates.Open.Count * 10 + waited; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Ask__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Ask.waited", writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool AskLater__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); switch (__frame.ResumeKey) { case "later": goto later; } #line hidden later: #line 1196 "TestScripts.cs" while (!gates.Open.Contains("later")) #line hidden { #line 1198 "TestScripts.cs" __frame.Mark("later"); return false; #line hidden } #line 1201 "TestScripts.cs" { __result = 7; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class SpillReturnScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Ask__waited; public int Doubled____spill1; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public SpillReturnScript() { } protected SpillReturnScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected SpillReturnScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Ask.waited": #line 1221 "TestScripts.cs" writer.Local("Ask.waited", this.Ask__waited); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Ask.waited", out int loaded)) { this.Ask__waited = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Doubled": goto Doubled; } #line hidden Doubled: #line 1240 "TestScripts.cs" int doubled; { int __value; using (__frame.Enter("Doubled")) { if (!Doubled__Passage(__frame, __time, gates, __result: out __value)) { return false; } } doubled = __value; } #line 1241 "TestScripts.cs" Log.Add("doubled " + doubled); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Doubled": Doubled__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); ref int waited = ref __frame.Ask__waited; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 1221 "TestScripts.cs" waited = 0; #line hidden wait: #line 1224 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1226 "TestScripts.cs" waited++; #line 1227 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1230 "TestScripts.cs" { __result = gates.Open.Count * 10 + waited; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Ask__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Ask.waited", writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Doubled__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); switch (__frame.ResumeKey) { case "Ask": goto Ask; } #line hidden Ask: #line 1235 "TestScripts.cs" { int __value; using (__frame.Enter("Ask")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Doubled____spill1 = __value; } #line 1235 "TestScripts.cs" { __result = __frame.Doubled____spill1 * 2; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Doubled__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Ask": Ask__LocalsToSave(__frame, depth + 1, writer); break; } } } } namespace Ariadne.UnitTests { partial class SpillReceiverScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run____spill1; public int Ask__waited; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public SpillReceiverScript() { } protected SpillReceiverScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected SpillReceiverScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Ask.waited": #line 1252 "TestScripts.cs" writer.Local("Ask.waited", this.Ask__waited); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Ask.waited", out int loaded)) { this.Ask__waited = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Ask": goto Ask; } #line hidden Ask: #line 1266 "TestScripts.cs" { int __value; using (__frame.Enter("Ask")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill1 = __value; } #line 1266 "TestScripts.cs" Log.Add("got " + __frame.Run____spill1.ToString()); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Ask": Ask__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); ref int waited = ref __frame.Ask__waited; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 1252 "TestScripts.cs" waited = 0; #line hidden wait: #line 1255 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1257 "TestScripts.cs" waited++; #line 1258 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1261 "TestScripts.cs" { __result = gates.Open.Count * 10 + waited; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Ask__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Ask.waited", writer); break; } } } } namespace Ariadne.UnitTests { partial class RememberScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run____spill1; public int Ask__waited; public int Remember__value; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); lister.Local("Remember.value"); lister.Local("Run.__spill1"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public RememberScript() { } protected RememberScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected RememberScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); lister.Local("Remember.value"); lister.Local("Run.__spill1"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Ask.waited": #line 1280 "TestScripts.cs" writer.Local("Ask.waited", this.Ask__waited); #line hidden return; case "Remember.value": #line 1292 "TestScripts.cs" writer.Local("Remember.value", this.Remember__value); #line hidden return; case "Run.__spill1": #line 1305 "TestScripts.cs" writer.Local("Run.__spill1", this.Run____spill1); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Ask.waited", out int loaded)) { this.Ask__waited = loaded; } } { if (reader.TryLocal("Remember.value", out int loaded)) { this.Remember__value = loaded; } } { if (reader.TryLocal("Run.__spill1", out int loaded)) { this.Run____spill1 = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Ask": goto Ask; case "Remember": goto Remember; } #line hidden Ask: #line 1305 "TestScripts.cs" { int __value; using (__frame.Enter("Ask")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill1 = __value; } #line hidden Remember: #line 1305 "TestScripts.cs" using (__frame.Enter("Remember")) { if (!Remember__Passage(__frame, __time, gates, __frame.ResumeKey == null ? (__frame.Run____spill1) : default(int))) { return false; } } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Ask": Ask__LocalsToSave(__frame, depth + 1, writer); break; case "Remember": __frame.SaveLocal("Run.__spill1", writer); Remember__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); ref int waited = ref __frame.Ask__waited; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 1280 "TestScripts.cs" waited = 0; #line hidden wait: #line 1283 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1285 "TestScripts.cs" waited++; #line 1286 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1289 "TestScripts.cs" { __result = gates.Open.Count * 10 + waited; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Ask__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Ask.waited", writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Remember__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, int value__argument) { #line hidden ref int value = ref __frame.Remember__value; if (__frame.ResumeKey == null) { value = value__argument; } switch (__frame.ResumeKey) { case "wait": goto wait; } #line hidden wait: #line 1295 "TestScripts.cs" while (!gates.Open.Contains("remember")) #line hidden { #line 1297 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1300 "TestScripts.cs" Log.Add("remembered " + value); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Remember__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Remember.value", writer); break; } } } } namespace Ariadne.UnitTests { partial class AndAskScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public bool Run____spill1; public int Run____spill2; public int Ask__waited; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); lister.Local("Run.__spill1"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public AndAskScript() { } protected AndAskScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected AndAskScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); lister.Local("Run.__spill1"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Ask.waited": #line 1319 "TestScripts.cs" writer.Local("Ask.waited", this.Ask__waited); #line hidden return; case "Run.__spill1": #line 1333 "TestScripts.cs" writer.Local("Run.__spill1", this.Run____spill1); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Ask.waited", out int loaded)) { this.Ask__waited = loaded; } } { if (reader.TryLocal("Run.__spill1", out bool loaded)) { this.Run____spill1 = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Ask": goto Ask; } #line 1333 "TestScripts.cs" __frame.Run____spill1 = gates.Open.Contains("flag"); #line hidden { #line 1333 "TestScripts.cs" if (!(__frame.Run____spill1)) goto __cond1End; #line hidden } #line hidden Ask: #line 1333 "TestScripts.cs" { int __value; using (__frame.Enter("Ask")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill2 = __value; } #line hidden __cond1End: #line 1333 "TestScripts.cs" bool ok = __frame.Run____spill1 && __frame.Run____spill2 > 15; #line 1334 "TestScripts.cs" Log.Add("ok " + ok); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Ask": __frame.SaveLocal("Run.__spill1", writer); Ask__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); ref int waited = ref __frame.Ask__waited; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 1319 "TestScripts.cs" waited = 0; #line hidden wait: #line 1322 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1324 "TestScripts.cs" waited++; #line 1325 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1328 "TestScripts.cs" { __result = gates.Open.Count * 10 + waited; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Ask__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Ask.waited", writer); break; } } } } namespace Ariadne.UnitTests { partial class OrAskScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public bool Run____spill1; public int Run____spill2; public int Ask__waited; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); lister.Local("Run.__spill1"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public OrAskScript() { } protected OrAskScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected OrAskScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); lister.Local("Run.__spill1"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Ask.waited": #line 1348 "TestScripts.cs" writer.Local("Ask.waited", this.Ask__waited); #line hidden return; case "Run.__spill1": #line 1362 "TestScripts.cs" writer.Local("Run.__spill1", this.Run____spill1); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Ask.waited", out int loaded)) { this.Ask__waited = loaded; } } { if (reader.TryLocal("Run.__spill1", out bool loaded)) { this.Run____spill1 = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Ask": goto Ask; } #line 1362 "TestScripts.cs" __frame.Run____spill1 = gates.Open.Contains("flag"); #line hidden { #line 1362 "TestScripts.cs" if (__frame.Run____spill1) goto __cond1End; #line hidden } #line hidden Ask: #line 1362 "TestScripts.cs" { int __value; using (__frame.Enter("Ask")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill2 = __value; } #line hidden __cond1End: #line 1362 "TestScripts.cs" bool ok = __frame.Run____spill1 || __frame.Run____spill2 > 15; #line 1363 "TestScripts.cs" Log.Add("ok " + ok); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Ask": __frame.SaveLocal("Run.__spill1", writer); Ask__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); ref int waited = ref __frame.Ask__waited; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 1348 "TestScripts.cs" waited = 0; #line hidden wait: #line 1351 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1353 "TestScripts.cs" waited++; #line 1354 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1357 "TestScripts.cs" { __result = gates.Open.Count * 10 + waited; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Ask__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Ask.waited", writer); break; } } } } namespace Ariadne.UnitTests { partial class CoalesceAskScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int? Run____spill1; public int Run____spill2; public int Ask__waited; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); lister.Local("Run.__spill1"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public CoalesceAskScript() { } protected CoalesceAskScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Cached", out int? loaded)) { this.Cached = loaded; } else if (!reader.HasField("Cached")) { throw new global::System.IO.InvalidDataException("CoalesceAskScript's save has no field 'Cached', which has no initializer to fall back on. Give it one."); } } } protected CoalesceAskScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Cached"); lister.Local("Ask.waited"); lister.Local("Run.__spill1"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 1375 "TestScripts.cs" writer.Field("Cached", this.Cached); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Ask.waited": #line 1379 "TestScripts.cs" writer.Local("Ask.waited", this.Ask__waited); #line hidden return; case "Run.__spill1": #line 1393 "TestScripts.cs" writer.Local("Run.__spill1", this.Run____spill1); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Ask.waited", out int loaded)) { this.Ask__waited = loaded; } } { if (reader.TryLocal("Run.__spill1", out int? loaded)) { this.Run____spill1 = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Ask": goto Ask; } #line 1393 "TestScripts.cs" __frame.Run____spill1 = Cached; #line hidden { #line 1393 "TestScripts.cs" if ((__frame.Run____spill1) != null) goto __cond1End; #line hidden } #line hidden Ask: #line 1393 "TestScripts.cs" { int __value; using (__frame.Enter("Ask")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill2 = __value; } #line hidden __cond1End: #line 1393 "TestScripts.cs" int value = __frame.Run____spill1 ?? __frame.Run____spill2; #line 1394 "TestScripts.cs" Log.Add("value " + value); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Ask": __frame.SaveLocal("Run.__spill1", writer); Ask__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); ref int waited = ref __frame.Ask__waited; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 1379 "TestScripts.cs" waited = 0; #line hidden wait: #line 1382 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1384 "TestScripts.cs" waited++; #line 1385 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1388 "TestScripts.cs" { __result = gates.Open.Count * 10 + waited; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Ask__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Ask.waited", writer); break; } } } } namespace Ariadne.UnitTests { partial class TernaryAskScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public bool Run____spill1; public string Run____spill2; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__spill1"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public TernaryAskScript() { } protected TernaryAskScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected TernaryAskScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__spill1"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.__spill1": #line 1419 "TestScripts.cs" writer.Local("Run.__spill1", this.Run____spill1); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.__spill1", out bool loaded)) { this.Run____spill1 = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Describe": goto Describe; } #line 1419 "TestScripts.cs" __frame.Run____spill1 = gates.Open.Contains("fast"); #line hidden { #line 1419 "TestScripts.cs" if (!(__frame.Run____spill1)) goto __cond1Else; #line hidden goto __cond1End; #line hidden } #line hidden __cond1Else: #line hidden Describe: #line 1419 "TestScripts.cs" { string __value; using (__frame.Enter("Describe")) { if (!Describe__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill2 = __value; } #line hidden __cond1End: #line 1419 "TestScripts.cs" string how = __frame.Run____spill1 ? "quick" : __frame.Run____spill2; #line 1420 "TestScripts.cs" Log.Add("how " + how); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Describe": __frame.SaveLocal("Run.__spill1", writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Describe__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out string __result) { #line hidden __result = default(string); switch (__frame.ResumeKey) { case "describe": goto describe; } #line hidden describe: #line 1409 "TestScripts.cs" while (!gates.Open.Contains("describe")) #line hidden { #line 1411 "TestScripts.cs" __frame.Mark("describe"); return false; #line hidden } #line 1414 "TestScripts.cs" { __result = "slow"; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class MaybeRecordScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run____spill1; public int Ask__waited; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public MaybeRecordScript() { } protected MaybeRecordScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Helper", out global::Ariadne.UnitTests.Recorder loaded)) { this.Helper = loaded; } else if (!reader.HasField("Helper")) { throw new global::System.IO.InvalidDataException("MaybeRecordScript's save has no field 'Helper', which has no initializer to fall back on. Give it one."); } } } protected MaybeRecordScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Helper"); lister.Local("Ask.waited"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 1439 "TestScripts.cs" writer.Field("Helper", this.Helper); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Ask.waited": #line 1443 "TestScripts.cs" writer.Local("Ask.waited", this.Ask__waited); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Ask.waited", out int loaded)) { this.Ask__waited = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Ask": goto Ask; } #line hidden { #line 1457 "TestScripts.cs" if ((Helper) == null) goto __cond1End; #line hidden } #line hidden Ask: #line 1457 "TestScripts.cs" { int __value; using (__frame.Enter("Ask")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill1 = __value; } #line hidden __cond1End: #line 1457 "TestScripts.cs" Helper?.Record(__frame.Run____spill1); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Ask": Ask__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); ref int waited = ref __frame.Ask__waited; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 1443 "TestScripts.cs" waited = 0; #line hidden wait: #line 1446 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1448 "TestScripts.cs" waited++; #line 1449 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1452 "TestScripts.cs" { __result = gates.Open.Count * 10 + waited; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Ask__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Ask.waited", writer); break; } } } } namespace Ariadne.UnitTests { partial class OrderThroughBranchScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run____spill1; public bool Run____spill2; public int Run____spill3; public int Ask__waited; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); lister.Local("Run.__spill1"); lister.Local("Run.__spill2"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public OrderThroughBranchScript() { } protected OrderThroughBranchScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Offset", out int loaded)) { this.Offset = loaded; } } } protected OrderThroughBranchScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Offset"); lister.Local("Ask.waited"); lister.Local("Run.__spill1"); lister.Local("Run.__spill2"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 1469 "TestScripts.cs" writer.Field("Offset", this.Offset); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Ask.waited": #line 1473 "TestScripts.cs" writer.Local("Ask.waited", this.Ask__waited); #line hidden return; case "Run.__spill1": #line 1487 "TestScripts.cs" writer.Local("Run.__spill1", this.Run____spill1); #line hidden return; case "Run.__spill2": #line 1487 "TestScripts.cs" writer.Local("Run.__spill2", this.Run____spill2); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Ask.waited", out int loaded)) { this.Ask__waited = loaded; } } { if (reader.TryLocal("Run.__spill1", out int loaded)) { this.Run____spill1 = loaded; } } { if (reader.TryLocal("Run.__spill2", out bool loaded)) { this.Run____spill2 = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Ask": goto Ask; } #line 1487 "TestScripts.cs" __frame.Run____spill1 = Offset; #line 1487 "TestScripts.cs" __frame.Run____spill2 = gates.Open.Contains("flag"); #line hidden { #line 1487 "TestScripts.cs" if (!(__frame.Run____spill2)) goto __cond1Else; #line hidden } #line hidden Ask: #line 1487 "TestScripts.cs" { int __value; using (__frame.Enter("Ask")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill3 = __value; } #line hidden { #line hidden goto __cond1End; #line hidden } #line hidden __cond1Else: #line hidden __cond1End: #line 1487 "TestScripts.cs" int total = __frame.Run____spill1 + (__frame.Run____spill2 ? __frame.Run____spill3 : 0); #line 1488 "TestScripts.cs" Log.Add("total " + total); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Ask": __frame.SaveLocal("Run.__spill1", writer); __frame.SaveLocal("Run.__spill2", writer); Ask__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); ref int waited = ref __frame.Ask__waited; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 1473 "TestScripts.cs" waited = 0; #line hidden wait: #line 1476 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1478 "TestScripts.cs" waited++; #line 1479 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1482 "TestScripts.cs" { __result = gates.Open.Count * 10 + waited; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Ask__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Ask.waited", writer); break; } } } } namespace Ariadne.UnitTests { partial class IfAskScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run____spill1; public int Ask__waited; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public IfAskScript() { } protected IfAskScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected IfAskScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Ask.waited": #line 1502 "TestScripts.cs" writer.Local("Ask.waited", this.Ask__waited); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Ask.waited", out int loaded)) { this.Ask__waited = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Ask": goto Ask; } #line hidden Ask: #line hidden { #line 1516 "TestScripts.cs" { int __value; using (__frame.Enter("Ask")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill1 = __value; } #line 1516 "TestScripts.cs" if (!(__frame.Run____spill1 > 15)) goto __else1; #line 1517 "TestScripts.cs" { Log.Add("big"); } #line hidden goto __end1; #line hidden } #line hidden __else1: #line hidden { #line 1521 "TestScripts.cs" { Log.Add("small"); } #line hidden } #line hidden __end1: #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Ask": Ask__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); ref int waited = ref __frame.Ask__waited; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 1502 "TestScripts.cs" waited = 0; #line hidden wait: #line 1505 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1507 "TestScripts.cs" waited++; #line 1508 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1511 "TestScripts.cs" { __result = gates.Open.Count * 10 + waited; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Ask__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Ask.waited", writer); break; } } } } namespace Ariadne.UnitTests { partial class WhileAskScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__trips; public int Run____spill1; public int Ask__waited; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); lister.Local("Run.trips"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public WhileAskScript() { } protected WhileAskScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected WhileAskScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); lister.Local("Run.trips"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Ask.waited": #line 1537 "TestScripts.cs" writer.Local("Ask.waited", this.Ask__waited); #line hidden return; case "Run.trips": #line 1551 "TestScripts.cs" writer.Local("Run.trips", this.Run__trips); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Ask.waited", out int loaded)) { this.Ask__waited = loaded; } } { if (reader.TryLocal("Run.trips", out int loaded)) { this.Run__trips = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref int trips = ref __frame.Run__trips; switch (__frame.ResumeKey) { case "Ask": goto Ask; } #line 1551 "TestScripts.cs" trips = 0; #line hidden __loopStart1: #line hidden Ask: #line hidden { #line 1552 "TestScripts.cs" { int __value; using (__frame.Enter("Ask")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill1 = __value; } #line 1552 "TestScripts.cs" if (!(__frame.Run____spill1 < 25)) goto __loopEnd1; #line 1553 "TestScripts.cs" { trips++; gates.Open.Add("trip" + trips); } #line hidden goto __loopStart1; #line hidden } #line hidden __loopEnd1: #line 1558 "TestScripts.cs" Log.Add("trips " + trips); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Ask": __frame.SaveLocal("Run.trips", writer); Ask__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); ref int waited = ref __frame.Ask__waited; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 1537 "TestScripts.cs" waited = 0; #line hidden wait: #line 1540 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1542 "TestScripts.cs" waited++; #line 1543 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1546 "TestScripts.cs" { __result = gates.Open.Count * 10 + waited; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Ask__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Ask.waited", writer); break; } } } } namespace Ariadne.UnitTests { partial class DoAskScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__trips; public int Run____spill1; public int Ask__waited; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); lister.Local("Run.trips"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public DoAskScript() { } protected DoAskScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected DoAskScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); lister.Local("Run.trips"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Ask.waited": #line 1572 "TestScripts.cs" writer.Local("Ask.waited", this.Ask__waited); #line hidden return; case "Run.trips": #line 1586 "TestScripts.cs" writer.Local("Run.trips", this.Run__trips); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Ask.waited", out int loaded)) { this.Ask__waited = loaded; } } { if (reader.TryLocal("Run.trips", out int loaded)) { this.Run__trips = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref int trips = ref __frame.Run__trips; switch (__frame.ResumeKey) { case "Ask": goto Ask; } #line 1586 "TestScripts.cs" trips = 0; #line hidden __loopStart1: #line hidden { #line 1588 "TestScripts.cs" { trips++; gates.Open.Add("trip" + trips); } #line hidden } #line hidden __loopCont1: #line hidden Ask: #line hidden { #line 1592 "TestScripts.cs" { int __value; using (__frame.Enter("Ask")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill1 = __value; } #line 1592 "TestScripts.cs" if (__frame.Run____spill1 < 25) goto __loopStart1; #line hidden } #line hidden __loopEnd1: #line 1594 "TestScripts.cs" Log.Add("trips " + trips); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Ask": __frame.SaveLocal("Run.trips", writer); Ask__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); ref int waited = ref __frame.Ask__waited; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 1572 "TestScripts.cs" waited = 0; #line hidden wait: #line 1575 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1577 "TestScripts.cs" waited++; #line 1578 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1581 "TestScripts.cs" { __result = gates.Open.Count * 10 + waited; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Ask__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Ask.waited", writer); break; } } } } namespace Ariadne.UnitTests { partial class ForInitAskScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__i; public int Run____spill1; public int Ask__waited; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); lister.Local("Run.i"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public ForInitAskScript() { } protected ForInitAskScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected ForInitAskScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); lister.Local("Run.i"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Ask.waited": #line 1608 "TestScripts.cs" writer.Local("Ask.waited", this.Ask__waited); #line hidden return; case "Run.i": #line 1622 "TestScripts.cs" writer.Local("Run.i", this.Run__i); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Ask.waited", out int loaded)) { this.Ask__waited = loaded; } } { if (reader.TryLocal("Run.i", out int loaded)) { this.Run__i = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Ask": goto Ask; } #line hidden Ask: #line hidden { ref int i = ref __frame.Run__i; #line 1622 "TestScripts.cs" { int __value; using (__frame.Enter("Ask")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill1 = __value; } #line 1622 "TestScripts.cs" i = __frame.Run____spill1; #line hidden } #line hidden __loopStart1: #line hidden { ref int i = ref __frame.Run__i; #line 1622 "TestScripts.cs" if (!(i < 24)) goto __loopEnd1; #line 1623 "TestScripts.cs" { Log.Add("i " + i); } #line hidden } #line hidden __loopCont1: #line hidden { ref int i = ref __frame.Run__i; #line 1622 "TestScripts.cs" i++; #line hidden goto __loopStart1; #line hidden } #line hidden __loopEnd1: #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Ask": __frame.SaveLocal("Run.i", writer); Ask__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); ref int waited = ref __frame.Ask__waited; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 1608 "TestScripts.cs" waited = 0; #line hidden wait: #line 1611 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1613 "TestScripts.cs" waited++; #line 1614 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1617 "TestScripts.cs" { __result = gates.Open.Count * 10 + waited; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Ask__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Ask.waited", writer); break; } } } } namespace Ariadne.UnitTests { partial class ForConditionAskScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__i; public int Run____spill1; public int Ask__waited; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); lister.Local("Run.i"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public ForConditionAskScript() { } protected ForConditionAskScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected ForConditionAskScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); lister.Local("Run.i"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Ask.waited": #line 1639 "TestScripts.cs" writer.Local("Ask.waited", this.Ask__waited); #line hidden return; case "Run.i": #line 1653 "TestScripts.cs" writer.Local("Run.i", this.Run__i); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Ask.waited", out int loaded)) { this.Ask__waited = loaded; } } { if (reader.TryLocal("Run.i", out int loaded)) { this.Run__i = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Ask": goto Ask; } #line hidden { ref int i = ref __frame.Run__i; #line 1653 "TestScripts.cs" i = 0; #line hidden } #line hidden __loopStart1: #line hidden Ask: #line hidden { ref int i = ref __frame.Run__i; #line 1653 "TestScripts.cs" { int __value; using (__frame.Enter("Ask")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill1 = __value; } #line 1653 "TestScripts.cs" if (!(i < __frame.Run____spill1 / 10)) goto __loopEnd1; #line 1654 "TestScripts.cs" { Log.Add("i " + i); } #line hidden } #line hidden __loopCont1: #line hidden { ref int i = ref __frame.Run__i; #line 1653 "TestScripts.cs" i++; #line hidden goto __loopStart1; #line hidden } #line hidden __loopEnd1: #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Ask": __frame.SaveLocal("Run.i", writer); Ask__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); ref int waited = ref __frame.Ask__waited; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 1639 "TestScripts.cs" waited = 0; #line hidden wait: #line 1642 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1644 "TestScripts.cs" waited++; #line 1645 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1648 "TestScripts.cs" { __result = gates.Open.Count * 10 + waited; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Ask__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Ask.waited", writer); break; } } } } namespace Ariadne.UnitTests { partial class ForStepAskScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__i; public int Run____spill1; public int Ask__waited; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); lister.Local("Run.i"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public ForStepAskScript() { } protected ForStepAskScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected ForStepAskScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); lister.Local("Run.i"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Ask.waited": #line 1675 "TestScripts.cs" writer.Local("Ask.waited", this.Ask__waited); #line hidden return; case "Run.i": #line 1689 "TestScripts.cs" writer.Local("Run.i", this.Run__i); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Ask.waited", out int loaded)) { this.Ask__waited = loaded; } } { if (reader.TryLocal("Run.i", out int loaded)) { this.Run__i = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Ask": goto Ask; } #line hidden { ref int i = ref __frame.Run__i; #line 1689 "TestScripts.cs" i = 0; #line hidden } #line hidden __loopStart1: #line hidden { ref int i = ref __frame.Run__i; #line 1689 "TestScripts.cs" if (!(i < 2)) goto __loopEnd1; #line 1690 "TestScripts.cs" { i++; } #line hidden } #line hidden __loopCont1: #line hidden Ask: #line hidden { #line 1689 "TestScripts.cs" { int __value; using (__frame.Enter("Ask")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill1 = __value; } #line 1689 "TestScripts.cs" Note(__frame.Run____spill1); #line hidden goto __loopStart1; #line hidden } #line hidden __loopEnd1: #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Ask": __frame.SaveLocal("Run.i", writer); Ask__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); ref int waited = ref __frame.Ask__waited; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 1675 "TestScripts.cs" waited = 0; #line hidden wait: #line 1678 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1680 "TestScripts.cs" waited++; #line 1681 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1684 "TestScripts.cs" { __result = gates.Open.Count * 10 + waited; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Ask__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Ask.waited", writer); break; } } } } namespace Ariadne.UnitTests { partial class SwitchAskScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run____spill1; public int Ask__waited; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public SwitchAskScript() { } protected SwitchAskScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected SwitchAskScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Ask.waited"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Ask.waited": #line 1706 "TestScripts.cs" writer.Local("Ask.waited", this.Ask__waited); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Ask.waited", out int loaded)) { this.Ask__waited = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Ask": goto Ask; } #line hidden Ask: #line hidden { #line 1720 "TestScripts.cs" { int __value; using (__frame.Enter("Ask")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill1 = __value; } #line 1720 "TestScripts.cs" switch (__frame.Run____spill1) #line hidden { #line 1722 "TestScripts.cs" case 11: goto __switch1_0; #line 1725 "TestScripts.cs" default: goto __switch1_1; #line hidden } #line hidden } #line hidden __switch1_0: #line hidden { #line 1723 "TestScripts.cs" Log.Add("eleven"); #line 1724 "TestScripts.cs" goto __switchEnd1; #line hidden } #line hidden __switch1_1: #line hidden { #line 1726 "TestScripts.cs" Log.Add("other"); #line 1727 "TestScripts.cs" goto __switchEnd1; #line hidden } #line hidden __switchEnd1: #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Ask": Ask__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); ref int waited = ref __frame.Ask__waited; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 1706 "TestScripts.cs" waited = 0; #line hidden wait: #line 1709 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1711 "TestScripts.cs" waited++; #line 1712 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1715 "TestScripts.cs" { __result = gates.Open.Count * 10 + waited; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Ask__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Ask.waited", writer); break; } } } } namespace Ariadne.UnitTests { partial class TwoDeclaratorsScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__b; public int Run____spill1; public int Run____spill2; public string Wait__name; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__spill1"); lister.Local("Run.b"); lister.Local("Wait.name"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public TwoDeclaratorsScript() { } protected TwoDeclaratorsScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected TwoDeclaratorsScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__spill1"); lister.Local("Run.b"); lister.Local("Wait.name"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.__spill1": #line 1754 "TestScripts.cs" writer.Local("Run.__spill1", this.Run____spill1); #line hidden return; case "Run.b": #line 1754 "TestScripts.cs" writer.Local("Run.b", this.Run__b); #line hidden return; case "Wait.name": #line 1740 "TestScripts.cs" writer.Local("Wait.name", this.Wait__name); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.__spill1", out int loaded)) { this.Run____spill1 = loaded; } } { if (reader.TryLocal("Run.b", out int loaded)) { this.Run__b = loaded; } } { if (reader.TryLocal("Wait.name", out string loaded)) { this.Wait__name = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref int b = ref __frame.Run__b; switch (__frame.ResumeKey) { case "both": goto both; case "both#1": goto both__1; } #line hidden both: #line 1754 "TestScripts.cs" { int __value; using (__frame.Enter("both")) { if (!Wait__Passage(__frame, __time, gates, __frame.ResumeKey == null ? ("one") : default(string), __result: out __value)) { return false; } } __frame.Run____spill1 = __value; } #line hidden both__1: #line 1754 "TestScripts.cs" { int __value; using (__frame.Enter("both#1")) { if (!Wait__Passage(__frame, __time, gates, __frame.ResumeKey == null ? ("two") : default(string), __result: out __value)) { return false; } } __frame.Run____spill2 = __value; } #line 1754 "TestScripts.cs" int a = __frame.Run____spill1; b = __frame.Run____spill2 + a; #line 1755 "TestScripts.cs" Log.Add(a + "," + b); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "both": __frame.SaveLocal("Run.b", writer); Wait__LocalsToSave(__frame, depth + 1, writer); break; case "both#1": __frame.SaveLocal("Run.b", writer); __frame.SaveLocal("Run.__spill1", writer); Wait__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Wait__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, string name__argument, out int __result) { #line hidden __result = default(int); ref string name = ref __frame.Wait__name; if (__frame.ResumeKey == null) { name = name__argument; } switch (__frame.ResumeKey) { case "wait": goto wait; } #line hidden wait: #line 1743 "TestScripts.cs" while (!gates.Open.Contains(name)) #line hidden { #line 1745 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1748 "TestScripts.cs" { __result = gates.Open.Count; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Wait__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Wait.name", writer); break; } } } } namespace Ariadne.UnitTests { partial class DeclaratorOrderScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__second; public int Run____spill1; public int Run____spill2; public string Wait__name; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__spill1"); lister.Local("Run.second"); lister.Local("Wait.name"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public DeclaratorOrderScript() { } protected DeclaratorOrderScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Calls", out int loaded)) { this.Calls = loaded; } else if (!reader.HasField("Calls")) { throw new global::System.IO.InvalidDataException("DeclaratorOrderScript's save has no field 'Calls', which has no initializer to fall back on. Give it one."); } } } protected DeclaratorOrderScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Calls"); lister.Local("Run.__spill1"); lister.Local("Run.second"); lister.Local("Wait.name"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 1767 "TestScripts.cs" writer.Field("Calls", this.Calls); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.__spill1": #line 1787 "TestScripts.cs" writer.Local("Run.__spill1", this.Run____spill1); #line hidden return; case "Run.second": #line 1787 "TestScripts.cs" writer.Local("Run.second", this.Run__second); #line hidden return; case "Wait.name": #line 1774 "TestScripts.cs" writer.Local("Wait.name", this.Wait__name); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.__spill1", out int loaded)) { this.Run____spill1 = loaded; } } { if (reader.TryLocal("Run.second", out int loaded)) { this.Run__second = loaded; } } { if (reader.TryLocal("Wait.name", out string loaded)) { this.Wait__name = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref int second = ref __frame.Run__second; switch (__frame.ResumeKey) { case "Wait": goto Wait; } #line 1787 "TestScripts.cs" __frame.Run____spill1 = Next(); #line hidden Wait: #line 1787 "TestScripts.cs" { int __value; using (__frame.Enter("Wait")) { if (!Wait__Passage(__frame, __time, gates, __frame.ResumeKey == null ? ("one") : default(string), __result: out __value)) { return false; } } __frame.Run____spill2 = __value; } #line 1787 "TestScripts.cs" int first = __frame.Run____spill1; second = __frame.Run____spill2; #line 1788 "TestScripts.cs" Log.Add(first + "," + second + "," + Calls); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Wait": __frame.SaveLocal("Run.second", writer); __frame.SaveLocal("Run.__spill1", writer); Wait__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Wait__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, string name__argument, out int __result) { #line hidden __result = default(int); ref string name = ref __frame.Wait__name; if (__frame.ResumeKey == null) { name = name__argument; } switch (__frame.ResumeKey) { case "wait": goto wait; } #line hidden wait: #line 1777 "TestScripts.cs" while (!gates.Open.Contains(name)) #line hidden { #line 1779 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1782 "TestScripts.cs" { __result = gates.Open.Count; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Wait__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Wait.name", writer); break; } } } } namespace Ariadne.UnitTests { partial class PatternAskScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__n; public int Run____spill1; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.n"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public PatternAskScript() { } protected PatternAskScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected PatternAskScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.n"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.n": #line 1813 "TestScripts.cs" writer.Local("Run.n", this.Run__n); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.n", out int loaded)) { this.Run__n = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Ask": goto Ask; case "show": goto show__resume; } #line hidden Ask: #line hidden { ref int n = ref __frame.Run__n; #line 1813 "TestScripts.cs" { int __value; using (__frame.Enter("Ask")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill1 = __value; } #line 1813 "TestScripts.cs" if (!((__frame.Run____spill1 is int n__pattern && ((n = n__pattern) is var _)) && n > 15)) goto __end1; #line hidden } #line hidden show: #line hidden { #line 1816 "TestScripts.cs" __frame.Mark("show"); return false; #line hidden } #line hidden show__resume: #line hidden { ref int n = ref __frame.Run__n; #line 1817 "TestScripts.cs" Log.Add("n " + n); #line hidden } #line hidden __end1: #line 1820 "TestScripts.cs" Log.Add("done"); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Ask": __frame.SaveLocal("Run.n", writer); break; case "show": __frame.SaveLocal("Run.n", writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); switch (__frame.ResumeKey) { case "wait": goto wait; } #line hidden wait: #line 1803 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1805 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1808 "TestScripts.cs" { __result = gates.Open.Count * 10; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class SwitchExpressionAskScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run____spill1; public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public SwitchExpressionAskScript() { } protected SwitchExpressionAskScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected SwitchExpressionAskScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Ask": goto Ask; } #line hidden Ask: #line 1845 "TestScripts.cs" { int __value; using (__frame.Enter("Ask")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill1 = __value; } #line 1845 "TestScripts.cs" string size = __frame.Run____spill1 switch { > 15 => "big", _ => "small" }; #line 1846 "TestScripts.cs" Log.Add(size); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); switch (__frame.ResumeKey) { case "wait": goto wait; } #line hidden wait: #line 1835 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1837 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1840 "TestScripts.cs" { __result = gates.Open.Count * 10; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class ArmAskScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public string Run__mode; public string Run__text; public int Run____spill1; public int Run____spill2; public int Scale__factor; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__spill1"); lister.Local("Run.mode"); lister.Local("Scale.factor"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public ArmAskScript() { } protected ArmAskScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Calls", out int loaded)) { this.Calls = loaded; } else if (!reader.HasField("Calls")) { throw new global::System.IO.InvalidDataException("ArmAskScript's save has no field 'Calls', which has no initializer to fall back on. Give it one."); } } } protected ArmAskScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Calls"); lister.Local("Run.__spill1"); lister.Local("Run.mode"); lister.Local("Scale.factor"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 1858 "TestScripts.cs" writer.Field("Calls", this.Calls); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.__spill1": #line 1893 "TestScripts.cs" writer.Local("Run.__spill1", this.Run____spill1); #line hidden return; case "Run.mode": #line 1889 "TestScripts.cs" writer.Local("Run.mode", this.Run__mode); #line hidden return; case "Scale.factor": #line 1871 "TestScripts.cs" writer.Local("Scale.factor", this.Scale__factor); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.__spill1", out int loaded)) { this.Run____spill1 = loaded; } } { if (reader.TryLocal("Run.mode", out string loaded)) { this.Run__mode = loaded; } } { if (reader.TryLocal("Scale.factor", out int loaded)) { this.Scale__factor = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref string mode = ref __frame.Run__mode; ref string text = ref __frame.Run__text; switch (__frame.ResumeKey) { case "Ask": goto Ask; case "Scale": goto Scale; } #line 1889 "TestScripts.cs" mode = gates.Open.Contains("fast") ? "fast" : gates.Open.Contains("slow") ? "slow" : "other"; #line hidden { #line 1892 "TestScripts.cs" if (!((mode) is "fast")) goto __cond1Arm0; #line hidden goto __cond1End; #line hidden } #line hidden __cond1Arm0: #line hidden { #line 1893 "TestScripts.cs" if (!((mode) is "slow")) goto __cond1Arm1; #line hidden } #line hidden Ask: #line 1893 "TestScripts.cs" { int __value; using (__frame.Enter("Ask")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill1 = __value; } #line hidden { #line hidden goto __cond1End; #line hidden } #line hidden __cond1Arm1: #line hidden { #line 1894 "TestScripts.cs" if (!((mode) is string text__pattern && (((text = text__pattern) is var _) && (text.Length > 3)))) goto __cond1Arm2; #line hidden } #line hidden Scale: #line 1894 "TestScripts.cs" { int __value; using (__frame.Enter("Scale")) { if (!Scale__Passage(__frame, __time, gates, __frame.ResumeKey == null ? (text.Length) : default(int), __result: out __value)) { return false; } } __frame.Run____spill2 = __value; } #line hidden { #line hidden goto __cond1End; #line hidden } #line hidden __cond1Arm2: #line hidden { #line 1895 "TestScripts.cs" if (!(true)) goto __cond1Arm3; #line hidden } #line hidden __cond1Arm3: #line hidden __cond1End: #line 1890 "TestScripts.cs" int value = mode switch { "fast" => Count(), "slow" => __frame.Run____spill1, string text__pattern when ((text = text__pattern) is var _) && (text.Length > 3) => __frame.Run____spill2, _ => -1, }; #line 1897 "TestScripts.cs" Log.Add(mode + " " + value + " " + Calls); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Ask": __frame.SaveLocal("Run.mode", writer); break; case "Scale": __frame.SaveLocal("Run.mode", writer); __frame.SaveLocal("Run.__spill1", writer); Scale__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); switch (__frame.ResumeKey) { case "wait": goto wait; } #line hidden wait: #line 1863 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1865 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1868 "TestScripts.cs" { __result = gates.Open.Count * 10; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Scale__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, int factor__argument, out int __result) { #line hidden __result = default(int); ref int factor = ref __frame.Scale__factor; if (__frame.ResumeKey == null) { factor = factor__argument; } switch (__frame.ResumeKey) { case "scale": goto scale; } #line hidden scale: #line 1874 "TestScripts.cs" while (!gates.Open.Contains("scale")) #line hidden { #line 1876 "TestScripts.cs" __frame.Mark("scale"); return false; #line hidden } #line 1879 "TestScripts.cs" { __result = factor * 100; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Scale__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "scale": __frame.SaveLocal("Scale.factor", writer); break; } } } } namespace Ariadne.UnitTests { partial class AssignAskScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__sum; public int Run____spill1; public int Run____spill2; public int Run____spill3; public int Run____spill4; public int Run____spill5; public int Run____spill6; public string Run____spill7; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.__spill1"); lister.Local("Run.__spill3"); lister.Local("Run.__spill5"); lister.Local("Run.sum"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public AssignAskScript() { } protected AssignAskScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Total", out int loaded)) { this.Total = loaded; } } { if (reader.TryField("Numbers", out int[] loaded)) { this.Numbers = loaded; } } { if (reader.TryField("Calls", out int loaded)) { this.Calls = loaded; } else if (!reader.HasField("Calls")) { throw new global::System.IO.InvalidDataException("AssignAskScript's save has no field 'Calls', which has no initializer to fall back on. Give it one."); } } { if (reader.TryField("Name", out string loaded)) { this.Name = loaded; } else if (!reader.HasField("Name")) { throw new global::System.IO.InvalidDataException("AssignAskScript's save has no field 'Name', which has no initializer to fall back on. Give it one."); } } } protected AssignAskScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Total"); lister.Field("Numbers"); lister.Field("Calls"); lister.Field("Name"); lister.Local("Run.__spill1"); lister.Local("Run.__spill3"); lister.Local("Run.__spill5"); lister.Local("Run.sum"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 1909 "TestScripts.cs" writer.Field("Total", this.Total); #line 1911 "TestScripts.cs" writer.Field("Numbers", this.Numbers); #line 1913 "TestScripts.cs" writer.Field("Calls", this.Calls); #line 1915 "TestScripts.cs" writer.Field("Name", this.Name); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.__spill1": #line 1947 "TestScripts.cs" writer.Local("Run.__spill1", this.Run____spill1); #line hidden return; case "Run.__spill3": #line 1950 "TestScripts.cs" writer.Local("Run.__spill3", this.Run____spill3); #line hidden return; case "Run.__spill5": #line 1952 "TestScripts.cs" writer.Local("Run.__spill5", this.Run____spill5); #line hidden return; case "Run.sum": #line 1949 "TestScripts.cs" writer.Local("Run.sum", this.Run__sum); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.__spill1", out int loaded)) { this.Run____spill1 = loaded; } } { if (reader.TryLocal("Run.__spill3", out int loaded)) { this.Run____spill3 = loaded; } } { if (reader.TryLocal("Run.__spill5", out int loaded)) { this.Run____spill5 = loaded; } } { if (reader.TryLocal("Run.sum", out int loaded)) { this.Run__sum = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref int sum = ref __frame.Run__sum; switch (__frame.ResumeKey) { case "field": goto field; case "Ask": goto Ask; case "slot": goto slot; case "name": goto name; } #line 1947 "TestScripts.cs" __frame.Run____spill1 = Total; #line hidden field: #line 1947 "TestScripts.cs" { int __value; using (__frame.Enter("field")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill2 = __value; } #line 1947 "TestScripts.cs" Total = (int)(__frame.Run____spill1 + (__frame.Run____spill2)); #line 1949 "TestScripts.cs" sum = 1; #line 1950 "TestScripts.cs" __frame.Run____spill3 = sum; #line hidden Ask: #line 1950 "TestScripts.cs" { int __value; using (__frame.Enter("Ask")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill4 = __value; } #line 1950 "TestScripts.cs" sum = (int)(__frame.Run____spill3 + (__frame.Run____spill4)); #line 1952 "TestScripts.cs" __frame.Run____spill5 = Next(); #line hidden slot: #line 1952 "TestScripts.cs" { int __value; using (__frame.Enter("slot")) { if (!Ask__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill6 = __value; } #line 1952 "TestScripts.cs" Numbers[__frame.Run____spill5] = __frame.Run____spill6; #line hidden { #line 1954 "TestScripts.cs" if ((Name) != null) goto __cond1End; #line hidden } #line hidden name: #line 1954 "TestScripts.cs" { string __value; using (__frame.Enter("name")) { if (!Describe__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill7 = __value; } #line hidden __cond1End: #line 1954 "TestScripts.cs" Name ??= __frame.Run____spill7; #line 1955 "TestScripts.cs" Log.Add(Total + " " + sum + " " + Numbers[1] + " " + Calls + " " + Name); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "field": __frame.SaveLocal("Run.__spill1", writer); break; case "Ask": __frame.SaveLocal("Run.__spill3", writer); break; case "slot": __frame.SaveLocal("Run.sum", writer); __frame.SaveLocal("Run.__spill5", writer); break; case "name": __frame.SaveLocal("Run.sum", writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Ask__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int __result) { #line hidden __result = default(int); switch (__frame.ResumeKey) { case "wait": goto wait; } #line hidden wait: #line 1920 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1922 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 1925 "TestScripts.cs" { __result = gates.Open.Count * 10; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Describe__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out string __result) { #line hidden __result = default(string); switch (__frame.ResumeKey) { case "describe": goto describe; } #line hidden describe: #line 1931 "TestScripts.cs" while (!gates.Open.Contains("describe")) #line hidden { #line 1933 "TestScripts.cs" __frame.Mark("describe"); return false; #line hidden } #line 1936 "TestScripts.cs" { __result = "described"; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class PairAskScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__low; public int Run__high; public int Run__other; public (int, int) Run____spill1; public (int, int) Run____spill2; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.high"); lister.Local("Run.low"); lister.Local("Run.other"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public PairAskScript() { } protected PairAskScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Total", out int loaded)) { this.Total = loaded; } else if (!reader.HasField("Total")) { throw new global::System.IO.InvalidDataException("PairAskScript's save has no field 'Total', which has no initializer to fall back on. Give it one."); } } } protected PairAskScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Total"); lister.Local("Run.high"); lister.Local("Run.low"); lister.Local("Run.other"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 1967 "TestScripts.cs" writer.Field("Total", this.Total); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.high": #line 1983 "TestScripts.cs" writer.Local("Run.high", this.Run__high); #line hidden return; case "Run.low": #line 1983 "TestScripts.cs" writer.Local("Run.low", this.Run__low); #line hidden return; case "Run.other": #line 1987 "TestScripts.cs" writer.Local("Run.other", this.Run__other); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.high", out int loaded)) { this.Run__high = loaded; } } { if (reader.TryLocal("Run.low", out int loaded)) { this.Run__low = loaded; } } { if (reader.TryLocal("Run.other", out int loaded)) { this.Run__other = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref int low = ref __frame.Run__low; ref int high = ref __frame.Run__high; ref int other = ref __frame.Run__other; switch (__frame.ResumeKey) { case "fresh": goto fresh; case "pause": goto pause__resume; case "existing": goto existing; } #line hidden fresh: #line 1983 "TestScripts.cs" { (int, int) __value; using (__frame.Enter("fresh")) { if (!Range__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill1 = __value; } #line 1983 "TestScripts.cs" (low, high) = __frame.Run____spill1; #line hidden pause: #line 1985 "TestScripts.cs" __frame.Mark("pause"); return false; #line hidden pause__resume: #line 1986 "TestScripts.cs" Log.Add(low + "-" + high); #line hidden existing: #line 1989 "TestScripts.cs" { (int, int) __value; using (__frame.Enter("existing")) { if (!Range__Passage(__frame, __time, gates, __result: out __value)) { return false; } } __frame.Run____spill2 = __value; } #line 1989 "TestScripts.cs" (Total, other) = __frame.Run____spill2; #line 1990 "TestScripts.cs" Log.Add(Total + "-" + other); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "fresh": __frame.SaveLocal("Run.low", writer); __frame.SaveLocal("Run.high", writer); break; case "pause": __frame.SaveLocal("Run.low", writer); __frame.SaveLocal("Run.high", writer); break; case "existing": __frame.SaveLocal("Run.other", writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Range__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out (int, int) __result) { #line hidden __result = default((int, int)); switch (__frame.ResumeKey) { case "range": goto range; } #line hidden range: #line 1972 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 1974 "TestScripts.cs" __frame.Mark("range"); return false; #line hidden } #line 1977 "TestScripts.cs" { __result = (gates.Open.Count, gates.Open.Count * 10); __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class OutParameterScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__choice; public int Run__again; public int Run__number; public string Run__text; public int Run__relayedNumber; public bool Run____spill1; public int TryPick__choice; public int Fill__number; public string Fill__text; public int Relay__number; public string Relay__ignored; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Fill.number"); lister.Local("Run.choice"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public OutParameterScript() { } protected OutParameterScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Stored", out int loaded)) { this.Stored = loaded; } else if (!reader.HasField("Stored")) { throw new global::System.IO.InvalidDataException("OutParameterScript's save has no field 'Stored', which has no initializer to fall back on. Give it one."); } } } protected OutParameterScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Stored"); lister.Local("Fill.number"); lister.Local("Run.choice"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 2002 "TestScripts.cs" writer.Field("Stored", this.Stored); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Fill.number": #line 2017 "TestScripts.cs" writer.Local("Fill.number", this.Fill__number); #line hidden return; case "Run.choice": #line 2045 "TestScripts.cs" writer.Local("Run.choice", this.Run__choice); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Fill.number", out int loaded)) { this.Fill__number = loaded; } } { if (reader.TryLocal("Run.choice", out int loaded)) { this.Run__choice = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref int choice = ref __frame.Run__choice; ref int again = ref __frame.Run__again; ref int number = ref __frame.Run__number; ref string text = ref __frame.Run__text; ref int relayedNumber = ref __frame.Run__relayedNumber; switch (__frame.ResumeKey) { case "header": goto header; case "field": goto field; case "declared": goto declared; case "both": goto both; case "relayed": goto relayed; } #line hidden header: #line hidden { #line 2045 "TestScripts.cs" { bool __value; using (__frame.Enter("header")) { if (!TryPick__Passage(__frame, __time, gates, out choice, __result: out __value)) { return false; } } __frame.Run____spill1 = __value; } #line 2045 "TestScripts.cs" if (!(__frame.Run____spill1)) goto __else1; #line 2046 "TestScripts.cs" { Log.Add("picked " + choice); } #line hidden goto __end1; #line hidden } #line hidden __else1: #line hidden { #line 2050 "TestScripts.cs" { Log.Add("declined " + choice); } #line hidden } #line hidden __end1: #line hidden field: #line 2055 "TestScripts.cs" using (__frame.Enter("field")) { if (!TryPick__Passage(__frame, __time, gates, out Stored, __result: out _)) { return false; } } #line 2056 "TestScripts.cs" Log.Add("stored " + Stored); #line hidden declared: #line 2059 "TestScripts.cs" bool ok; { bool __value; using (__frame.Enter("declared")) { if (!TryPick__Passage(__frame, __time, gates, out again, __result: out __value)) { return false; } } ok = __value; } #line 2060 "TestScripts.cs" Log.Add("again " + again + " " + ok); #line hidden both: #line 2063 "TestScripts.cs" using (__frame.Enter("both")) { if (!Fill__Passage(__frame, __time, gates, out number, out text)) { return false; } } #line 2064 "TestScripts.cs" Log.Add(number + " " + text); #line hidden relayed: #line 2067 "TestScripts.cs" using (__frame.Enter("relayed")) { if (!Relay__Passage(__frame, __time, gates, out relayedNumber)) { return false; } } #line 2068 "TestScripts.cs" Log.Add("relayed " + relayedNumber); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "header": __frame.SaveLocal("Run.choice", writer); break; case "both": Fill__LocalsToSave(__frame, depth + 1, writer); break; case "relayed": Relay__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool TryPick__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int choice__argument, out bool __result) { #line hidden __result = default(bool); choice__argument = default(int); ref int choice = ref __frame.TryPick__choice; if (__frame.ResumeKey == null) { choice = default(int); } switch (__frame.ResumeKey) { case "pick": goto pick; } #line 2006 "TestScripts.cs" choice = 1; #line hidden pick: #line 2008 "TestScripts.cs" while (!gates.Open.Contains("answer")) #line hidden { #line 2010 "TestScripts.cs" __frame.Mark("pick"); return false; #line hidden } #line 2013 "TestScripts.cs" choice = gates.Open.Count * 10; #line 2014 "TestScripts.cs" { __result = gates.Open.Contains("accept"); choice__argument = __frame.TryPick__choice; __frame.Exit(); return true; } #line hidden choice__argument = __frame.TryPick__choice; __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Fill__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int number__argument, out string text__argument) { #line hidden number__argument = default(int); text__argument = default(string); ref int number = ref __frame.Fill__number; if (__frame.ResumeKey == null) { number = default(int); } ref string text = ref __frame.Fill__text; if (__frame.ResumeKey == null) { text = default(string); } switch (__frame.ResumeKey) { case "fill": goto fill; } #line 2019 "TestScripts.cs" number = 5; #line 2020 "TestScripts.cs" text = "early"; #line 2021 "TestScripts.cs" if (gates.Open.Contains("skip")) { { number__argument = __frame.Fill__number; text__argument = __frame.Fill__text; __frame.Exit(); return true; } } #line hidden fill: #line 2027 "TestScripts.cs" while (!gates.Open.Contains("fill")) #line hidden { #line 2029 "TestScripts.cs" __frame.Mark("fill"); return false; #line hidden } #line 2032 "TestScripts.cs" number++; #line 2033 "TestScripts.cs" text = "filled"; #line hidden number__argument = __frame.Fill__number; text__argument = __frame.Fill__text; __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Fill__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "fill": __frame.SaveLocal("Fill.number", writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Relay__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, out int number__argument) { #line hidden number__argument = default(int); ref int number = ref __frame.Relay__number; if (__frame.ResumeKey == null) { number = default(int); } ref string ignored = ref __frame.Relay__ignored; switch (__frame.ResumeKey) { case "relay": goto relay; } #line hidden relay: #line 2039 "TestScripts.cs" using (__frame.Enter("relay")) { if (!Fill__Passage(__frame, __time, gates, out number, out ignored)) { return false; } } #line hidden number__argument = __frame.Relay__number; __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Relay__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "relay": Fill__LocalsToSave(__frame, depth + 1, writer); break; } } } } namespace Ariadne.UnitTests { partial class RefParameterScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__local; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.local"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public RefParameterScript() { } protected RefParameterScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Total", out int loaded)) { this.Total = loaded; } } } protected RefParameterScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Total"); lister.Local("Run.local"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 2080 "TestScripts.cs" writer.Field("Total", this.Total); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.local": #line 2103 "TestScripts.cs" writer.Local("Run.local", this.Run__local); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.local", out int loaded)) { this.Run__local = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref int local = ref __frame.Run__local; switch (__frame.ResumeKey) { case "call": goto call; case "field": goto field; case "relayed": goto relayed; } #line 2103 "TestScripts.cs" local = 2; #line hidden call: #line 2105 "TestScripts.cs" using (__frame.Enter("call")) { if (!Bump__Passage(__frame, __time, gates, ref local)) { return false; } } #line 2106 "TestScripts.cs" Log.Add("local " + local); #line hidden field: #line 2108 "TestScripts.cs" using (__frame.Enter("field")) { if (!Bump__Passage(__frame, __time, gates, ref Total)) { return false; } } #line 2109 "TestScripts.cs" Log.Add("total " + Total); #line hidden relayed: #line 2111 "TestScripts.cs" using (__frame.Enter("relayed")) { if (!Forward__Passage(__frame, __time, gates, ref local)) { return false; } } #line 2112 "TestScripts.cs" Log.Add("relayed " + local); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "call": __frame.SaveLocal("Run.local", writer); break; case "field": __frame.SaveLocal("Run.local", writer); break; case "relayed": __frame.SaveLocal("Run.local", writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Bump__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, ref int counter) { #line hidden switch (__frame.ResumeKey) { case "bump": goto bump; } #line 2084 "TestScripts.cs" counter += 1; #line hidden bump: #line 2086 "TestScripts.cs" while (!gates.Open.Contains("go")) #line hidden { #line 2088 "TestScripts.cs" __frame.Mark("bump"); return false; #line hidden } #line 2091 "TestScripts.cs" counter *= 10; #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Forward__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, ref int counter) { #line hidden switch (__frame.ResumeKey) { case "forward": goto forward; } #line hidden forward: #line 2097 "TestScripts.cs" using (__frame.Enter("forward")) { if (!Bump__Passage(__frame, __time, gates, ref counter)) { return false; } } #line 2098 "TestScripts.cs" counter += 5; #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class ArgumentEffectScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__local; public int Show__amount; public string Show__label; public int Pass__amount; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Pass.amount"); lister.Local("Run.local"); lister.Local("Show.amount"); lister.Local("Show.label"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public ArgumentEffectScript() { } protected ArgumentEffectScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Calls", out int loaded)) { this.Calls = loaded; } else if (!reader.HasField("Calls")) { throw new global::System.IO.InvalidDataException("ArgumentEffectScript's save has no field 'Calls', which has no initializer to fall back on. Give it one."); } } } protected ArgumentEffectScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Calls"); lister.Local("Pass.amount"); lister.Local("Run.local"); lister.Local("Show.amount"); lister.Local("Show.label"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 2124 "TestScripts.cs" writer.Field("Calls", this.Calls); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Pass.amount": #line 2151 "TestScripts.cs" writer.Local("Pass.amount", this.Pass__amount); #line hidden return; case "Run.local": #line 2166 "TestScripts.cs" writer.Local("Run.local", this.Run__local); #line hidden return; case "Show.amount": #line 2140 "TestScripts.cs" writer.Local("Show.amount", this.Show__amount); #line hidden return; case "Show.label": #line 2140 "TestScripts.cs" writer.Local("Show.label", this.Show__label); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Pass.amount", out int loaded)) { this.Pass__amount = loaded; } } { if (reader.TryLocal("Run.local", out int loaded)) { this.Run__local = loaded; } } { if (reader.TryLocal("Show.amount", out int loaded)) { this.Show__amount = loaded; } } { if (reader.TryLocal("Show.label", out string loaded)) { this.Show__label = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref int local = ref __frame.Run__local; switch (__frame.ResumeKey) { case "unused": goto unused; case "shown": goto shown; case "named": goto named; case "Pass": goto Pass; } #line hidden unused: #line 2160 "TestScripts.cs" using (__frame.Enter("unused")) { if (!Hold__Passage(__frame, __time, gates, __frame.ResumeKey == null ? (Next()) : default(int))) { return false; } } #line hidden shown: #line 2162 "TestScripts.cs" using (__frame.Enter("shown")) { if (!Show__Passage(__frame, __time, gates, __frame.ResumeKey == null ? (Next()) : default(int))) { return false; } } #line hidden named: #line 2164 "TestScripts.cs" using (__frame.Enter("named")) { if (!Show__Passage(__frame, __time, gates, label__argument: __frame.ResumeKey == null ? ("named") : default(string), amount__argument: __frame.ResumeKey == null ? (Next()) : default(int))) { return false; } } #line 2166 "TestScripts.cs" local = Next(); #line hidden Pass: #line 2167 "TestScripts.cs" using (__frame.Enter("Pass")) { if (!Pass__Passage(__frame, __time, gates, __frame.ResumeKey == null ? (local) : default(int))) { return false; } } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "shown": Show__LocalsToSave(__frame, depth + 1, writer); break; case "named": Show__LocalsToSave(__frame, depth + 1, writer); break; case "Pass": __frame.SaveLocal("Run.local", writer); Pass__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Hold__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, int value) { #line hidden switch (__frame.ResumeKey) { case "hold": goto hold; } #line hidden hold: #line 2134 "TestScripts.cs" while (!gates.Open.Contains("go")) #line hidden { #line 2136 "TestScripts.cs" __frame.Mark("hold"); return false; #line hidden } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Show__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, in int amount__argument, string label__argument= "amount") { #line hidden ref int amount = ref __frame.Show__amount; if (__frame.ResumeKey == null) { amount = amount__argument; } ref string label = ref __frame.Show__label; if (__frame.ResumeKey == null) { label = label__argument; } switch (__frame.ResumeKey) { case "show": goto show; } #line hidden show: #line 2143 "TestScripts.cs" while (!gates.Open.Contains("show")) #line hidden { #line 2145 "TestScripts.cs" __frame.Mark("show"); return false; #line hidden } #line 2148 "TestScripts.cs" Log.Add(label + " " + amount); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Show__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "show": __frame.SaveLocal("Show.amount", writer); __frame.SaveLocal("Show.label", writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Pass__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, in int amount__argument) { #line hidden ref int amount = ref __frame.Pass__amount; if (__frame.ResumeKey == null) { amount = amount__argument; } switch (__frame.ResumeKey) { case "pass": goto pass; } #line hidden pass: #line 2154 "TestScripts.cs" using (__frame.Enter("pass")) { if (!Show__Passage(__frame, __time, gates, __frame.ResumeKey == null ? (amount) : default(int))) { return false; } } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Pass__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "pass": __frame.SaveLocal("Pass.amount", writer); Show__LocalsToSave(__frame, depth + 1, writer); break; } } } } namespace Ariadne.UnitTests { partial class ReadonlyRefScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public ReadonlyRefScript() { } protected ReadonlyRefScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Level", out int loaded)) { this.Level = loaded; } } } protected ReadonlyRefScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Level"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 2179 "TestScripts.cs" writer.Field("Level", this.Level); #line default } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "watching": goto watching; } #line hidden watching: #line 2195 "TestScripts.cs" using (__frame.Enter("watching")) { if (!Watch__Passage(__frame, __time, gates, in Level)) { return false; } } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Watch__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, ref readonly int level) { #line hidden switch (__frame.ResumeKey) { case "watch": goto watch; } #line hidden watch: #line 2184 "TestScripts.cs" while (!gates.Open.Contains("go")) #line hidden { #line 2186 "TestScripts.cs" __frame.Mark("watch"); return false; #line hidden } #line 2189 "TestScripts.cs" Log.Add("level " + level); #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class StepJumpScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public StepJumpScript() { } protected StepJumpScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected StepJumpScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "retry": goto retry__resume; } #line 2209 "TestScripts.cs" Log.Add("start"); #line hidden retry: #line 2212 "TestScripts.cs" __frame.Mark("retry"); return false; #line hidden retry__resume: #line 2213 "TestScripts.cs" Log.Add("woke"); #line 2215 "TestScripts.cs" if (!gates.Open.Contains("go")) { goto retry; } #line 2220 "TestScripts.cs" Log.Add("end"); #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class SiblingLabelScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public SiblingLabelScript() { } protected SiblingLabelScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected SiblingLabelScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "again": goto again__resume; case "again#1": goto again__1__resume; } #line hidden { #line 2234 "TestScripts.cs" if (!(gates.Open.Contains("left"))) goto __else1; #line hidden } #line hidden again: #line hidden { #line 2237 "TestScripts.cs" __frame.Mark("again"); return false; #line hidden } #line hidden again__resume: #line hidden { #line 2238 "TestScripts.cs" Log.Add("left"); #line 2239 "TestScripts.cs" if (!gates.Open.Contains("stop")) { goto again; } #line hidden goto __end1; #line hidden } #line hidden __else1: #line hidden again__1: #line hidden { #line 2247 "TestScripts.cs" __frame.Mark("again#1"); return false; #line hidden } #line hidden again__1__resume: #line hidden { #line 2248 "TestScripts.cs" Log.Add("right"); #line 2249 "TestScripts.cs" if (!gates.Open.Contains("stop")) { goto again__1; } #line hidden } #line hidden __end1: #line 2255 "TestScripts.cs" Log.Add("end"); #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class CopiedLabelScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public CopiedLabelScript() { } protected CopiedLabelScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected CopiedLabelScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "again": goto again__resume; } #line hidden { #line 2269 "TestScripts.cs" if (!(gates.Open.Contains("left"))) goto __else1; #line 2270 "TestScripts.cs" { again__inner: Log.Add("copied"); if (Log.Count < 3) { goto again__inner; } } #line hidden goto __end1; #line hidden } #line hidden __else1: #line hidden again: #line hidden { #line 2281 "TestScripts.cs" __frame.Mark("again"); return false; #line hidden } #line hidden again__resume: #line hidden { #line 2282 "TestScripts.cs" Log.Add("step"); #line hidden } #line hidden __end1: #line 2285 "TestScripts.cs" Log.Add("end"); #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class PlainLabelJumpScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public PlainLabelJumpScript() { } protected PlainLabelJumpScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected PlainLabelJumpScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "hold": goto hold__resume; } #line hidden again__target: #line 2300 "TestScripts.cs" Log.Add("body"); #line hidden hold: #line 2302 "TestScripts.cs" __frame.Mark("hold"); return false; #line hidden hold__resume: #line 2303 "TestScripts.cs" if (Log.Count < 3) { goto again__target; } #line 2308 "TestScripts.cs" Log.Add("end"); #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class WorkerScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Add__amount; public int Add__seen; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Add.amount"); lister.Local("Add.seen"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public WorkerScript() { } protected WorkerScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Total", out int loaded)) { this.Total = loaded; } else if (!reader.HasField("Total")) { throw new global::System.IO.InvalidDataException("WorkerScript's save has no field 'Total', which has no initializer to fall back on. Give it one."); } } } protected WorkerScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Total"); lister.Local("Add.amount"); lister.Local("Add.seen"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 2320 "TestScripts.cs" writer.Field("Total", this.Total); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Add.amount": #line 2322 "TestScripts.cs" writer.Local("Add.amount", this.Add__amount); #line hidden return; case "Add.seen": #line 2324 "TestScripts.cs" writer.Local("Add.seen", this.Add__seen); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Add.amount", out int loaded)) { this.Add__amount = loaded; } } { if (reader.TryLocal("Add.seen", out int loaded)) { this.Add__seen = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public bool Add__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, int amount__argument, out int __result) { #line hidden __result = default(int); ref int amount = ref __frame.Add__amount; if (__frame.ResumeKey == null) { amount = amount__argument; } ref int seen = ref __frame.Add__seen; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 2324 "TestScripts.cs" seen = 0; #line hidden wait: #line 2327 "TestScripts.cs" while (!gates.Open.Contains("go")) #line hidden { #line 2329 "TestScripts.cs" seen++; #line 2330 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 2333 "TestScripts.cs" Total += amount; #line 2334 "TestScripts.cs" Log.Add("added " + amount + " after " + seen); #line 2335 "TestScripts.cs" { __result = Total; __frame.Exit(); return true; } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public void Add__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Add.amount", writer); __frame.SaveLocal("Add.seen", writer); break; } } } } namespace Ariadne.UnitTests { partial class ClientScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__before; public int Run__a; public global::Ariadne.UnitTests.WorkerScript Run____call_one_receiver; public global::Ariadne.UnitTests.WorkerScript.__Frame Run____call_one_frame; public global::Ariadne.UnitTests.WorkerScript Run____call_two_receiver; public global::Ariadne.UnitTests.WorkerScript.__Frame Run____call_two_frame; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.a"); lister.Local("Run.before"); { global::Ariadne.IArcPartLister scope = lister.Scope("Run.one/", typeof(global::Ariadne.UnitTests.WorkerScript.__Frame)); if (scope != null) { scope.Local("receiver"); global::Ariadne.UnitTests.WorkerScript.__Frame.ListParts(scope); } } { global::Ariadne.IArcPartLister scope = lister.Scope("Run.two/", typeof(global::Ariadne.UnitTests.WorkerScript.__Frame)); if (scope != null) { scope.Local("receiver"); global::Ariadne.UnitTests.WorkerScript.__Frame.ListParts(scope); } } } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public ClientScript() { } protected ClientScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("First", out global::Ariadne.UnitTests.WorkerScript loaded)) { this.First = loaded; } } { if (reader.TryField("Second", out global::Ariadne.UnitTests.WorkerScript loaded)) { this.Second = loaded; } } } protected ClientScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("First"); lister.Field("Second"); lister.Local("Run.a"); lister.Local("Run.before"); { global::Ariadne.IArcPartLister scope = lister.Scope("Run.one/", typeof(global::Ariadne.UnitTests.WorkerScript.__Frame)); if (scope != null) { scope.Local("receiver"); global::Ariadne.UnitTests.WorkerScript.__Frame.ListParts(scope); } } { global::Ariadne.IArcPartLister scope = lister.Scope("Run.two/", typeof(global::Ariadne.UnitTests.WorkerScript.__Frame)); if (scope != null) { scope.Local("receiver"); global::Ariadne.UnitTests.WorkerScript.__Frame.ListParts(scope); } } } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 2351 "TestScripts.cs" writer.Field("First", this.First); #line 2353 "TestScripts.cs" writer.Field("Second", this.Second); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.a": #line 2360 "TestScripts.cs" writer.Local("Run.a", this.Run__a); #line hidden return; case "Run.before": #line 2357 "TestScripts.cs" writer.Local("Run.before", this.Run__before); #line hidden return; case "Run.one/receiver": #line 2360 "TestScripts.cs" writer.Local("receiver", this.Run____call_one_receiver); #line hidden return; case "Run.two/receiver": #line 2362 "TestScripts.cs" writer.Local("receiver", this.Run____call_two_receiver); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); base.LoadLocals(reader); { if (reader.TryLocal("Run.a", out int loaded)) { this.Run__a = loaded; } } { if (reader.TryLocal("Run.before", out int loaded)) { this.Run__before = loaded; } } { if (reader.TryScope("Run.one/", out global::Ariadne.IArcReader scope)) { { if (scope.TryLocal("receiver", out global::Ariadne.UnitTests.WorkerScript loaded)) { this.Run____call_one_receiver = loaded; } } if (this.Run____call_one_receiver != null) { this.Run____call_one_frame = (global::Ariadne.UnitTests.WorkerScript.__Frame)this.Run____call_one_receiver.NewFrame(); this.Run____call_one_frame.LoadLocals(scope); } } } { if (reader.TryScope("Run.two/", out global::Ariadne.IArcReader scope)) { { if (scope.TryLocal("receiver", out global::Ariadne.UnitTests.WorkerScript loaded)) { this.Run____call_two_receiver = loaded; } } if (this.Run____call_two_receiver != null) { this.Run____call_two_frame = (global::Ariadne.UnitTests.WorkerScript.__Frame)this.Run____call_two_receiver.NewFrame(); this.Run____call_two_frame.LoadLocals(scope); } } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); base.AttachWaits(slot); if (this.Run____call_one_frame != null) { this.Run____call_one_frame.AttachWaits(slot); } if (this.Run____call_two_frame != null) { this.Run____call_two_frame.AttachWaits(slot); } } public override void EndWaits() { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); base.EndWaits(); if (this.Run____call_one_frame != null) { this.Run____call_one_frame.EndWaits(); } if (this.Run____call_two_frame != null) { this.Run____call_two_frame.EndWaits(); } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref int before = ref __frame.Run__before; ref int a = ref __frame.Run__a; switch (__frame.ResumeKey) { case "one": goto one; case "two": goto two; } #line 2357 "TestScripts.cs" before = 3; #line hidden one: #line 2360 "TestScripts.cs" { int __value; using (__frame.Enter("one")) { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); if (__frame.ResumeKey == null) { __frame.Run____call_one_receiver = (First); __frame.Run____call_one_frame = null; } if (__frame.Run____call_one_frame == null) { __frame.Run____call_one_frame = (global::Ariadne.UnitTests.WorkerScript.__Frame)__frame.Run____call_one_receiver.NewFrame(); } if (!__frame.Run____call_one_receiver.Add__Passage(__frame.Lend(__frame.Run____call_one_frame), __time, gates, __frame.ResumeKey == null ? (5) : default(int), __result: out __value)) { return false; } } a = __value; } #line hidden two: #line 2362 "TestScripts.cs" int b; { int __value; using (__frame.Enter("two")) { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); if (__frame.ResumeKey == null) { __frame.Run____call_two_receiver = (Second); __frame.Run____call_two_frame = null; } if (__frame.Run____call_two_frame == null) { __frame.Run____call_two_frame = (global::Ariadne.UnitTests.WorkerScript.__Frame)__frame.Run____call_two_receiver.NewFrame(); } if (!__frame.Run____call_two_receiver.Add__Passage(__frame.Lend(__frame.Run____call_two_frame), __time, gates, __frame.ResumeKey == null ? (7) : default(int), __result: out __value)) { return false; } } b = __value; } #line 2363 "TestScripts.cs" Log.Add("a " + a + " b " + b + " before " + before); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "one": __frame.SaveLocal("Run.before", writer); { global::Ariadne.IArcWriter scope = writer.Scope("Run.one/"); __frame.SaveLocal("Run.one/receiver", scope); if (__frame.Run____call_one_receiver != null) { __frame.Run____call_one_receiver.Add__LocalsToSave(__frame.Lend(__frame.Run____call_one_frame), depth + 1, scope); } } break; case "two": __frame.SaveLocal("Run.before", writer); __frame.SaveLocal("Run.a", writer); { global::Ariadne.IArcWriter scope = writer.Scope("Run.two/"); __frame.SaveLocal("Run.two/receiver", scope); if (__frame.Run____call_two_receiver != null) { __frame.Run____call_two_receiver.Add__LocalsToSave(__frame.Lend(__frame.Run____call_two_frame), depth + 1, scope); } } break; } } } } namespace Ariadne.UnitTests { partial class RepeatingClientScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public int Run__i; public global::Ariadne.UnitTests.WorkerScript Run____call_Add_receiver; public global::Ariadne.UnitTests.WorkerScript.__Frame Run____call_Add_frame; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.i"); { global::Ariadne.IArcPartLister scope = lister.Scope("Run.Add/", typeof(global::Ariadne.UnitTests.WorkerScript.__Frame)); if (scope != null) { scope.Local("receiver"); global::Ariadne.UnitTests.WorkerScript.__Frame.ListParts(scope); } } } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public RepeatingClientScript() { } protected RepeatingClientScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Worker", out global::Ariadne.UnitTests.WorkerScript loaded)) { this.Worker = loaded; } } } protected RepeatingClientScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Worker"); lister.Local("Run.i"); { global::Ariadne.IArcPartLister scope = lister.Scope("Run.Add/", typeof(global::Ariadne.UnitTests.WorkerScript.__Frame)); if (scope != null) { scope.Local("receiver"); global::Ariadne.UnitTests.WorkerScript.__Frame.ListParts(scope); } } } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 2372 "TestScripts.cs" writer.Field("Worker", this.Worker); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.Add/receiver": #line 2378 "TestScripts.cs" writer.Local("receiver", this.Run____call_Add_receiver); #line hidden return; case "Run.i": #line 2376 "TestScripts.cs" writer.Local("Run.i", this.Run__i); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); base.LoadLocals(reader); { if (reader.TryLocal("Run.i", out int loaded)) { this.Run__i = loaded; } } { if (reader.TryScope("Run.Add/", out global::Ariadne.IArcReader scope)) { { if (scope.TryLocal("receiver", out global::Ariadne.UnitTests.WorkerScript loaded)) { this.Run____call_Add_receiver = loaded; } } if (this.Run____call_Add_receiver != null) { this.Run____call_Add_frame = (global::Ariadne.UnitTests.WorkerScript.__Frame)this.Run____call_Add_receiver.NewFrame(); this.Run____call_Add_frame.LoadLocals(scope); } } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); base.AttachWaits(slot); if (this.Run____call_Add_frame != null) { this.Run____call_Add_frame.AttachWaits(slot); } } public override void EndWaits() { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); base.EndWaits(); if (this.Run____call_Add_frame != null) { this.Run____call_Add_frame.EndWaits(); } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Add": goto Add; } #line hidden { ref int i = ref __frame.Run__i; #line 2376 "TestScripts.cs" i = 0; #line hidden } #line hidden __loopStart1: #line hidden { ref int i = ref __frame.Run__i; #line 2376 "TestScripts.cs" if (!(i < 2)) goto __loopEnd1; #line hidden } #line hidden Add: #line hidden { #line 2378 "TestScripts.cs" using (__frame.Enter("Add")) { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); if (__frame.ResumeKey == null) { __frame.Run____call_Add_receiver = (Worker); __frame.Run____call_Add_frame = null; } if (__frame.Run____call_Add_frame == null) { __frame.Run____call_Add_frame = (global::Ariadne.UnitTests.WorkerScript.__Frame)__frame.Run____call_Add_receiver.NewFrame(); } if (!__frame.Run____call_Add_receiver.Add__Passage(__frame.Lend(__frame.Run____call_Add_frame), __time, gates, __frame.ResumeKey == null ? (10) : default(int), __result: out _)) { return false; } } #line hidden } #line hidden __loopCont1: #line hidden { ref int i = ref __frame.Run__i; #line 2376 "TestScripts.cs" i++; #line hidden goto __loopStart1; #line hidden } #line hidden __loopEnd1: #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Add": __frame.SaveLocal("Run.i", writer); { global::Ariadne.IArcWriter scope = writer.Scope("Run.Add/"); __frame.SaveLocal("Run.Add/receiver", scope); if (__frame.Run____call_Add_receiver != null) { __frame.Run____call_Add_receiver.Add__LocalsToSave(__frame.Lend(__frame.Run____call_Add_frame), depth + 1, scope); } } break; } } } } namespace Ariadne.UnitTests { partial class ParamsScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public string[] Say__lines; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Say.lines"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public ParamsScript() { } protected ParamsScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Evaluations", out int loaded)) { this.Evaluations = loaded; } else if (!reader.HasField("Evaluations")) { throw new global::System.IO.InvalidDataException("ParamsScript's save has no field 'Evaluations', which has no initializer to fall back on. Give it one."); } } } protected ParamsScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Evaluations"); lister.Local("Say.lines"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 2391 "TestScripts.cs" writer.Field("Evaluations", this.Evaluations); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Say.lines": #line 2399 "TestScripts.cs" writer.Local("Say.lines", this.Say__lines); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Say.lines", out string[] loaded)) { this.Say__lines = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "say": goto say; } #line hidden say: #line 2413 "TestScripts.cs" using (__frame.Enter("say")) { if (!Say__Passage(__frame, __time, gates, __frame.ResumeKey == null ? new string[] { "a", Next() } : null)) { return false; } } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "say": Say__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Say__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, params string[] lines__argument) { #line hidden ref string[] lines = ref __frame.Say__lines; if (__frame.ResumeKey == null) { lines = lines__argument; } switch (__frame.ResumeKey) { case "wait": goto wait; } #line hidden wait: #line 2402 "TestScripts.cs" while (!gates.Open.Contains("go")) #line hidden { #line 2404 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 2407 "TestScripts.cs" Log.Add(string.Join(",", lines)); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Say__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Say.lines", writer); break; } } } } namespace Ariadne.UnitTests { partial class StepsArc { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public string Hold__name; public int Hold__seen; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Hold.name"); lister.Local("Hold.seen"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } protected StepsArc() { } protected StepsArc(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected StepsArc(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Hold.name"); lister.Local("Hold.seen"); } #pragma warning restore public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Hold.name": #line 2425 "TestScripts.cs" writer.Local("Hold.name", this.Hold__name); #line hidden return; case "Hold.seen": #line 2427 "TestScripts.cs" writer.Local("Hold.seen", this.Hold__seen); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Hold.name", out string loaded)) { this.Hold__name = loaded; } } { if (reader.TryLocal("Hold.seen", out int loaded)) { this.Hold__seen = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Hold__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates, string name__argument) { #line hidden ref string name = ref __frame.Hold__name; if (__frame.ResumeKey == null) { name = name__argument; } ref int seen = ref __frame.Hold__seen; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 2427 "TestScripts.cs" seen = 0; #line hidden wait: #line 2430 "TestScripts.cs" while (!gates.Open.Contains("go")) #line hidden { #line 2432 "TestScripts.cs" seen++; #line 2433 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 2436 "TestScripts.cs" Log.Add(name + " held " + seen); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Hold__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Hold.name", writer); __frame.SaveLocal("Hold.seen", writer); break; } } } } namespace Ariadne.UnitTests { partial class HoldingScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.UnitTests.StepsArc.__Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { global::Ariadne.UnitTests.StepsArc.__Frame.ListParts(lister); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public HoldingScript() { } protected HoldingScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected HoldingScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "first": goto first; case "second": goto second; } #line hidden first: #line 2448 "TestScripts.cs" using (__frame.Enter("first")) { if (!Hold__Passage(__frame, __time, gates, __frame.ResumeKey == null ? ("first") : default(string))) { return false; } } #line hidden second: #line 2450 "TestScripts.cs" using (__frame.Enter("second")) { if (!Hold__Passage(__frame, __time, gates, __frame.ResumeKey == null ? ("second") : default(string))) { return false; } } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "first": Hold__LocalsToSave(__frame, depth + 1, writer); break; case "second": Hold__LocalsToSave(__frame, depth + 1, writer); break; } } } } namespace Ariadne.UnitTests { partial class OtherHoldingScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.UnitTests.StepsArc.__Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { global::Ariadne.UnitTests.StepsArc.__Frame.ListParts(lister); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public OtherHoldingScript() { } protected OtherHoldingScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected OtherHoldingScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "only": goto only; } #line hidden only: #line 2462 "TestScripts.cs" using (__frame.Enter("only")) { if (!Hold__Passage(__frame, __time, gates, __frame.ResumeKey == null ? ("only") : default(string))) { return false; } } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "only": Hold__LocalsToSave(__frame, depth + 1, writer); break; } } } } namespace Ariadne.UnitTests { partial class MoreStepsArc { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.UnitTests.StepsArc.__Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { global::Ariadne.UnitTests.StepsArc.__Frame.ListParts(lister); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } protected MoreStepsArc() { } protected MoreStepsArc(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Extra", out int loaded)) { this.Extra = loaded; } else if (!reader.HasField("Extra")) { throw new global::System.IO.InvalidDataException("MoreStepsArc's save has no field 'Extra', which has no initializer to fall back on. Give it one."); } } } protected MoreStepsArc(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Extra"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 2471 "TestScripts.cs" writer.Field("Extra", this.Extra); #line default } #pragma warning disable } } namespace Ariadne.UnitTests { partial class DeepHoldingScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.UnitTests.MoreStepsArc.__Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { global::Ariadne.UnitTests.MoreStepsArc.__Frame.ListParts(lister); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public DeepHoldingScript() { } protected DeepHoldingScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected DeepHoldingScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "deep": goto deep; } #line hidden deep: #line 2479 "TestScripts.cs" using (__frame.Enter("deep")) { if (!Hold__Passage(__frame, __time, gates, __frame.ResumeKey == null ? ("deep") : default(string))) { return false; } } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "deep": Hold__LocalsToSave(__frame, depth + 1, writer); break; } } } } namespace Ariadne.UnitTests { partial class RelayScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public global::Ariadne.UnitTests.WorkerScript Relay____call_Add_receiver; public global::Ariadne.UnitTests.WorkerScript.__Frame Relay____call_Add_frame; public static void ListParts(global::Ariadne.IArcPartLister lister) { { global::Ariadne.IArcPartLister scope = lister.Scope("Relay.Add/", typeof(global::Ariadne.UnitTests.WorkerScript.__Frame)); if (scope != null) { scope.Local("receiver"); global::Ariadne.UnitTests.WorkerScript.__Frame.ListParts(scope); } } } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public RelayScript() { } protected RelayScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Worker", out global::Ariadne.UnitTests.WorkerScript loaded)) { this.Worker = loaded; } } } protected RelayScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Worker"); { global::Ariadne.IArcPartLister scope = lister.Scope("Relay.Add/", typeof(global::Ariadne.UnitTests.WorkerScript.__Frame)); if (scope != null) { scope.Local("receiver"); global::Ariadne.UnitTests.WorkerScript.__Frame.ListParts(scope); } } } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 2488 "TestScripts.cs" writer.Field("Worker", this.Worker); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Relay.Add/receiver": #line 2492 "TestScripts.cs" writer.Local("receiver", this.Relay____call_Add_receiver); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); base.LoadLocals(reader); { if (reader.TryScope("Relay.Add/", out global::Ariadne.IArcReader scope)) { { if (scope.TryLocal("receiver", out global::Ariadne.UnitTests.WorkerScript loaded)) { this.Relay____call_Add_receiver = loaded; } } if (this.Relay____call_Add_receiver != null) { this.Relay____call_Add_frame = (global::Ariadne.UnitTests.WorkerScript.__Frame)this.Relay____call_Add_receiver.NewFrame(); this.Relay____call_Add_frame.LoadLocals(scope); } } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); base.AttachWaits(slot); if (this.Relay____call_Add_frame != null) { this.Relay____call_Add_frame.AttachWaits(slot); } } public override void EndWaits() { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); base.EndWaits(); if (this.Relay____call_Add_frame != null) { this.Relay____call_Add_frame.EndWaits(); } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Relay": goto Relay; } #line hidden Relay: #line 2498 "TestScripts.cs" using (__frame.Enter("Relay")) { if (!Relay__Passage(__frame, __time, gates)) { return false; } } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Relay": Relay__LocalsToSave(__frame, depth + 1, writer); break; } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private bool Relay__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "Add": goto Add; } #line hidden Add: #line 2492 "TestScripts.cs" int through; { int __value; using (__frame.Enter("Add")) { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); if (__frame.ResumeKey == null) { __frame.Relay____call_Add_receiver = (Worker); __frame.Relay____call_Add_frame = null; } if (__frame.Relay____call_Add_frame == null) { __frame.Relay____call_Add_frame = (global::Ariadne.UnitTests.WorkerScript.__Frame)__frame.Relay____call_Add_receiver.NewFrame(); } if (!__frame.Relay____call_Add_receiver.Add__Passage(__frame.Lend(__frame.Relay____call_Add_frame), __time, gates, __frame.ResumeKey == null ? (1) : default(int), __result: out __value)) { return false; } } through = __value; } #line 2493 "TestScripts.cs" Worker.Log.Add("through " + through); #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private void Relay__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "Add": { global::Ariadne.IArcWriter scope = writer.Scope("Relay.Add/"); __frame.SaveLocal("Relay.Add/receiver", scope); if (__frame.Relay____call_Add_receiver != null) { __frame.Relay____call_Add_receiver.Add__LocalsToSave(__frame.Lend(__frame.Relay____call_Add_frame), depth + 1, scope); } } break; } } } } namespace Ariadne.UnitTests { partial class FaultingScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public FaultingScript() { } protected FaultingScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Attempts", out int loaded)) { this.Attempts = loaded; } else if (!reader.HasField("Attempts")) { throw new global::System.IO.InvalidDataException("FaultingScript's save has no field 'Attempts', which has no initializer to fall back on. Give it one."); } } } protected FaultingScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Attempts"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 2507 "TestScripts.cs" writer.Field("Attempts", this.Attempts); #line default } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "hold": goto hold; } #line hidden hold: #line 2512 "TestScripts.cs" while (!gates.Open.Contains("finish")) #line hidden { #line 2514 "TestScripts.cs" if (gates.Open.Contains("explode")) { Attempts++; throw new InvalidOperationException("boom"); } #line 2520 "TestScripts.cs" __frame.Mark("hold"); return false; #line hidden } #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class NotingScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public NotingScript() { } protected NotingScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Area", out string loaded)) { this.Area = loaded; } } } protected NotingScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Area"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 2530 "TestScripts.cs" writer.Field("Area", this.Area); #line default } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "hold": goto hold; } #line hidden hold: #line 2540 "TestScripts.cs" while (!gates.Open.Contains("finish")) #line hidden { #line 2542 "TestScripts.cs" if (gates.Open.Contains("explode")) { throw new InvalidOperationException("boom"); } #line 2547 "TestScripts.cs" __frame.Mark("hold"); return false; #line hidden } #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class BrokenNotingScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public BrokenNotingScript() { } protected BrokenNotingScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected BrokenNotingScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "hold": goto hold; } #line hidden hold: #line 2566 "TestScripts.cs" while (!gates.Open.Contains("finish")) #line hidden { #line 2568 "TestScripts.cs" if (gates.Open.Contains("explode")) { throw new InvalidOperationException("boom"); } #line 2573 "TestScripts.cs" __frame.Mark("hold"); return false; #line hidden } #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class ClockScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public ClockScript() { } protected ClockScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("SeenDeltaTimeTicks", out long loaded)) { this.SeenDeltaTimeTicks = loaded; } else if (!reader.HasField("SeenDeltaTimeTicks")) { throw new global::System.IO.InvalidDataException("ClockScript's save has no field 'SeenDeltaTimeTicks', which has no initializer to fall back on. Give it one."); } } { if (reader.TryField("SeenGameTicks", out long loaded)) { this.SeenGameTicks = loaded; } else if (!reader.HasField("SeenGameTicks")) { throw new global::System.IO.InvalidDataException("ClockScript's save has no field 'SeenGameTicks', which has no initializer to fall back on. Give it one."); } } } protected ClockScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("SeenDeltaTimeTicks"); lister.Field("SeenGameTicks"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 2583 "TestScripts.cs" writer.Field("SeenDeltaTimeTicks", this.SeenDeltaTimeTicks); #line 2584 "TestScripts.cs" writer.Field("SeenGameTicks", this.SeenGameTicks); #line default } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "hold": goto hold; } #line hidden hold: #line 2589 "TestScripts.cs" while (!gates.Open.Contains("finish")) #line hidden { #line 2591 "TestScripts.cs" SeenDeltaTimeTicks = __time.DeltaTime.Ticks; #line 2592 "TestScripts.cs" SeenGameTicks = __time.GameTime.Ticks; #line 2593 "TestScripts.cs" __frame.Mark("hold"); return false; #line hidden } #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class DeadlineScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public global::Amphora.Duration Run__deadline; public static void ListParts(global::Ariadne.IArcPartLister lister) { lister.Local("Run.deadline"); } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public DeadlineScript() { } protected DeadlineScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Done", out bool loaded)) { this.Done = loaded; } else if (!reader.HasField("Done")) { throw new global::System.IO.InvalidDataException("DeadlineScript's save has no field 'Done', which has no initializer to fall back on. Give it one."); } } } protected DeadlineScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Done"); lister.Local("Run.deadline"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 2603 "TestScripts.cs" writer.Field("Done", this.Done); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.deadline": #line 2607 "TestScripts.cs" writer.Local("Run.deadline", this.Run__deadline); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { base.LoadLocals(reader); { if (reader.TryLocal("Run.deadline", out global::Amphora.Duration loaded)) { this.Run__deadline = loaded; } } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden ref global::Amphora.Duration deadline = ref __frame.Run__deadline; switch (__frame.ResumeKey) { case "wait": goto wait; } #line 2607 "TestScripts.cs" deadline = __time.GameTime + Duration.FromSeconds(1); #line hidden wait: #line 2610 "TestScripts.cs" while (__time.GameTime < deadline) #line hidden { #line 2612 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 2615 "TestScripts.cs" Done = true; #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "wait": __frame.SaveLocal("Run.deadline", writer); break; } } } } namespace Ariadne.UnitTests { partial class TimeWorkerScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public TimeWorkerScript() { } protected TimeWorkerScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("SeenDeltaTimeTicks", out long loaded)) { this.SeenDeltaTimeTicks = loaded; } else if (!reader.HasField("SeenDeltaTimeTicks")) { throw new global::System.IO.InvalidDataException("TimeWorkerScript's save has no field 'SeenDeltaTimeTicks', which has no initializer to fall back on. Give it one."); } } { if (reader.TryField("SeenGameTicks", out long loaded)) { this.SeenGameTicks = loaded; } else if (!reader.HasField("SeenGameTicks")) { throw new global::System.IO.InvalidDataException("TimeWorkerScript's save has no field 'SeenGameTicks', which has no initializer to fall back on. Give it one."); } } } protected TimeWorkerScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("SeenDeltaTimeTicks"); lister.Field("SeenGameTicks"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 2624 "TestScripts.cs" writer.Field("SeenDeltaTimeTicks", this.SeenDeltaTimeTicks); #line 2625 "TestScripts.cs" writer.Field("SeenGameTicks", this.SeenGameTicks); #line default } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public bool Note__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "wait": goto wait; } #line hidden wait: #line 2630 "TestScripts.cs" while (!gates.Open.Contains("go")) #line hidden { #line 2632 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 2635 "TestScripts.cs" SeenDeltaTimeTicks = __time.DeltaTime.Ticks; #line 2636 "TestScripts.cs" SeenGameTicks = __time.GameTime.Ticks; #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class TimeClientScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public global::Ariadne.UnitTests.TimeWorkerScript Run____call_note_receiver; public global::Ariadne.UnitTests.TimeWorkerScript.__Frame Run____call_note_frame; public static void ListParts(global::Ariadne.IArcPartLister lister) { { global::Ariadne.IArcPartLister scope = lister.Scope("Run.note/", typeof(global::Ariadne.UnitTests.TimeWorkerScript.__Frame)); if (scope != null) { scope.Local("receiver"); global::Ariadne.UnitTests.TimeWorkerScript.__Frame.ListParts(scope); } } } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } protected override void __SaveLocals(global::Ariadne.IArcWriter writer) { Run__LocalsToSave((__Frame)__CurrentFrame, 0, writer); } public TimeClientScript() { } protected TimeClientScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Worker", out global::Ariadne.UnitTests.TimeWorkerScript loaded)) { this.Worker = loaded; } } } protected TimeClientScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Worker"); { global::Ariadne.IArcPartLister scope = lister.Scope("Run.note/", typeof(global::Ariadne.UnitTests.TimeWorkerScript.__Frame)); if (scope != null) { scope.Local("receiver"); global::Ariadne.UnitTests.TimeWorkerScript.__Frame.ListParts(scope); } } } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 2649 "TestScripts.cs" writer.Field("Worker", this.Worker); #line default } public partial class __Frame { public override void SaveLocal(string key, global::Ariadne.IArcWriter writer) { switch (key) { case "Run.note/receiver": #line 2654 "TestScripts.cs" writer.Local("receiver", this.Run____call_note_receiver); #line hidden return; } #line default base.SaveLocal(key, writer); } } #pragma warning disable public partial class __Frame { public override void LoadLocals(global::Ariadne.IArcReader reader) { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); base.LoadLocals(reader); { if (reader.TryScope("Run.note/", out global::Ariadne.IArcReader scope)) { { if (scope.TryLocal("receiver", out global::Ariadne.UnitTests.TimeWorkerScript loaded)) { this.Run____call_note_receiver = loaded; } } if (this.Run____call_note_receiver != null) { this.Run____call_note_frame = (global::Ariadne.UnitTests.TimeWorkerScript.__Frame)this.Run____call_note_receiver.NewFrame(); this.Run____call_note_frame.LoadLocals(scope); } } } } public override void AttachWaits(global::Ariadne.WakeSlot slot) { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); base.AttachWaits(slot); if (this.Run____call_note_frame != null) { this.Run____call_note_frame.AttachWaits(slot); } } public override void EndWaits() { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); base.EndWaits(); if (this.Run____call_note_frame != null) { this.Run____call_note_frame.EndWaits(); } } } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "note": goto note; } #line hidden note: #line 2654 "TestScripts.cs" using (__frame.Enter("note")) { global::System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); if (__frame.ResumeKey == null) { __frame.Run____call_note_receiver = (Worker); __frame.Run____call_note_frame = null; } if (__frame.Run____call_note_frame == null) { __frame.Run____call_note_frame = (global::Ariadne.UnitTests.TimeWorkerScript.__Frame)__frame.Run____call_note_receiver.NewFrame(); } if (!__frame.Run____call_note_receiver.Note__Passage(__frame.Lend(__frame.Run____call_note_frame), __time, gates)) { return false; } } #line hidden __frame.Exit(); return true; #line default } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected void Run__LocalsToSave(__Frame __frame, int depth, global::Ariadne.IArcWriter writer) { if (depth >= __frame.Cursor.Count) { return; } switch (__frame.Cursor[depth]) { case "note": { global::Ariadne.IArcWriter scope = writer.Scope("Run.note/"); __frame.SaveLocal("Run.note/receiver", scope); } break; } } } } namespace Ariadne.UnitTests { partial class ParentScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public ParentScript() { } protected ParentScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Child", out global::Ariadne.UnitTests.FaultingScript loaded)) { this.Child = loaded; } } { if (reader.TryField("ChildFirst", out bool loaded)) { this.ChildFirst = loaded; } } } protected ParentScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Child"); lister.Field("ChildFirst"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 2666 "TestScripts.cs" writer.Field("Child", this.Child); #line 2668 "TestScripts.cs" writer.Field("ChildFirst", this.ChildFirst); #line default } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { case "wait": goto wait; } #line 2687 "TestScripts.cs" Log.Add("start"); #line hidden wait: #line 2690 "TestScripts.cs" while (!Child.Finished) #line hidden { #line 2692 "TestScripts.cs" Log.Add("self"); #line 2693 "TestScripts.cs" __frame.Mark("wait"); return false; #line hidden } #line 2696 "TestScripts.cs" Log.Add("end"); #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class SkippingScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public SkippingScript() { } protected SkippingScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Child", out global::Ariadne.UnitTests.FaultingScript loaded)) { this.Child = loaded; } } { if (reader.TryField("Turns", out int loaded)) { this.Turns = loaded; } else if (!reader.HasField("Turns")) { throw new global::System.IO.InvalidDataException("SkippingScript's save has no field 'Turns', which has no initializer to fall back on. Give it one."); } } { if (reader.TryField("Ran", out bool loaded)) { this.Ran = loaded; } else if (!reader.HasField("Ran")) { throw new global::System.IO.InvalidDataException("SkippingScript's save has no field 'Ran', which has no initializer to fall back on. Give it one."); } } } protected SkippingScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Child"); lister.Field("Turns"); lister.Field("Ran"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 2705 "TestScripts.cs" writer.Field("Child", this.Child); #line 2707 "TestScripts.cs" writer.Field("Turns", this.Turns); #line 2709 "TestScripts.cs" writer.Field("Ran", this.Ran); #line default } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { } #line 2720 "TestScripts.cs" Ran = true; #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class ThrowingTurnScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public ThrowingTurnScript() { } protected ThrowingTurnScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Child", out global::Ariadne.UnitTests.FaultingScript loaded)) { this.Child = loaded; } } { if (reader.TryField("Turns", out int loaded)) { this.Turns = loaded; } else if (!reader.HasField("Turns")) { throw new global::System.IO.InvalidDataException("ThrowingTurnScript's save has no field 'Turns', which has no initializer to fall back on. Give it one."); } } } protected ThrowingTurnScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Child"); lister.Field("Turns"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 2729 "TestScripts.cs" writer.Field("Child", this.Child); #line 2731 "TestScripts.cs" writer.Field("Turns", this.Turns); #line default } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { } #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class SelfTickingScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public SelfTickingScript() { } protected SelfTickingScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { } protected SelfTickingScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { } #line hidden __frame.Exit(); return true; #line default } } } namespace Ariadne.UnitTests { partial class LoopingScript { [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public partial class __Frame : global::Ariadne.Frame { public static void ListParts(global::Ariadne.IArcPartLister lister) { } } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected override global::Ariadne.Frame __CreateFrame() { return new __Frame(); } [global::System.CodeDom.Compiler.GeneratedCode("Ariadne.Generator", "1.0")] protected override bool __Resume(global::Ariadne.UnitTests.ArcTests.Gates context, global::Ariadne.TickTime __time) { return Run__Passage((__Frame)__CurrentFrame, __time, context); } public LoopingScript() { } protected LoopingScript(global::Ariadne.IArcReader reader, global::Ariadne.AutoLoadEveryField load) : base(reader) { { if (reader.TryField("Other", out global::Ariadne.UnitTests.LoopingScript loaded)) { this.Other = loaded; } else if (!reader.HasField("Other")) { throw new global::System.IO.InvalidDataException("LoopingScript's save has no field 'Other', which has no initializer to fall back on. Give it one."); } } { if (reader.TryField("Turns", out int loaded)) { this.Turns = loaded; } else if (!reader.HasField("Turns")) { throw new global::System.IO.InvalidDataException("LoopingScript's save has no field 'Turns', which has no initializer to fall back on. Give it one."); } } } protected LoopingScript(global::Ariadne.IArcReader reader) : this(reader, default(global::Ariadne.AutoLoadEveryField)) { } [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] private static void __ListParts(global::Ariadne.IArcPartLister lister) { lister.Field("Other"); lister.Field("Turns"); } #pragma warning restore protected override void __SaveFields(global::Ariadne.IArcWriter writer) { base.__SaveFields(writer); #line 2766 "TestScripts.cs" writer.Field("Other", this.Other); #line 2768 "TestScripts.cs" writer.Field("Turns", this.Turns); #line default } #pragma warning disable [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] protected bool Run__Passage(__Frame __frame, global::Ariadne.TickTime __time, ArcTests.Gates gates) { #line hidden switch (__frame.ResumeKey) { } #line hidden __frame.Exit(); return true; #line default } } }