Hello!

Somehow my mail from 9.2. got unnoticed.
And since I am spoilt - you IntelliJ guys normally answer such mails
within 3 days, usually even faster - , I just post it again.

Sorry, if I somehow missed the answer, but I scanned my archive and
there doesn't seem to be one.

And this is really a problem for me. Ariadna runs good on my machine,
but I cannot use it for one of my current projects because of this.


For a project of mine I have to use a commercial library. This library
comes in binary form and is partly obfuscated. The parts of the
signatures of classes that are meant to be used by the developer are
unobfuscated. The other parts - be them in the private, protected or public
interface - are obfuscated.

When I browse into such a partly obfuscated class I get a decompiled
version shown in the editor. This version contains such funny things
as methods with the name "if" or "for", which is ok for obfuscated
classes. IDEA marks those methods as syntax errors.

It would be nice if IDEA would not mark them as errors. IDEA should
notice that it decompiled the code and that it has to be ok when it
comes in binary form.

When I press Ctrl-F12 I get a list of all the methods in the class -
including the ifs and fors and so on. When I select one of them and
press enter, IDEA springs to some place in the class but not to the
selected method.

But now comes the part which made me take a better look into this
issue:
I have a variable serverSession, which references an object that is an
instance of such a partly obfuscated class and type
  serverSession.
I get a popup with all the available methods. Now I select a method and
get this
  serverSession.getCustId()
                         ^^^
  (^ marks a red underline)
and the statusbar says "Cannot resolve method getCustId()"
Hey, I just selected this method from a popup. What's that?

The other two problems are also present in IDEA 2.5.1, but the last
only occurs in Ariadna and is the most annoying of them.

I investigated this issue one step further and found out:
1. If the partly obfuscated class implements an unobfuscated
interface, IDEA has no problems with the usage of those methods on
instances of the partly obfuscated class.
2. Parameter info works fine for those methods that are marked as
not resolvable
3. Quick JavaDoc does not work for them


Greets
   Robert

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to