Hi Clojurians,
I'm finding myself far down the rabbit hole of gen-class. I am trying
to generate a class that has a bunch of static methods, and each of
those methods has many overloads of arities and types. Unfortunately,
there is no interface--this class gets called through reflection in a
legacy system.

The class's parameter types include primitives, primitive arrays, and Objects.

I am doing something like:

(gen-class
  :name "my.odd.Class"
  :main false
  :methods [^{:static true} [-myfunc ["[Lint;" String] void]
                 ^{:static true} [-myfunc ["[Ldouble;" int] Object]])

I found a post explaining that I could define method implementations
with overloads by doing -methodName-arg1type-arg2type-arg3type, but
when I try that I get an exception that the FileName is too long from
the clojure compiler.

I can easily generate a map from signatures to implementations, but I
need to generate the class with all the overloads.

Is there any way to do this? Should I resign myself to writing out a
.java file, and compiling that?

Thanks,
David

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to