public SequenceBodyContext(ExpressionCompiler compiler, string name, SequenceBodyExpression sequenceBody, FunctionContext forward) : base(compiler, forward.FrameIndex + 1, forward.Scope, forward.FullName, name) { _forward = forward; _identifierMap = new IdentifierMap(); _index = 0; SequenceBody = sequenceBody; }
public override void PopScope() { _identifierMap = _identifierMap.Previous; Scope = Scope.Previous; }
public override void PushScope() { _identifierMap = new IdentifierMap(_identifierMap); Scope = new SequenceBodyScope(FrameIndex, Scope, this); }
public IdentifierMap(IdentifierMap previous = null) { Previous = previous; _identifiers = new Dictionary <string, string>(); }