[ANN] IntelliJad 0.4
IntelliJad 0.4 just got released. Note this is an IDEA 7-only plugin. Further updates to the IDEA 6-compatible version will be made within the 0.3.x version stream.
Known issues:
1. reindentation doesn't appear to work correctly on Linux; it's fine on Windows.
2. At least one NPE will be thrown from within IDEA when you decompile a file - this has been reported as a bug.
Please sign in to leave a comment.
I just installed it on 7294, and here is what i get when starting up IDEA
action with the ID "Decompile" was already registered. Action being registered is com.intellij.openapi.actionSystem.ActionStub@1d81af3; Registered action is com.intellij.openapi.actionSystem.ActionStub@803f84 Plugin: IntelliJad
com.intellij.diagnostic.PluginException: action with the ID "Decompile" was already registered. Action being registered is com.intellij.openapi.actionSystem.ActionStub@1d81af3; Registered action is com.intellij.openapi.actionSystem.ActionStub@803f84 Plugin: IntelliJad
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.a(ActionManagerImpl.java:502)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.registerAction(ActionManagerImpl.java:355)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.a(ActionManagerImpl.java:312)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.c(ActionManagerImpl.java:220)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.a(ActionManagerImpl.java:1)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.readExternal(ActionManagerImpl.java:399)
at com.intellij.openapi.components.impl.stores.ComponentStoreImpl.a(ComponentStoreImpl.java:146)
at com.intellij.openapi.components.impl.stores.ComponentStoreImpl.initJdomExternalizable(ComponentStoreImpl.java:15)
at com.intellij.openapi.components.impl.stores.ComponentStoreImpl$1.run(ComponentStoreImpl.java:6)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:164)
at com.intellij.openapi.components.impl.stores.ComponentStoreImpl.initComponent(ComponentStoreImpl.java:65)
at com.intellij.openapi.components.impl.ComponentManagerImpl.a(ComponentManagerImpl.java:133)
at com.intellij.openapi.components.impl.ComponentManagerImpl.access$1100(ComponentManagerImpl.java:17)
at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentConfigComponentAdapter$1.getComponentInstance(ComponentManagerImpl.java:14)
at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentConfigComponentAdapter.getComponentInstance(ComponentManagerImpl.java:27)
at com.intellij.util.pico.DefaultPicoContainer.getLocalInstance(DefaultPicoContainer.java:193)
at com.intellij.util.pico.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:180)
at com.intellij.util.pico.DefaultPicoContainer.getComponentInstance(DefaultPicoContainer.java:162)
at org.picocontainer.alternatives.AbstractDelegatingMutablePicoContainer.getComponentInstance(AbstractDelegatingMutablePicoContainer.java:75)
at com.intellij.openapi.components.impl.ComponentManagerImpl.a(ComponentManagerImpl.java:143)
at com.intellij.openapi.components.impl.ComponentManagerImpl.a(ComponentManagerImpl.java:96)
at com.intellij.openapi.components.impl.ComponentManagerImpl.initComponents(ComponentManagerImpl.java:169)
at com.intellij.openapi.components.impl.stores.ApplicationStoreImpl.load(ApplicationStoreImpl.java:12)
at com.intellij.openapi.application.impl.ApplicationImpl.load(ApplicationImpl.java:71)
at com.intellij.idea.IdeaApplication.run(IdeaApplication.java:2)
at com.intellij.idea.MainImpl$3.run(MainImpl.java:2)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:180)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:167)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:155)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
this was caused by the fact that i still have IdeaJad plugin installed
Any plans to bundle JAD with future versions of the plugin?
IIRC the "old" IdeaJar plugin does that, making setup effortless..
-tt
I've thought about it - it would bulk out the download considerably because you would need the windows version, the mac version and a linux version. But, as you say, it will make setup automatic and usage transparent...which would be a bit nicer than the current situation. What's your preference on this?
I think I'll hold a poll to see where the common opinion lies.
I'll add a note on this to the help section.
Thanks for spotting it!
I really like the fact that its not bundled, since it means that I dont have to beg and nag for a mac version!
One suggestion though is that when its not found (the error dialog that pops up) to have an option to open up the settings panel from that dialog to select it.
Hello Hani,
The plugin could bundle versions compiled for the three major platforms.
How big is the Jad executable anyway?
-tt
my windows version (1.5.8e) is 435KB
IdeaJad bundles three versions, so the overall size of the download would be ~1500Kb as it stands now
those are indeed bundled with ideajad plugin as of now
555KB Linux
766KB Mac
439KB Windows
I've created a poll on this to get a feel for the general opinion. Even if i end up bundling Jad with the plugin, it will be in an open location on the file system and I think i'll give the option to provide a custom Jad executable (similar to IntelliJ's Ant setup) to give full flexibility on this.
In build #7312 it's possible to edit the decompiled files even though the file icon has a lock in it.
With "original line numbers as comments" enabled, in this decompiled code on line 73 the line number comment also comments out the } at the end of the line:
C:\Program Files\JetBrains\IntelliJ IDEA 7312\lib\j2ee.jar!\javax\activation\ActivationDataFlavor.class
Some weird things in which the constructors are decompiled - lines 36-38 are decompiled many times. Could this be because of some method inlining?
C:\Program Files\JetBrains\IntelliJ IDEA 7312\lib\j2ee.jar!\javax\activation\MimeType.class
The source reformatting is just pretty weak at the moment. I think i'll temporarily remove the line numbers again until this is tweaked.
Could you send me the class you decompiled? Seems to be a good one for picking up these issues!
As you can see from the file path "C:\Program Files\JetBrains\IntelliJ IDEA 7312\lib\j2ee.jar!\javax\activation\ActivationDataFlavor.class" it's in the j2ee.jar file that comes with IDEA EAPs. Download a recent Selena EAP[/url] and you'll have it.
Sorry, i just looked at the output long enough to see it was incorrect. On that note, and before further posts that point to me being an idiot, i'm going to bed!