[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.

0
15 comments
Avatar
Permanently deleted user

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)

0
Avatar
Permanently deleted user

this was caused by the fact that i still have IdeaJad plugin installed

0

Any plans to bundle JAD with future versions of the plugin?
IIRC the "old" IdeaJar plugin does that, making setup effortless..

-tt


0
Avatar
Permanently deleted user

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.

0
Avatar
Permanently deleted user

I'll add a note on this to the help section.

Thanks for spotting it!

0

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.

0

Hello Hani,

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.


The plugin could bundle versions compiled for the three major platforms.
How big is the Jad executable anyway?

-tt


0
Avatar
Permanently deleted user

my windows version (1.5.8e) is 435KB

0
Avatar
Permanently deleted user

IdeaJad bundles three versions, so the overall size of the download would be ~1500Kb as it stands now

0
Avatar
Permanently deleted user

those are indeed bundled with ideajad plugin as of now
555KB Linux
766KB Mac
439KB Windows

0
Avatar
Permanently deleted user

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.

0
Avatar
Permanently deleted user

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

0
Avatar
Permanently deleted user

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!

0
Avatar
Permanently deleted user

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.

0
Avatar
Permanently deleted user

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!

0

Please sign in to leave a comment.