コード例 #1
0
        /// <summary>Gets the restricted calls and recursion from a lambda invocation.</summary>
        public static void LambdaInvokeApply(ParseInfo parseInfo, LambdaAction source, DocRange callRange)
        {
            parseInfo.CurrentCallInfo?.Call(source.RecursiveCallHandler, callRange);

            // Add restricted calls.
            foreach (RestrictedCall call in source.CallInfo.RestrictedCalls)
            {
                parseInfo.RestrictedCallHandler.RestrictedCall(new RestrictedCall(
                                                                   call.CallType,
                                                                   parseInfo.GetLocation(callRange),
                                                                   RestrictedCall.Message_LambdaInvoke(source.GetLabel(false), call.CallType)
                                                                   ));
            }
        }
コード例 #2
0
 public LambdaRecursionHandler(LambdaAction lambda)
 {
     Lambda = lambda;
 }
コード例 #3
0
        public IWorkshopTree Parse(ActionSet actionSet, MethodCall methodCall)
        {
            LambdaAction lambda = (LambdaAction)actionSet.CurrentObject;

            return(lambda.Invoke(actionSet, methodCall.ParameterValues));
        }
コード例 #4
0
 public LambdaActionWorkshopInstance(ActionSet actionSet, LambdaAction action)
 {
     Assigner = actionSet.IndexAssigner;
     Action   = action;
 }
コード例 #5
0
 public LambdaHandler(LambdaAction lambda)
 {
     _lambda = lambda;
 }