@Unmanaged public static TObject wrap(Object obj) { return (TObject) obj; } }
@Unmanaged public class Structure { public final native <T extends Structure> T cast(); public final native Address toAddress(); public static native int sizeOf(Class<? extends Structure> type); public static native <T extends Structure> T add(Class<T> type, T base, int offset); }
@SuppressWarnings("unused") @Unmanaged private static boolean isPrimitiveLowLevel(RuntimeClass cls) { return (cls.flags & RuntimeClass.PRIMITIVE) != 0; }
@Unmanaged public abstract boolean apply(RuntimeClass superType); }
@Unmanaged public final native int pack(); }
@Unmanaged public abstract void run(); }
@Unmanaged public static int computeCanary(int size, int tag) { return size ^ (tag << 8) ^ (tag >>> 24) ^ 0xAAAAAAAA; }
@Unmanaged public static TString wrap(String str) { return (TString) (Object) str; }
@Unmanaged private static boolean isEnumLowLevel(RuntimeClass cls) { return (cls.flags & RuntimeClass.ENUM) != 0; }
@Unmanaged public static native void moveMemoryBlock(Address source, Address target, int count);
@Unmanaged public static native boolean isInitialized(Class<?> cls); }
@Unmanaged public static void throwNullPointerException() { throw new NullPointerException(); }
@Unmanaged public static void throwClassCastException() { throw new ClassCastException(); }
@Unmanaged @StaticInit public class ExceptionHandler extends Structure { public int id; public RuntimeClass exceptionClass; }
@Unmanaged private static void initClassLowLevel(RuntimeClass cls) { if (cls.init != null) { cls.init.run(); } }
@Unmanaged @StaticInit public class CallSiteLocation extends Structure { public String fileName; public String className; public String methodName; public int lineNumber; }
@Unmanaged @StaticInit public final class Mutator { private Mutator() { } public static native Address getStaticGCRoots(); }
@Export(name = "sys_catchException") @Unmanaged public static Throwable catchException() { Throwable exception = thrownException; thrownException = null; return exception; }
@Unmanaged @StaticInit public class CallSite extends Structure { public int handlerCount; public ExceptionHandler firstHandler; public CallSiteLocation location; }
@SuppressWarnings("unused") @Unmanaged private static boolean isAssignableLowLevel(RuntimeClass from, RuntimeClass to) { return to.isSupertypeOf.apply(from); }