@@ -224,6 +224,8 @@ private static string EscapeName(string n)
224
224
{
225
225
switch ( member . MemberType )
226
226
{
227
+ case MemberTypes . Constructor :
228
+ return ConvertAnnotation ( type , ( ConstructorInfo ) member , realm ) ;
227
229
case MemberTypes . Method :
228
230
return ConvertAnnotation ( type , ( MethodInfo ) member , realm ) ;
229
231
case MemberTypes . Field :
@@ -235,6 +237,46 @@ private static string EscapeName(string n)
235
237
return null ;
236
238
}
237
239
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
+
238
280
private static string ? ConvertAnnotation ( Type type , MethodInfo method , string realm )
239
281
{
240
282
StringBuilder sb = new StringBuilder ( ) ;
@@ -501,6 +543,13 @@ public static void GenerateDocs(Type type, string baseFile, string outFile, stri
501
543
{
502
544
switch ( member . MemberType )
503
545
{
546
+ case MemberTypes . Constructor :
547
+ {
548
+ sb . Append ( ConvertAnnotation ( type , ( ConstructorInfo ) member , realm ) ) ;
549
+ sb . AppendLine ( ) ;
550
+ break ;
551
+ }
552
+
504
553
case MemberTypes . Method :
505
554
{
506
555
sb . Append ( ConvertAnnotation ( type , ( MethodInfo ) member , realm ) ) ;
0 commit comments