Number of attachments :
Currently, one cannot construct a @SithFunctor for a method with generic argument types.
E.g., for the following method:
I expect a @SithFunctor to look like this:
This annotation leads to a "No such method" compile error.
Generic argument types cannot be specified within the annotation, because there are no class literals for generic types.
I suggest changing the code generator so that only the erasure of the types is compared. There cannot be two methods with the same signature after erasure (with some obscure corner case in the JLS where the return type seems to become part of the signature).
Additionally, I suggest adding a way to skip the parameterTypes check entirely for a given @SithMethod. A target method is then matched purely by its enclosing class and its name, with the additional check that there is only one such method.