Skip to content

Commit 7455b5b

Browse files
committed
Added constructors to docs
1 parent 4e9ef97 commit 7455b5b

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

luacs-docs/lua/scripts/LuaDocsGenerator/DocsGenerator.cs

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,8 @@ private static string EscapeName(string n)
224224
{
225225
switch (member.MemberType)
226226
{
227+
case MemberTypes.Constructor:
228+
return ConvertAnnotation(type, (ConstructorInfo)member, realm);
227229
case MemberTypes.Method:
228230
return ConvertAnnotation(type, (MethodInfo)member, realm);
229231
case MemberTypes.Field:
@@ -235,6 +237,46 @@ private static string EscapeName(string n)
235237
return null;
236238
}
237239

240+
private static string? ConvertAnnotation(Type type, ConstructorInfo method, string realm)
241+
{
242+
StringBuilder sb = new StringBuilder();
243+
244+
var paramNames = new StringBuilder();
245+
foreach (var parameter in method.GetParameters())
246+
{
247+
paramNames.Append(EscapeName(parameter.Name!));
248+
paramNames.Append(", ");
249+
}
250+
if (paramNames.Length > 0)
251+
{
252+
// Remove the last separator
253+
paramNames.Length -= 2;
254+
}
255+
256+
string functionDecoration = $"function {type.Name}({paramNames}) end";
257+
258+
259+
if (removed.Contains("-- @remove " + functionDecoration))
260+
{
261+
Console.WriteLine($"removed {functionDecoration}");
262+
return null;
263+
}
264+
265+
Console.WriteLine($" - CONSTRUCTOR: {method}");
266+
267+
sb.AppendLine($"--- {type.Name}");
268+
sb.AppendLine($"-- @realm {realm}");
269+
270+
foreach (var parameter in method.GetParameters())
271+
{
272+
sb.AppendLine($"-- @tparam {TypeToString(parameter.ParameterType)} {EscapeName(parameter.Name!)}");
273+
}
274+
275+
sb.AppendLine(functionDecoration);
276+
277+
return sb.ToString();
278+
}
279+
238280
private static string? ConvertAnnotation(Type type, MethodInfo method, string realm)
239281
{
240282
StringBuilder sb = new StringBuilder();
@@ -501,6 +543,13 @@ public static void GenerateDocs(Type type, string baseFile, string outFile, stri
501543
{
502544
switch (member.MemberType)
503545
{
546+
case MemberTypes.Constructor:
547+
{
548+
sb.Append(ConvertAnnotation(type, (ConstructorInfo)member, realm));
549+
sb.AppendLine();
550+
break;
551+
}
552+
504553
case MemberTypes.Method:
505554
{
506555
sb.Append(ConvertAnnotation(type, (MethodInfo)member, realm));

0 commit comments

Comments
 (0)