Thanks to Christophe who pointed me to the javap utility, I was able to see
which method was problematic. In fact it was the constructor.
The following:
:constructors [[] []]
in the following gen-class call:
(:gen-class
:name classpath.issue.GranuleImportWizardImpl
:extends org.eclipse.jface.wizard.Wizard
:implements [org.eclipse.ui.IImportWizard]
:state state
:init ctor
:constructors [[] []]
:prefix wiz-
:exposes-methods {addPages super-addPages}))
had as a consequence a duplication of the default constructor for my
GranuleImportWizardImpl class ?
By removing it I got rid of the problem.
It seems that even after having read the docs, I still don't understand very
well how to use gen-class, the relations between :init :post-init ,
:constructors ... ?
If somebody can show me the light :-)
Regards,
--
Laurent
2009/7/28 Laurent PETIT <[email protected]>
> I will, but in private ?
>
> 2009/7/28 Christophe Grand <[email protected]>
>
> Hi Laurent,
>>
>> Could you provide the faulty class file?
>>
>> On Tue, Jul 28, 2009 at 7:47 AM, Laurent PETIT
>> <[email protected]>wrote:
>>
>>> Hello,
>>>
>>> I'm trying to make clojure and Eclipse play well together for writing
>>> Eclipse plugins.
>>>
>>> I have played with (proxy) but I encountered classloader problems that
>>> are currently beyond my knowledge (and I want to get something up and
>>> running quickly so I didn't take the time to broaden my knowledge yet).
>>>
>>> So I came back to gen-class with the hope that I will not encounter the
>>> same problems in my usecase.
>>>
>>> I have this error when the class I've created and compiled via gen-class
>>> is loaded :
>>>
>>> The selected wizard could not be started.
>>> Plug-in classpath.issue was unable to load class
>>> classpath.issue.GranuleImportWizardImpl.
>>> Repetitive method name/signature in class file
>>> classpath/issue/GranuleImportWizardImpl
>>>
>>> Do you know what could cause this "repetitive method name/signature in
>>> class" ?
>>>
>>> Here is the code:
>>>
>>> (ns classpath.issue.granule-import
>>> (:import (java.io File
>>>
>>> FileInputStream
>>>
>>> FileNotFoundException
>>> InputStream)
>>> (org.eclipse.jface.wizard Wizard
>>> WizardPage)
>>> (org.eclipse.jface.preference
>>> FileFieldEditor)
>>> (org.eclipse.ui IImportWizard
>>> IWorkbench)
>>> (org.eclipse.core.runtime IPath
>>> IStatus
>>> Path
>>> Status)
>>> (org.eclipse.core.resources
>>> ResourcesPlugin)
>>> (org.eclipse.jface.viewers
>>> IStructuredSelection)
>>> (org.eclipse.swt SWT)
>>> (org.eclipse.swt.events ModifyEvent
>>>
>>> ModifyListener)
>>> (org.eclipse.swt.layout GridData
>>> GridLayout)
>>> (org.eclipse.swt.widgets Composite
>>> Text
>>> Label))
>>> (:use classpath.issue.core
>>> classpath.issue.jface-preference)
>>> (:load "wizard_page")
>>> (:gen-class
>>> :name classpath.issue.GranuleImportWizardImpl
>>> :extends org.eclipse.jface.wizard.Wizard
>>> :implements [org.eclipse.ui.IImportWizard]
>>> :state state
>>> :init ctor
>>> :constructors [[] []]
>>> :prefix wiz-
>>> :exposes-methods {addPages super-addPages}))
>>>
>>> (defn perform-finish2
>>> []
>>> (.sdlength "does it work?")
>>> true)
>>>
>>> (defn wiz-ctor []
>>> [[] (atom {})]) ; { :a-page [widget state-atom] ... }
>>>
>>> (defn wiz-init [this #^IWorkbench workbench, #^IStructuredSelection
>>> selection]
>>> (.setWindowTitle this "File Import Wizard")
>>> (.setNeedsProgressMonitor this true)
>>> (swap! (.state this) assoc :main-page (make-wizard-page "Import
>>> Granules from file" selection)))
>>>
>>> (defn wiz-addPages [this]
>>> (.super-addPages this)
>>> (.addPage this (first (get (deref (.state this)) :main-page))))
>>>
>>> (defn wiz-performFinish [this]
>>> (println "in clojure!")
>>> (perform-finish2))
>>>
>>>
>>> Thanks in advance,
>>>
>>> --
>>> Laurent
>>>
>>>
>>>
>>>
>>>
>>
>>
>> --
>> Professional: http://cgrand.net/ (fr)
>> On Clojure: http://clj-me.blogspot.com/ (en)
>>
>> >>
>>
>
>
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
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
-~----------~----~----~----~------~----~------~--~---