Files
FalsePatternLib/src/main/java/com/falsepattern/lib/reflection/ReflectionUtil.java
T

29 lines
760 B
Java
Raw Normal View History

package com.falsepattern.lib.reflection;
import lombok.SneakyThrows;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
public class ReflectionUtil {
private static final Field f_modifiers;
static {
try {
f_modifiers = Field.class.getDeclaredField("modifiers");
} catch (NoSuchFieldException e) {
throw new RuntimeException(e);
}
f_modifiers.setAccessible(true);
}
@SneakyThrows
public static void jailBreak(Field field) {
field.setAccessible(true);
f_modifiers.set(field, field.getModifiers() & ~Modifier.FINAL);
}
public static void jailBreak(Method method) {
method.setAccessible(true);
}
}