public CodeObject Compile(AstNode syntaxNode, CodeProgram prog)
        {
            var syntax = (ScriptFlowControlStatement)syntaxNode;

            if (syntax.Symbol == "return")
            {
                var code = new CodeReturnStatement((CodeExpression)AstDomCompiler.Compile(syntax.Expression, prog));
                return(code);
            }

            throw new NotImplementedException();
        }
    public CodeObject Compile(AstNode syntaxNode, CodeProgram prog)
    {
      var syntax = (ScriptFlowControlStatement)syntaxNode;

      if (syntax.Symbol == "return")
      {
        var code = new CodeReturnStatement((CodeExpression)AstDomCompiler.Compile(syntax.Expression, prog));
        return code;
      }

      throw new NotImplementedException();
    }
Example #3
0
 private void Return(Instruction il)
 {
     var ret = new CodeReturnStatement();
     if (this.stack.Any()) {
         ret.Expression = Pop();
     }
     AddStatment(ret);
 }