Of course! Thanks a lot!

On Dec 11, 7:23 am, "Chris Turner" <[EMAIL PROTECTED]> wrote:
> Not sure about the other info you're looking for, but I think I can help
> explain what's going on. All methods have an extra argument passed in
> representing the object itself (usually called "this").
>
> In your example, what you want is:
> (ns p.C (:gen-class :methods [[m [Object] void]]))
> (defn -m [this o] (println (.. o getClass getName)))
>
> Hope that helps,
> Chris
>
> On Wed, Dec 10, 2008 at 10:17 PM, Michiel de Mare <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
> > I'm trying to generate a Java class from Clojure with gen-class, but
> > without much success. I've got the following code:
>
> > (ns p.C (:gen-class :methods [[m [Object] void]]))
> > (defn -m [o] (println (.. o getClass getName)))
>
> > The signature of the m method is correct:
>
> > javap p.C
> > public class p.C extends java.lang.Object{
> >    public static {};
> >    public p.C();
> >    public int hashCode();
> >    public boolean equals(java.lang.Object);
> >    public java.lang.String toString();
> >    public java.lang.Object clone();
> >    public void m(java.lang.Object);
> >    public static void main(java.lang.String[]);
> > }
>
> > But when I try to call the method, I get the following exception:
>
> > NativeException: java.lang.IllegalArgumentException: Wrong number of
> > args passed to: C$-m
> >        from clojure/lang/AFn.java:469:in `throwArity'
> >        from clojure/lang/AFn.java:76:in `invoke'
> >        from p.C:-1:in `m'
> >        from sun/reflect/NativeMethodAccessorImpl.java:-2:in `invoke0'
> >        from sun/reflect/NativeMethodAccessorImpl.java:39:in `invoke'
> >        from sun/reflect/DelegatingMethodAccessorImpl.java:25:in `invoke'
> >        from java/lang/reflect/Method.java:597:in `invoke'
> > ...
>
> > What's going on?
>
> > Also, can somebody give an example of a gen-class call that specifies:
> > - a static method
> > - a method with an array among the parameters.
>
> > Cheers,
>
> > Michiel de Mare
>
> --
> "An ideal world is left as an exercise to the reader."
>  - Paul Graham, On Lisp
--~--~---------~--~----~------------~-------~--~----~
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
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to