Ejemplo n.º 1
0
 protected override void Visit(ScopeChunk chunk)
 {
     _variables.PushScope();
     Accept(chunk.Body);
     _variables.PopScope();
 }
Ejemplo n.º 2
0
        public void ScopeTest()
        {
            var scope1 = new ScopeChunk();
            scope1.Body.Add(new LocalVariableChunk { Name = "x", Value = "4" });
            scope1.Body.Add(new SendExpressionChunk { Code = "x" });
            var scope2 = new ScopeChunk();
            scope2.Body.Add(new LocalVariableChunk { Name = "x", Value = "2" });
            scope2.Body.Add(new SendExpressionChunk { Code = "x" });

            var chunks = Chunks(scope1, scope2);
            _compiler.CompileView(chunks, chunks);
            var contents = ExecuteView();
            Assert.AreEqual(contents, "42");
        }