private static void GenerateMethod(ScriptGenerator generator, string typeName, MethodSymbol methodSymbol) { if (methodSymbol.IsAbstract) { return; } ScriptTextWriter writer = generator.Writer; bool instanceMember = (methodSymbol.Visibility & MemberVisibility.Static) == 0; if (instanceMember == false) { writer.Write(typeName); writer.Write("."); } writer.Write(methodSymbol.GeneratedMemberName); if (instanceMember) { writer.Write(": "); } else { writer.Write(" = "); } bool hasParams = HasParamsModifier(methodSymbol); if (hasParams) { writer.Write($"{DSharpStringResources.ScriptExportMember("paramsGenerator")}("); writer.Write("{0}, ", methodSymbol.GetGeneratedParamsCount()); } writer.Write("function("); WriteParameters(methodSymbol, writer, true); writer.WriteLine(") {"); writer.Indent++; if (generator.Options.EnableDocComments) { DocCommentGenerator.GenerateComment(generator, methodSymbol); } CodeGenerator.GenerateScript(generator, methodSymbol); writer.Indent--; writer.Write("}"); if (hasParams) { writer.Write(")"); } if (instanceMember == false) { writer.WriteLine(";"); } }