Hi,

Please find below a patch for jdeps:

http://cr.openjdk.java.net/~dfuchs/webrev_8080608/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8080608

The issue is described in JDK-8080608 as follows:

I have 2 jars:

  indirect2.jar:
       class use.indirect2.UseUnsafeIndirectly2 {
            static Object obj = new use.unsafe.UseUnsafeClass();
       }

  unsafe.jar:
       class use.unsafe.UseUnsafeClass {
            static Object unsafe = Unsafe.getUnsafe();
       }
       class use.unsafe.UseClassWithUnsafe {
            static Object obj = new UseUnsafeClass()
       }

When I run:

   jdeps -v -e use.unsafe.UseUnsafeClass indirect2.jar unsafe.jar

it prints:

indirect2.jar -> dist/unsafe.jar
use.indirect2.UseUnsafeIndirectly2 -> use.unsafe.UseUnsafeClass unsafe.jar
   use.unsafe.UseClassWithUnsafe -> use.unsafe.UseUnsafeClass unsafe.jar

as if use.unsafe.UseClassWithUnsafe was contained in indirect2.jar,
while it is in fact contained in unsafe.jar...


The fix will make sure that jdeps prints instead:

indirect2.jar -> dist/unsafe.jar
use.indirect2.UseUnsafeIndirectly2 -> use.unsafe.UseUnsafeClass unsafe.jar
unsafe.jar -> dist/unsafe.jar
   use.unsafe.UseClassWithUnsafe -> use.unsafe.UseUnsafeClass unsafe.jar

best regards,

-- daniel

Reply via email to