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(); }
private void Return(Instruction il) { var ret = new CodeReturnStatement(); if (this.stack.Any()) { ret.Expression = Pop(); } AddStatment(ret); }