Skip to content

Commit 1e2037b

Browse files
committed
change RegisteredSignals from Run to StatementContext
basically to allow changing the properties of a statement before running it
1 parent c2583df commit 1e2037b

5 files changed

Lines changed: 10 additions & 9 deletions

File tree

Code/ContextSystem/BaseContexts/LoopContext.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ namespace SER.Code.ContextSystem.BaseContexts;
77
public abstract class LoopContext : StatementContext, IExtendableStatement, IKeywordContext
88
{
99
public IExtendableStatement.Signal AllowedSignals => IExtendableStatement.Signal.DidntExecute;
10-
public Dictionary<IExtendableStatement.Signal, Func<IEnumerator<float>>> RegisteredSignals { get; } = [];
10+
public Dictionary<IExtendableStatement.Signal, StatementContext> RegisteredSignals { get; } = [];
1111

1212
public abstract string KeywordName { get; }
1313
public abstract string Description { get; }

Code/ContextSystem/Contexter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ List<Context> contexts
9696
return rs + "The statement to extend does not support this type of extension.";
9797
}
9898

99-
extendable.RegisteredSignals[treeExtenderInfo.Extends] = treeExtenderContext.Run;
99+
extendable.RegisteredSignals[treeExtenderInfo.Extends] = treeExtenderContext;
100100
statementStack.Pop();
101101
statementStack.Push(treeExtenderContext);
102102
return context.VerifyCurrentState().HasErrored(out error) ? rs + error : true;

Code/ContextSystem/Contexts/Control/ElifStatement.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public class ElifStatement : StatementContext, IStatementExtender, IExtendableSt
2525
public IExtendableStatement.Signal Extends => IExtendableStatement.Signal.DidntExecute;
2626

2727
public IExtendableStatement.Signal AllowedSignals => IExtendableStatement.Signal.DidntExecute;
28-
public Dictionary<IExtendableStatement.Signal, Func<IEnumerator<float>>> RegisteredSignals { get; } = new();
28+
public Dictionary<IExtendableStatement.Signal, StatementContext> RegisteredSignals { get; } = new();
2929

3030
private readonly List<BaseToken> _condition = [];
3131

@@ -74,12 +74,12 @@ protected override IEnumerator<float> Execute()
7474

7575
if (!result)
7676
{
77-
if (!RegisteredSignals.TryGetValue(IExtendableStatement.Signal.DidntExecute, out var enumerator))
77+
if (!RegisteredSignals.TryGetValue(IExtendableStatement.Signal.DidntExecute, out var statement))
7878
{
7979
yield break;
8080
}
8181

82-
var coro = enumerator();
82+
var coro = statement.Run();
8383
while (coro.MoveNext())
8484
{
8585
yield return coro.Current;

Code/ContextSystem/Contexts/Control/IfStatement.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public class IfStatement : StatementContext, IExtendableStatement, IKeywordConte
2121
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2222

2323
public IExtendableStatement.Signal AllowedSignals => IExtendableStatement.Signal.DidntExecute;
24-
public Dictionary<IExtendableStatement.Signal, Func<IEnumerator<float>>> RegisteredSignals { get; } = [];
24+
public Dictionary<IExtendableStatement.Signal, StatementContext> RegisteredSignals { get; } = [];
2525

2626
private readonly List<BaseToken> _condition = [];
2727

@@ -69,12 +69,12 @@ protected override IEnumerator<float> Execute()
6969

7070
if (!result)
7171
{
72-
if (!RegisteredSignals.TryGetValue(IExtendableStatement.Signal.DidntExecute, out var enumerator))
72+
if (!RegisteredSignals.TryGetValue(IExtendableStatement.Signal.DidntExecute, out var statement))
7373
{
7474
yield break;
7575
}
7676

77-
var didntExecuteCoro = enumerator();
77+
var didntExecuteCoro = statement.Run();
7878
while (didntExecuteCoro.MoveNext())
7979
{
8080
yield return didntExecuteCoro.Current;

Code/ContextSystem/Interfaces/IExtendableStatement.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using JetBrains.Annotations;
2+
using SER.Code.ContextSystem.BaseContexts;
23

34
namespace SER.Code.ContextSystem.Interfaces;
45

@@ -14,5 +15,5 @@ public enum Signal
1415
}
1516

1617
public abstract Signal AllowedSignals { get; }
17-
public Dictionary<Signal, Func<IEnumerator<float>>> RegisteredSignals { get; }
18+
public Dictionary<Signal, StatementContext> RegisteredSignals { get; }
1819
}

0 commit comments

Comments
 (0)