mirror of
https://github.com/frohoff/ysoserial.git
synced 2026-09-21 22:50:46 +08:00
Merge pull request #149 from Alexandre-Bartel/jdk12_setAccessible
Just call setAccessible with Java > 12
This commit is contained in:
@@ -13,8 +13,18 @@ import com.nqzero.permit.Permit;
|
|||||||
public class Reflections {
|
public class Reflections {
|
||||||
|
|
||||||
public static void setAccessible(AccessibleObject member) {
|
public static void setAccessible(AccessibleObject member) {
|
||||||
// quiet runtime warnings from JDK9+
|
String versionStr = System.getProperty("java.version");
|
||||||
Permit.setAccessible(member);
|
int javaVersion = Integer.parseInt(versionStr.split("\\.")[0]);
|
||||||
|
if (javaVersion < 12) {
|
||||||
|
// quiet runtime warnings from JDK9+
|
||||||
|
Permit.setAccessible(member);
|
||||||
|
} else {
|
||||||
|
// not possible to quiet runtime warnings anymore...
|
||||||
|
// see https://bugs.openjdk.java.net/browse/JDK-8210522
|
||||||
|
// to understand impact on Permit (i.e. it does not work
|
||||||
|
// anymore with Java >= 12)
|
||||||
|
member.setAccessible(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Field getField(final Class<?> clazz, final String fieldName) {
|
public static Field getField(final Class<?> clazz, final String fieldName) {
|
||||||
|
|||||||
Reference in New Issue
Block a user