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
  • Constructor Details

    • BroMethodCompiler

      public BroMethodCompiler​(Config config)
  • Method Details

    • reset

      public void reset​(Clazz clazz)
      Overrides:
      reset in class AbstractMethodCompiler
    • getCWrapperFunctions

      public List<String> getCWrapperFunctions()
    • requiresCWrapper

      protected boolean requiresCWrapper​(soot.SootMethod method)
    • ldcClass

      protected Value ldcClass​(Function fn, String name, Value env)
    • marshalNativeToPrimitive

      protected Value marshalNativeToPrimitive​(Function fn, soot.SootMethod method, int paramIndex, Value value)
    • marshalPrimitiveToNative

      protected Value marshalPrimitiveToNative​(Function fn, soot.SootMethod method, int paramIndex, Value value)
    • marshalNativeToPrimitive

      protected Value marshalNativeToPrimitive​(Function fn, soot.SootMethod method, Value value)
    • marshalPrimitiveToNative

      protected Value marshalPrimitiveToNative​(Function fn, soot.SootMethod method, Value value)
    • marshalNativeToObject

      protected Value marshalNativeToObject​(Function fn, MarshalerLookup.MarshalerMethod marshalerMethod, BroMethodCompiler.MarshaledArg marshaledArg, Value env, String valueClassName, Value nativeValue, long flags)
    • createStackCopy

      protected Value createStackCopy​(Function fn, Value value)
    • marshalNativeToValueObject

      protected Value marshalNativeToValueObject​(Function fn, MarshalerLookup.MarshalerMethod marshalerMethod, Value env, String valueClassName, Value nativeValue, long flags)
    • marshalNativeToArray

      protected Value marshalNativeToArray​(Function fn, MarshalerLookup.MarshalerMethod marshalerMethod, Value env, String arrayClassName, Value nativeValue, long flags, int[] dimensions)
    • marshalPointerToLong

      protected Value marshalPointerToLong​(Function fn, Value pointer)
    • marshalMachineSizedSIntToLong

      protected Value marshalMachineSizedSIntToLong​(Function fn, Value value)
    • marshalMachineSizedUIntToLong

      protected Value marshalMachineSizedUIntToLong​(Function fn, Value value)
    • marshalMachineSizedFloatToDouble

      protected Value marshalMachineSizedFloatToDouble​(Function fn, Value value)
    • marshalMachineSizedFloatToFloat

      protected Value marshalMachineSizedFloatToFloat​(Function fn, Value value)
    • marshalObjectToNative

      protected Value marshalObjectToNative​(Function fn, MarshalerLookup.MarshalerMethod marshalerMethod, BroMethodCompiler.MarshaledArg marshaledArg, Type nativeType, Value env, Value object, long flags)
    • marshalValueObjectToNative

      protected Value marshalValueObjectToNative​(Function fn, MarshalerLookup.MarshalerMethod marshalerMethod, Type nativeType, Value env, Value object, long flags)
    • marshalArrayToNative

      protected void marshalArrayToNative​(Function fn, MarshalerLookup.MarshalerMethod marshalerMethod, Value env, Value object, Value destPtr, long flags, int[] dimensions)
    • marshalLongToPointer

      protected Value marshalLongToPointer​(Function fn, Value handle)
    • marshalLongToMachineSizedInt

      protected Value marshalLongToMachineSizedInt​(Function fn, Value value)
    • marshalDoubleToMachineSizedFloat

      protected Value marshalDoubleToMachineSizedFloat​(Function fn, Value value)
    • marshalFloatToMachineSizedFloat

      protected Value marshalFloatToMachineSizedFloat​(Function fn, Value value)
    • getBridgeFunctionType

      public FunctionType getBridgeFunctionType​(soot.SootMethod method, boolean dynamic, boolean considerVariadic)
    • getCallbackFunctionType

      public FunctionType getCallbackFunctionType​(soot.SootMethod method, boolean considerVariadic)
    • getStructType

      public StructureType getStructType​(soot.Type t)
    • getStructType

      public StructureType getStructType​(soot.SootClass clazz)
    • getHiType

      protected static String getHiType​(Type type)
    • getLoType

      protected static String getLoType​(Type type, String base, int index, Map<String,​String> typedefs)
    • getStructMemberType

      public Type getStructMemberType​(soot.SootMethod method)
    • getStructMemberOffsets

      public int[] getStructMemberOffsets​(StructureType structType)
      returns own members offsets in bytes from start of struct
    • createFakeStructRetMethod

      protected soot.SootMethod createFakeStructRetMethod​(soot.SootMethod originalMethod)
    • loadValueForGetter

      protected Value loadValueForGetter​(soot.SootMethod method, Function fn, Type memberType, Value memberPtr, Value env, boolean dereference, long flags)
    • storeValueForSetter

      protected void storeValueForSetter​(soot.SootMethod method, Function function, Type memberType, Value memberPtr, Value env, Value value, long flags)