private static IWorkshopTree CallInlineRecursive(MethodBuilder builder, DefinedMethod method, MethodCall call, ActionSet callerSet) { RecursiveStack lastCall = RecursiveStack.GetRecursiveCall(callerSet.Translate.MethodStack, method); if (lastCall == null) { RecursiveStack parser = new RecursiveStack(builder); callerSet.Translate.MethodStack.Add(parser); parser.ParseCall(call); callerSet.Translate.MethodStack.Remove(parser); return(builder.ReturnHandler.GetReturnedValue()); } else { lastCall.RecursiveCall(call, callerSet); return(lastCall.Builder.ReturnHandler.GetReturnedValue()); } }