/// <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) )); } }
/// <summary>Gets the restricted calls and recursion from a lambda invocation.</summary> public static void LambdaInvokeApply(ParseInfo parseInfo, ILambdaApplier source, DocRange callRange) { if (!source.ResolvedSource) { return; } if (source.RecursiveCallHandler != null) { parseInfo.CurrentCallInfo.Call(source.RecursiveCallHandler, callRange); } // Add restricted calls. foreach (var callType in source.GetRestrictedCallTypes()) { parseInfo.RestrictedCallHandler.AddRestrictedCall(new RestrictedCall( callType, parseInfo.GetLocation(callRange), RestrictedCall.Message_LambdaInvoke(source.GetLabel(parseInfo.TranslateInfo, LabelInfo.RecursionError), callType) )); } }