Code/Core/Contexts/ExecutionContext/ExecutionContext.cs
namespace Nodebox;
public partial class ExecutionContext : Context, IMeta {
public Graph Graph { get; set; }
public Dictionary<string, object> Meta { get; private set; } = [];
public ExecutionContext() {
GenericArguments = GenerateAvailableTypes();
Implementations = GenerateImplementations();
}
public ExecutionContext(Graph graph) : this() {
Graph = graph;
}
public virtual void Call(PinRef pin) { // PinRef<Call>
InvalidOperationException.ThrowIf(Graph == null, $"{nameof(Graph)} is not set");
Assert.True(Graph.Contains<Node>(pin.Node), $"{nameof(ExecutionContext)} graph does't contain the {nameof(Nodebox.Call)} node, wtf");
// ...
}
}
public abstract class Call { }