private static string EmitFastPath()

in sdk/Sdk.Generators/FunctionExecutor/FunctionExecutorGenerator.Emitter.cs [170:215]


            private static string EmitFastPath(ExecutableFunction function)
            {
                var sb = new StringBuilder();
               
                if (!function.IsStatic)
                {
                    sb.Append($"""
                                 var instanceType = types["{function.ParentFunctionClassName}"];
                                                var i = _functionActivator.CreateInstance(instanceType, context) as {function.ParentFunctionFullyQualifiedClassName};
                                """);
                }

                sb.Append(!function.IsStatic
                    ? """
                      
                                      
                      """
                    : " ");

                if (function.IsReturnValueAssignable)
                {
                    sb.Append("context.GetInvocationResult().Value = ");
                }

                if (function.ShouldAwait)
                {
                    sb.Append("await ");
                }

                // Parameters
                int functionParamCounter = 0;
                var functionParamList = new List<string>();

                foreach (var argumentTypeName in function.ParameterTypeNames)
                {
                    functionParamList.Add($"({argumentTypeName})inputArguments[{functionParamCounter++}]");
                }

                var methodParamsStr = string.Join(", ", functionParamList);

                sb.Append(function.IsStatic
                    ? $"{function.ParentFunctionFullyQualifiedClassName}.{function.MethodName}({methodParamsStr});"
                    : $"i.{function.MethodName}({methodParamsStr});");

                return sb.ToString();
            }