From e15206ba777da60af89b0a9fda2fdb316fc3861e Mon Sep 17 00:00:00 2001 From: Joel Dice Date: Mon, 28 Jan 2008 17:34:14 -0700 Subject: [PATCH] update vm.pro to protect a few more classes and a method --- vm.pro | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/vm.pro b/vm.pro index 449c36176a..63b9272e5a 100644 --- a/vm.pro +++ b/vm.pro @@ -30,6 +30,27 @@ -keepclassmembers class java.lang.reflect.Field { !static ; } -keepclassmembers class java.lang.reflect.Method { !static ; } +# the VM may throw instances of the following: + +-keep public class java.lang.RuntimeException +-keep public class java.lang.IllegalStateException +-keep public class java.lang.IllegalArgumentException +-keep public class java.lang.IllegalMonitorStateException +-keep public class java.lang.ArrayIndexOutOfBoundsException +-keep public class java.lang.ArrayStoreException +-keep public class java.lang.NegativeArraySizeException +-keep public class java.lang.ClassCastException +-keep public class java.lang.ClassNotFoundException +-keep public class java.lang.NullPointerException +-keep public class java.lang.InterruptedException +-keep public class java.lang.StackOverflowError +-keep public class java.lang.NoSuchFieldError +-keep public class java.lang.NoSuchMethodError +-keep public class java.lang.UnsatisfiedLinkError +-keep public class java.lang.ExceptionInInitializerError +-keep public class java.lang.OutOfMemoryError +-keep public class java.lang.reflect.InvocationTargetException + # ClassLoader.getSystemClassloader() depends on the existence of this class: -keep class java.lang.SystemClassLoader @@ -43,3 +64,7 @@ -keepclasseswithmembernames class * { native ; } + +# Thread.run is called by name in the VM + +-keepclassmembernames class java.lang.Thread { void run(); }