Esempio n. 1
0
        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;
        }
Esempio n. 2
0
 public override void PopScope()
 {
     _identifierMap = _identifierMap.Previous;
     Scope          = Scope.Previous;
 }
Esempio n. 3
0
 public override void PushScope()
 {
     _identifierMap = new IdentifierMap(_identifierMap);
     Scope          = new SequenceBodyScope(FrameIndex, Scope, this);
 }
Esempio n. 4
0
 public IdentifierMap(IdentifierMap previous = null)
 {
     Previous     = previous;
     _identifiers = new Dictionary <string, string>();
 }