/// <summary> /// http://www.ecma-international.org/ecma-262/5.1/#sec-12.9 /// </summary> /// <param name="statement"></param> /// <returns></returns> public Completion ExecuteReturnStatement(ReturnStatement statement) { if (statement.Argument == null) { return new Completion(Completion.Return, Undefined.Instance, null); } var exprRef = _engine.EvaluateExpression(statement.Argument); return new Completion(Completion.Return, _engine.GetValue(exprRef), null); }
private void EmitReturnStatement(ReturnStatement ret) { Write("return "); Emit(ret.Argument); Write(";"); }