private GetUnwinderResult ( |
||
unwinder | ||
리턴 | object |
public static object YieldSplatNRhs(object[]/*!*/ args, object splattee, object rhs, object self, BlockParam/*!*/ blockParam) { object result; var proc = blockParam.Proc; try { result = proc.Dispatcher.InvokeSplatRhs(blockParam, self, args, splattee, rhs); } catch (EvalUnwinder evalUnwinder) { result = blockParam.GetUnwinderResult(evalUnwinder); } return result; }
public static object YieldSplat4(object arg1, object arg2, object arg3, object arg4, object splattee, object self, BlockParam/*!*/ blockParam) { object result; var proc = blockParam.Proc; try { result = proc.Dispatcher.InvokeSplat(blockParam, self, arg1, arg2, arg3, arg4, splattee); } catch (EvalUnwinder evalUnwinder) { result = blockParam.GetUnwinderResult(evalUnwinder); } return result; }
// YieldNoAutoSplat1 uses InvokeNoAutoSplat instead of Invoke (used by Call1) internal static object YieldNoAutoSplat1(object arg1, object self, BlockParam/*!*/ blockParam) { object result; var proc = blockParam.Proc; try { result = proc.Dispatcher.InvokeNoAutoSplat(blockParam, self, arg1); } catch (EvalUnwinder evalUnwinder) { result = blockParam.GetUnwinderResult(evalUnwinder); } return result; }
public static object YieldN(object[]/*!*/ args, object self, BlockParam/*!*/ blockParam) { Debug.Assert(args.Length > BlockDispatcher.MaxBlockArity); object result; var proc = blockParam.Proc; try { result = proc.Dispatcher.Invoke(blockParam, self, args); } catch (EvalUnwinder evalUnwinder) { result = blockParam.GetUnwinderResult(evalUnwinder); } return result; }
public static object Yield0(object self, BlockParam/*!*/ blockParam) { object result; var proc = blockParam.Proc; try { result = proc.Dispatcher.Invoke(blockParam, self); } catch(EvalUnwinder evalUnwinder) { result = blockParam.GetUnwinderResult(evalUnwinder); } return result; }