Package jnr.ffi.provider.jffi
Class AsmUtil
- java.lang.Object
-
- jnr.ffi.provider.jffi.AsmUtil
-
final class AsmUtil extends java.lang.Object
-
-
Constructor Summary
Constructors Modifier Constructor Description private
AsmUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.Class
boxedType(java.lang.Class type)
(package private) static void
boxValue(AsmBuilder builder, SkinnyMethodAdapter mv, java.lang.Class boxedType, java.lang.Class unboxedType)
(package private) static int
calculateLocalVariableSpace(java.lang.Class type)
Calculates the size of a local variable(package private) static int
calculateLocalVariableSpace(java.lang.Class... types)
Calculates the size of a list of types in the local variable area.(package private) static int
calculateLocalVariableSpace(SigType type)
Calculates the size of a local variable(package private) static int
calculateLocalVariableSpace(SigType... types)
Calculates the size of a list of types in the local variable area.private static boolean
classIsVisible(java.lang.ClassLoader classLoader, java.lang.Class klass)
(package private) static void
emitFromNativeConversion(AsmBuilder builder, SkinnyMethodAdapter mv, FromNativeType fromNativeType, java.lang.Class nativeClass)
(package private) static void
emitReturn(AsmBuilder builder, SkinnyMethodAdapter mv, java.lang.Class returnType, java.lang.Class nativeIntType)
(package private) static void
emitReturnOp(SkinnyMethodAdapter mv, java.lang.Class returnType)
(package private) static void
emitToNativeConversion(AsmBuilder builder, SkinnyMethodAdapter mv, ToNativeType toNativeType)
(package private) static void
getfield(SkinnyMethodAdapter mv, AsmBuilder builder, AsmBuilder.ObjectField field)
(package private) static java.lang.reflect.Method
getFromNativeMethod(FromNativeType fromNativeType, AsmClassLoader classLoader)
(package private) static int
getNativeArrayFlags(int flags)
(package private) static int
getNativeArrayFlags(java.util.Collection<java.lang.annotation.Annotation> annotations)
(package private) static LocalVariable[]
getParameterVariables(java.lang.Class[] parameterTypes)
(package private) static LocalVariable[]
getParameterVariables(ParameterType[] parameterTypes)
(package private) static java.lang.reflect.Method
getToNativeMethod(ToNativeType toNativeType, AsmClassLoader classLoader)
(package private) static void
load(SkinnyMethodAdapter mv, java.lang.Class parameterType, LocalVariable parameter)
(package private) static boolean
methodIsAccessible(java.lang.reflect.Method method)
static org.objectweb.asm.ClassVisitor
newCheckClassAdapter(org.objectweb.asm.ClassVisitor cv)
static org.objectweb.asm.ClassVisitor
newTraceClassVisitor(java.io.PrintWriter out)
static org.objectweb.asm.ClassVisitor
newTraceClassVisitor(org.objectweb.asm.ClassVisitor cv, java.io.OutputStream out)
static org.objectweb.asm.ClassVisitor
newTraceClassVisitor(org.objectweb.asm.ClassVisitor cv, java.io.PrintWriter out)
static org.objectweb.asm.MethodVisitor
newTraceMethodVisitor(org.objectweb.asm.MethodVisitor mv)
(package private) static void
store(SkinnyMethodAdapter mv, java.lang.Class type, LocalVariable var)
(package private) static void
tryfinally(SkinnyMethodAdapter mv, java.lang.Runnable codeBlock, java.lang.Runnable finallyBlock)
(package private) static void
unboxBoolean(SkinnyMethodAdapter mv, java.lang.Class nativeType)
(package private) static void
unboxBoolean(SkinnyMethodAdapter mv, java.lang.Class boxedType, java.lang.Class nativeType)
static java.lang.Class
unboxedReturnType(java.lang.Class type)
static java.lang.Class
unboxedType(java.lang.Class boxedType)
(package private) static void
unboxNumber(SkinnyMethodAdapter mv, java.lang.Class boxedType, java.lang.Class nativeType)
(package private) static void
unboxNumber(SkinnyMethodAdapter mv, java.lang.Class boxedType, java.lang.Class unboxedType, NativeType nativeType)
(package private) static void
unboxPointer(SkinnyMethodAdapter mv, java.lang.Class nativeType)
private static void
unboxPointerOrStruct(SkinnyMethodAdapter mv, java.lang.Class type, java.lang.Class nativeType)
-
-
-
Method Detail
-
newTraceMethodVisitor
public static org.objectweb.asm.MethodVisitor newTraceMethodVisitor(org.objectweb.asm.MethodVisitor mv)
-
newTraceClassVisitor
public static org.objectweb.asm.ClassVisitor newTraceClassVisitor(org.objectweb.asm.ClassVisitor cv, java.io.OutputStream out)
-
newTraceClassVisitor
public static org.objectweb.asm.ClassVisitor newTraceClassVisitor(org.objectweb.asm.ClassVisitor cv, java.io.PrintWriter out)
-
newTraceClassVisitor
public static org.objectweb.asm.ClassVisitor newTraceClassVisitor(java.io.PrintWriter out)
-
newCheckClassAdapter
public static org.objectweb.asm.ClassVisitor newCheckClassAdapter(org.objectweb.asm.ClassVisitor cv)
-
unboxedReturnType
public static java.lang.Class unboxedReturnType(java.lang.Class type)
-
unboxedType
public static java.lang.Class unboxedType(java.lang.Class boxedType)
-
boxedType
public static java.lang.Class boxedType(java.lang.Class type)
-
emitReturnOp
static void emitReturnOp(SkinnyMethodAdapter mv, java.lang.Class returnType)
-
calculateLocalVariableSpace
static int calculateLocalVariableSpace(java.lang.Class type)
Calculates the size of a local variable- Parameters:
type
- The type of parameter- Returns:
- The size in parameter units
-
calculateLocalVariableSpace
static int calculateLocalVariableSpace(SigType type)
Calculates the size of a local variable- Parameters:
type
- The type of parameter- Returns:
- The size in parameter units
-
calculateLocalVariableSpace
static int calculateLocalVariableSpace(java.lang.Class... types)
Calculates the size of a list of types in the local variable area.- Parameters:
types
- The type of parameter- Returns:
- The size in parameter units
-
calculateLocalVariableSpace
static int calculateLocalVariableSpace(SigType... types)
Calculates the size of a list of types in the local variable area.- Parameters:
types
- The type of parameter- Returns:
- The size in parameter units
-
unboxPointerOrStruct
private static void unboxPointerOrStruct(SkinnyMethodAdapter mv, java.lang.Class type, java.lang.Class nativeType)
-
unboxPointer
static void unboxPointer(SkinnyMethodAdapter mv, java.lang.Class nativeType)
-
unboxBoolean
static void unboxBoolean(SkinnyMethodAdapter mv, java.lang.Class boxedType, java.lang.Class nativeType)
-
unboxBoolean
static void unboxBoolean(SkinnyMethodAdapter mv, java.lang.Class nativeType)
-
unboxNumber
static void unboxNumber(SkinnyMethodAdapter mv, java.lang.Class boxedType, java.lang.Class unboxedType, NativeType nativeType)
-
unboxNumber
static void unboxNumber(SkinnyMethodAdapter mv, java.lang.Class boxedType, java.lang.Class nativeType)
-
boxValue
static void boxValue(AsmBuilder builder, SkinnyMethodAdapter mv, java.lang.Class boxedType, java.lang.Class unboxedType)
-
getNativeArrayFlags
static int getNativeArrayFlags(int flags)
-
getNativeArrayFlags
static int getNativeArrayFlags(java.util.Collection<java.lang.annotation.Annotation> annotations)
-
getParameterVariables
static LocalVariable[] getParameterVariables(ParameterType[] parameterTypes)
-
getParameterVariables
static LocalVariable[] getParameterVariables(java.lang.Class[] parameterTypes)
-
load
static void load(SkinnyMethodAdapter mv, java.lang.Class parameterType, LocalVariable parameter)
-
store
static void store(SkinnyMethodAdapter mv, java.lang.Class type, LocalVariable var)
-
emitReturn
static void emitReturn(AsmBuilder builder, SkinnyMethodAdapter mv, java.lang.Class returnType, java.lang.Class nativeIntType)
-
getfield
static void getfield(SkinnyMethodAdapter mv, AsmBuilder builder, AsmBuilder.ObjectField field)
-
tryfinally
static void tryfinally(SkinnyMethodAdapter mv, java.lang.Runnable codeBlock, java.lang.Runnable finallyBlock)
-
emitToNativeConversion
static void emitToNativeConversion(AsmBuilder builder, SkinnyMethodAdapter mv, ToNativeType toNativeType)
-
emitFromNativeConversion
static void emitFromNativeConversion(AsmBuilder builder, SkinnyMethodAdapter mv, FromNativeType fromNativeType, java.lang.Class nativeClass)
-
getToNativeMethod
static java.lang.reflect.Method getToNativeMethod(ToNativeType toNativeType, AsmClassLoader classLoader)
-
getFromNativeMethod
static java.lang.reflect.Method getFromNativeMethod(FromNativeType fromNativeType, AsmClassLoader classLoader)
-
methodIsAccessible
static boolean methodIsAccessible(java.lang.reflect.Method method)
-
classIsVisible
private static boolean classIsVisible(java.lang.ClassLoader classLoader, java.lang.Class klass)
-
-