Vim Tips Wiki

Decompile Java .class files automatically

Revision as of 11:21, April 24, 2008 by JohnBot (Talk | contribs)

1,614pages on
this wiki
Tip 155 Printable Monobook Previous Next

created November 7, 2001 · complexity intermediate · author Lawrence Kesteloot · version 6.0

Here's a plugin to automatically decompile Java .class files as they're read in. Tweak the javap flags for what you want to see. I didn't post this as a script because it's too simple and it's really more useful for demonstrating how to read decompilable files (or other binary files that can be converted to text).

function s:ReadClass(dir, classname)
  execute "cd " . a:dir
  execute "0read !javap -c " . a:classname
  setlocal readonly
  setlocal nomodified

autocmd BufReadCmd *.class
  \ call <SID>ReadClass(expand("<afile>:p:h"), expand("<afile>:t:r"))


It doesn't work when package is used in java code.
class Foo


The question is how to save package information?

For jad:

au BufReadCmd *.class setl readonly nomodified | %!jad -p <afile>

Around Wikia's network

Random Wiki