Package org.robovm.compiler
Class BroMethodCompiler
java.lang.Object
org.robovm.compiler.AbstractMethodCompiler
org.robovm.compiler.BroMethodCompiler
- Direct Known Subclasses:
BridgeMethodCompiler,CallbackMethodCompiler,GlobalValueMethodCompiler,StructMemberMethodCompiler
public abstract class BroMethodCompiler extends AbstractMethodCompiler
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBroMethodCompiler.MarshaledArg -
Field Summary
Fields inherited from class org.robovm.compiler.AbstractMethodCompiler
catches, className, clazz, config, sootClass, sootMethod, trampolines -
Constructor Summary
Constructors Constructor Description BroMethodCompiler(Config config) -
Method Summary
Modifier and Type Method Description protected soot.SootMethodcreateFakeStructRetMethod(soot.SootMethod originalMethod)protected ValuecreateStackCopy(Function fn, Value value)FunctionTypegetBridgeFunctionType(soot.SootMethod method, boolean dynamic, boolean considerVariadic)FunctionTypegetCallbackFunctionType(soot.SootMethod method, boolean considerVariadic)List<String>getCWrapperFunctions()protected static StringgetHiType(Type type)protected static StringgetLoType(Type type, String base, int index, Map<String,String> typedefs)int[]getStructMemberOffsets(StructureType structType)returns own members offsets in bytes from start of structTypegetStructMemberType(soot.SootMethod method)StructureTypegetStructType(soot.SootClass clazz)StructureTypegetStructType(soot.Type t)protected ValueldcClass(Function fn, String name, Value env)protected ValueloadValueForGetter(soot.SootMethod method, Function fn, Type memberType, Value memberPtr, Value env, boolean dereference, long flags)protected voidmarshalArrayToNative(Function fn, MarshalerLookup.MarshalerMethod marshalerMethod, Value env, Value object, Value destPtr, long flags, int[] dimensions)protected ValuemarshalDoubleToMachineSizedFloat(Function fn, Value value)protected ValuemarshalFloatToMachineSizedFloat(Function fn, Value value)protected ValuemarshalLongToMachineSizedInt(Function fn, Value value)protected ValuemarshalLongToPointer(Function fn, Value handle)protected ValuemarshalMachineSizedFloatToDouble(Function fn, Value value)protected ValuemarshalMachineSizedFloatToFloat(Function fn, Value value)protected ValuemarshalMachineSizedSIntToLong(Function fn, Value value)protected ValuemarshalMachineSizedUIntToLong(Function fn, Value value)protected ValuemarshalNativeToArray(Function fn, MarshalerLookup.MarshalerMethod marshalerMethod, Value env, String arrayClassName, Value nativeValue, long flags, int[] dimensions)protected ValuemarshalNativeToObject(Function fn, MarshalerLookup.MarshalerMethod marshalerMethod, BroMethodCompiler.MarshaledArg marshaledArg, Value env, String valueClassName, Value nativeValue, long flags)protected ValuemarshalNativeToPrimitive(Function fn, soot.SootMethod method, int paramIndex, Value value)protected ValuemarshalNativeToPrimitive(Function fn, soot.SootMethod method, Value value)protected ValuemarshalNativeToValueObject(Function fn, MarshalerLookup.MarshalerMethod marshalerMethod, Value env, String valueClassName, Value nativeValue, long flags)protected ValuemarshalObjectToNative(Function fn, MarshalerLookup.MarshalerMethod marshalerMethod, BroMethodCompiler.MarshaledArg marshaledArg, Type nativeType, Value env, Value object, long flags)protected ValuemarshalPointerToLong(Function fn, Value pointer)protected ValuemarshalPrimitiveToNative(Function fn, soot.SootMethod method, int paramIndex, Value value)protected ValuemarshalPrimitiveToNative(Function fn, soot.SootMethod method, Value value)protected ValuemarshalValueObjectToNative(Function fn, MarshalerLookup.MarshalerMethod marshalerMethod, Type nativeType, Value env, Value object, long flags)protected booleanrequiresCWrapper(soot.SootMethod method)voidreset(Clazz clazz)protected voidstoreValueForSetter(soot.SootMethod method, Function function, Type memberType, Value memberPtr, Value env, Value value, long flags)Methods inherited from class org.robovm.compiler.AbstractMethodCompiler
compile, createMethodFunction, doCompile, getCatches, getTrampolines
-
Constructor Details
-
BroMethodCompiler
-
-
Method Details
-
reset
- Overrides:
resetin classAbstractMethodCompiler
-
getCWrapperFunctions
-
requiresCWrapper
protected boolean requiresCWrapper(soot.SootMethod method) -
ldcClass
-
marshalNativeToPrimitive
-
marshalPrimitiveToNative
-
marshalNativeToPrimitive
-
marshalPrimitiveToNative
-
marshalNativeToObject
protected Value marshalNativeToObject(Function fn, MarshalerLookup.MarshalerMethod marshalerMethod, BroMethodCompiler.MarshaledArg marshaledArg, Value env, String valueClassName, Value nativeValue, long flags) -
createStackCopy
-
marshalNativeToValueObject
-
marshalNativeToArray
-
marshalPointerToLong
-
marshalMachineSizedSIntToLong
-
marshalMachineSizedUIntToLong
-
marshalMachineSizedFloatToDouble
-
marshalMachineSizedFloatToFloat
-
marshalObjectToNative
protected Value marshalObjectToNative(Function fn, MarshalerLookup.MarshalerMethod marshalerMethod, BroMethodCompiler.MarshaledArg marshaledArg, Type nativeType, Value env, Value object, long flags) -
marshalValueObjectToNative
-
marshalArrayToNative
protected void marshalArrayToNative(Function fn, MarshalerLookup.MarshalerMethod marshalerMethod, Value env, Value object, Value destPtr, long flags, int[] dimensions) -
marshalLongToPointer
-
marshalLongToMachineSizedInt
-
marshalDoubleToMachineSizedFloat
-
marshalFloatToMachineSizedFloat
-
getBridgeFunctionType
public FunctionType getBridgeFunctionType(soot.SootMethod method, boolean dynamic, boolean considerVariadic) -
getCallbackFunctionType
-
getStructType
-
getStructType
-
getHiType
-
getLoType
-
getStructMemberType
-
getStructMemberOffsets
returns own members offsets in bytes from start of struct -
createFakeStructRetMethod
protected soot.SootMethod createFakeStructRetMethod(soot.SootMethod originalMethod) -
loadValueForGetter
-
storeValueForSetter
-