Document generated K*Functions

This commit is contained in:
Alexander Udalov
2015-03-17 16:45:27 +03:00
parent e34b3c5298
commit 59d3731b93
4 changed files with 79 additions and 10 deletions
@@ -18,26 +18,49 @@
package kotlin.reflect
/** An extension function with introspection capabilities that takes 0 arguments. */
public trait KExtensionFunction0<in T, out R> : ExtensionFunction0<T, R>
/** An extension function with introspection capabilities that takes 1 argument. */
public trait KExtensionFunction1<in T, in P1, out R> : ExtensionFunction1<T, P1, R>
/** An extension function with introspection capabilities that takes 2 arguments. */
public trait KExtensionFunction2<in T, in P1, in P2, out R> : ExtensionFunction2<T, P1, P2, R>
/** An extension function with introspection capabilities that takes 3 arguments. */
public trait KExtensionFunction3<in T, in P1, in P2, in P3, out R> : ExtensionFunction3<T, P1, P2, P3, R>
/** An extension function with introspection capabilities that takes 4 arguments. */
public trait KExtensionFunction4<in T, in P1, in P2, in P3, in P4, out R> : ExtensionFunction4<T, P1, P2, P3, P4, R>
/** An extension function with introspection capabilities that takes 5 arguments. */
public trait KExtensionFunction5<in T, in P1, in P2, in P3, in P4, in P5, out R> : ExtensionFunction5<T, P1, P2, P3, P4, P5, R>
/** An extension function with introspection capabilities that takes 6 arguments. */
public trait KExtensionFunction6<in T, in P1, in P2, in P3, in P4, in P5, in P6, out R> : ExtensionFunction6<T, P1, P2, P3, P4, P5, P6, R>
/** An extension function with introspection capabilities that takes 7 arguments. */
public trait KExtensionFunction7<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, out R> : ExtensionFunction7<T, P1, P2, P3, P4, P5, P6, P7, R>
/** An extension function with introspection capabilities that takes 8 arguments. */
public trait KExtensionFunction8<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, out R> : ExtensionFunction8<T, P1, P2, P3, P4, P5, P6, P7, P8, R>
/** An extension function with introspection capabilities that takes 9 arguments. */
public trait KExtensionFunction9<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, out R> : ExtensionFunction9<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, R>
/** An extension function with introspection capabilities that takes 10 arguments. */
public trait KExtensionFunction10<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, out R> : ExtensionFunction10<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, R>
/** An extension function with introspection capabilities that takes 11 arguments. */
public trait KExtensionFunction11<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, out R> : ExtensionFunction11<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, R>
/** An extension function with introspection capabilities that takes 12 arguments. */
public trait KExtensionFunction12<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, out R> : ExtensionFunction12<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, R>
/** An extension function with introspection capabilities that takes 13 arguments. */
public trait KExtensionFunction13<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, out R> : ExtensionFunction13<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, R>
/** An extension function with introspection capabilities that takes 14 arguments. */
public trait KExtensionFunction14<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, out R> : ExtensionFunction14<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, R>
/** An extension function with introspection capabilities that takes 15 arguments. */
public trait KExtensionFunction15<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, out R> : ExtensionFunction15<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, R>
/** An extension function with introspection capabilities that takes 16 arguments. */
public trait KExtensionFunction16<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, in P16, out R> : ExtensionFunction16<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, R>
/** An extension function with introspection capabilities that takes 17 arguments. */
public trait KExtensionFunction17<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, in P16, in P17, out R> : ExtensionFunction17<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, R>
/** An extension function with introspection capabilities that takes 18 arguments. */
public trait KExtensionFunction18<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, in P16, in P17, in P18, out R> : ExtensionFunction18<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, R>
/** An extension function with introspection capabilities that takes 19 arguments. */
public trait KExtensionFunction19<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, in P16, in P17, in P18, in P19, out R> : ExtensionFunction19<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, R>
/** An extension function with introspection capabilities that takes 20 arguments. */
public trait KExtensionFunction20<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, in P16, in P17, in P18, in P19, in P20, out R> : ExtensionFunction20<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, R>
/** An extension function with introspection capabilities that takes 21 arguments. */
public trait KExtensionFunction21<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, in P16, in P17, in P18, in P19, in P20, in P21, out R> : ExtensionFunction21<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, R>
/** An extension function with introspection capabilities that takes 22 arguments. */
public trait KExtensionFunction22<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, in P16, in P17, in P18, in P19, in P20, in P21, in P22, out R> : ExtensionFunction22<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, P22, R>
@@ -18,26 +18,49 @@
package kotlin.reflect
/** A function with introspection capabilities that takes 0 arguments. */
public trait KFunction0<out R> : Function0<R>
/** A function with introspection capabilities that takes 1 argument. */
public trait KFunction1<in P1, out R> : Function1<P1, R>
/** A function with introspection capabilities that takes 2 arguments. */
public trait KFunction2<in P1, in P2, out R> : Function2<P1, P2, R>
/** A function with introspection capabilities that takes 3 arguments. */
public trait KFunction3<in P1, in P2, in P3, out R> : Function3<P1, P2, P3, R>
/** A function with introspection capabilities that takes 4 arguments. */
public trait KFunction4<in P1, in P2, in P3, in P4, out R> : Function4<P1, P2, P3, P4, R>
/** A function with introspection capabilities that takes 5 arguments. */
public trait KFunction5<in P1, in P2, in P3, in P4, in P5, out R> : Function5<P1, P2, P3, P4, P5, R>
/** A function with introspection capabilities that takes 6 arguments. */
public trait KFunction6<in P1, in P2, in P3, in P4, in P5, in P6, out R> : Function6<P1, P2, P3, P4, P5, P6, R>
/** A function with introspection capabilities that takes 7 arguments. */
public trait KFunction7<in P1, in P2, in P3, in P4, in P5, in P6, in P7, out R> : Function7<P1, P2, P3, P4, P5, P6, P7, R>
/** A function with introspection capabilities that takes 8 arguments. */
public trait KFunction8<in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, out R> : Function8<P1, P2, P3, P4, P5, P6, P7, P8, R>
/** A function with introspection capabilities that takes 9 arguments. */
public trait KFunction9<in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, out R> : Function9<P1, P2, P3, P4, P5, P6, P7, P8, P9, R>
/** A function with introspection capabilities that takes 10 arguments. */
public trait KFunction10<in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, out R> : Function10<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, R>
/** A function with introspection capabilities that takes 11 arguments. */
public trait KFunction11<in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, out R> : Function11<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, R>
/** A function with introspection capabilities that takes 12 arguments. */
public trait KFunction12<in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, out R> : Function12<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, R>
/** A function with introspection capabilities that takes 13 arguments. */
public trait KFunction13<in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, out R> : Function13<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, R>
/** A function with introspection capabilities that takes 14 arguments. */
public trait KFunction14<in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, out R> : Function14<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, R>
/** A function with introspection capabilities that takes 15 arguments. */
public trait KFunction15<in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, out R> : Function15<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, R>
/** A function with introspection capabilities that takes 16 arguments. */
public trait KFunction16<in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, in P16, out R> : Function16<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, R>
/** A function with introspection capabilities that takes 17 arguments. */
public trait KFunction17<in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, in P16, in P17, out R> : Function17<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, R>
/** A function with introspection capabilities that takes 18 arguments. */
public trait KFunction18<in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, in P16, in P17, in P18, out R> : Function18<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, R>
/** A function with introspection capabilities that takes 19 arguments. */
public trait KFunction19<in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, in P16, in P17, in P18, in P19, out R> : Function19<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, R>
/** A function with introspection capabilities that takes 20 arguments. */
public trait KFunction20<in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, in P16, in P17, in P18, in P19, in P20, out R> : Function20<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, R>
/** A function with introspection capabilities that takes 21 arguments. */
public trait KFunction21<in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, in P16, in P17, in P18, in P19, in P20, in P21, out R> : Function21<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, R>
/** A function with introspection capabilities that takes 22 arguments. */
public trait KFunction22<in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, in P16, in P17, in P18, in P19, in P20, in P21, in P22, out R> : Function22<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, P22, R>
@@ -18,26 +18,49 @@
package kotlin.reflect
/** A member function with introspection capabilities that takes 0 arguments. */
public trait KMemberFunction0<in T, out R> : ExtensionFunction0<T, R>
/** A member function with introspection capabilities that takes 1 argument. */
public trait KMemberFunction1<in T, in P1, out R> : ExtensionFunction1<T, P1, R>
/** A member function with introspection capabilities that takes 2 arguments. */
public trait KMemberFunction2<in T, in P1, in P2, out R> : ExtensionFunction2<T, P1, P2, R>
/** A member function with introspection capabilities that takes 3 arguments. */
public trait KMemberFunction3<in T, in P1, in P2, in P3, out R> : ExtensionFunction3<T, P1, P2, P3, R>
/** A member function with introspection capabilities that takes 4 arguments. */
public trait KMemberFunction4<in T, in P1, in P2, in P3, in P4, out R> : ExtensionFunction4<T, P1, P2, P3, P4, R>
/** A member function with introspection capabilities that takes 5 arguments. */
public trait KMemberFunction5<in T, in P1, in P2, in P3, in P4, in P5, out R> : ExtensionFunction5<T, P1, P2, P3, P4, P5, R>
/** A member function with introspection capabilities that takes 6 arguments. */
public trait KMemberFunction6<in T, in P1, in P2, in P3, in P4, in P5, in P6, out R> : ExtensionFunction6<T, P1, P2, P3, P4, P5, P6, R>
/** A member function with introspection capabilities that takes 7 arguments. */
public trait KMemberFunction7<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, out R> : ExtensionFunction7<T, P1, P2, P3, P4, P5, P6, P7, R>
/** A member function with introspection capabilities that takes 8 arguments. */
public trait KMemberFunction8<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, out R> : ExtensionFunction8<T, P1, P2, P3, P4, P5, P6, P7, P8, R>
/** A member function with introspection capabilities that takes 9 arguments. */
public trait KMemberFunction9<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, out R> : ExtensionFunction9<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, R>
/** A member function with introspection capabilities that takes 10 arguments. */
public trait KMemberFunction10<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, out R> : ExtensionFunction10<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, R>
/** A member function with introspection capabilities that takes 11 arguments. */
public trait KMemberFunction11<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, out R> : ExtensionFunction11<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, R>
/** A member function with introspection capabilities that takes 12 arguments. */
public trait KMemberFunction12<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, out R> : ExtensionFunction12<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, R>
/** A member function with introspection capabilities that takes 13 arguments. */
public trait KMemberFunction13<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, out R> : ExtensionFunction13<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, R>
/** A member function with introspection capabilities that takes 14 arguments. */
public trait KMemberFunction14<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, out R> : ExtensionFunction14<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, R>
/** A member function with introspection capabilities that takes 15 arguments. */
public trait KMemberFunction15<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, out R> : ExtensionFunction15<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, R>
/** A member function with introspection capabilities that takes 16 arguments. */
public trait KMemberFunction16<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, in P16, out R> : ExtensionFunction16<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, R>
/** A member function with introspection capabilities that takes 17 arguments. */
public trait KMemberFunction17<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, in P16, in P17, out R> : ExtensionFunction17<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, R>
/** A member function with introspection capabilities that takes 18 arguments. */
public trait KMemberFunction18<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, in P16, in P17, in P18, out R> : ExtensionFunction18<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, R>
/** A member function with introspection capabilities that takes 19 arguments. */
public trait KMemberFunction19<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, in P16, in P17, in P18, in P19, out R> : ExtensionFunction19<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, R>
/** A member function with introspection capabilities that takes 20 arguments. */
public trait KMemberFunction20<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, in P16, in P17, in P18, in P19, in P20, out R> : ExtensionFunction20<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, R>
/** A member function with introspection capabilities that takes 21 arguments. */
public trait KMemberFunction21<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, in P16, in P17, in P18, in P19, in P20, in P21, out R> : ExtensionFunction21<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, R>
/** A member function with introspection capabilities that takes 22 arguments. */
public trait KMemberFunction22<in T, in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, in P16, in P17, in P18, in P19, in P20, in P21, in P22, out R> : ExtensionFunction22<T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, P22, R>
@@ -16,23 +16,24 @@
package org.jetbrains.kotlin.generators.builtins.functions
import java.io.PrintWriter
import org.jetbrains.kotlin.generators.builtins.functions.FunctionKind.*
import org.jetbrains.kotlin.generators.builtins.generateBuiltIns.*
import org.jetbrains.kotlin.generators.builtins.generateBuiltIns.BuiltInsSourceGenerator
import java.io.PrintWriter
val MAX_PARAM_COUNT = 22
enum class FunctionKind(
private val classNamePrefix: String,
val docPrefix: String?,
val docPrefix: String,
val hasReceiverParameter: Boolean,
private val superClassNamePrefix: String?
) {
FUNCTION : FunctionKind("Function", "A function", false, null)
EXTENSION_FUNCTION : FunctionKind("ExtensionFunction", "An extension function", true, null)
K_FUNCTION : FunctionKind("KFunction", null, false, "Function")
K_MEMBER_FUNCTION : FunctionKind("KMemberFunction", null, true, "ExtensionFunction")
K_EXTENSION_FUNCTION : FunctionKind("KExtensionFunction", null, true, "ExtensionFunction")
K_FUNCTION : FunctionKind("KFunction", "A function with introspection capabilities", false, "Function")
K_MEMBER_FUNCTION : FunctionKind("KMemberFunction", "A member function with introspection capabilities", true, "ExtensionFunction")
K_EXTENSION_FUNCTION : FunctionKind("KExtensionFunction", "An extension function with introspection capabilities", true, "ExtensionFunction")
fun getFileName() = (if (isReflection()) "reflect/" else "") + classNamePrefix + "s.kt"
fun getClassName(i: Int) = classNamePrefix + i
@@ -63,7 +64,7 @@ class GenerateFunctions(out: PrintWriter, val kind: FunctionKind) : BuiltInsSour
override fun generateBody() {
for (i in 0..MAX_PARAM_COUNT) {
generateDocumentation(kind.docPrefix, i)
generateDocumentation(i)
out.print("public trait " + kind.getClassName(i))
generateTypeParameters(i, true)
generateSuperClass(i)
@@ -71,10 +72,9 @@ class GenerateFunctions(out: PrintWriter, val kind: FunctionKind) : BuiltInsSour
}
}
fun generateDocumentation(docPrefix: String?, i: Int) {
if (docPrefix == null) return
fun generateDocumentation(i: Int) {
val suffix = if (i == 1) "" else "s"
out.println("/** $docPrefix that takes $i argument${suffix}. */")
out.println("/** ${kind.docPrefix} that takes $i argument${suffix}. */")
}
fun generateSuperClass(i: Int) {