I’m trying to obfuscate an Eclipse RCP and the following error is popping up:
[proguard] Unexpected error while performing partial evaluation:
[proguard] Class = [stQuote/disCurve/j]
[proguard] Method = [chartMouseMoved(Lorg/jfree/chart/ChartMouseEvent;)V]
[proguard] Exception = [proguard.evaluation.IncompleteClassHierarchyException] (Can't find common super class of [org.jfree.experimental.swt.SWTGraphics2D] (with 1 known super classes: org.jfree.experimental.swt.SWTGraphics2D) and [stCore.db.Security] (with 4 known super classes: stCore.db.Security, java.lang.Object, java.util.Observable, stCore.db.PersistentObject))
The SWTGraphics2D
and Security
classes have nothing in common (except for the Java Object
super-class, of course). The latter is one of our own classes and the former is from the jFreeChart library, that comes from a .jar.
Our plugins structure, simplified here, is this:
+ main feature
| - stCore plugin
| - stQuote plugin
: the plugin being obfuscated
| - stLibs plugin
: the plugin where jFreeChart .jar is
The point on our code that those two classes are used is a method that receives a Security
as a parameter and instantiates a SWTGraphics2D
. For testing purposes, if I modify this method to remove the Security
paramater, the obfuscation works as expected.
Any ideas of what might be happening here, or how I could dig deeper to discover the source of this strange behavior?