Class AndroidEntryPoint

java.lang.Object
com.ibm.wala.ipa.callgraph.Entrypoint
com.ibm.wala.ipa.callgraph.impl.DefaultEntrypoint
com.ibm.wala.dalvik.ipa.callgraph.impl.DexEntryPoint
com.ibm.wala.dalvik.ipa.callgraph.impl.AndroidEntryPoint
All Implemented Interfaces:
com.ibm.wala.ipa.cha.IClassHierarchyDweller, com.ibm.wala.shrike.shrikeBT.BytecodeConstants

public class AndroidEntryPoint extends DexEntryPoint
An AdnroidEntryPoint is basically the same as a DexEntryPoint. The Difference is, that further actions are taken to give a list of EntryPoints a specific order an to add information on how the entrypoints are to be called in a model which represents the usage of an android application.

You might want to use AndroidEntryPointLocator to generate a list of all EntryPoints in an android application

Since:
2013-09-01
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    The ExecutionOrder is used to partially order EntryPoints.
    static class 
    AndroidEntryPoints have to be sorted before building the model.
    static interface 
    Implement this interface to put entitys into the AndroidModel.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     
     

    Fields inherited from class com.ibm.wala.ipa.callgraph.Entrypoint

    method

    Fields inherited from interface com.ibm.wala.shrike.shrikeBT.BytecodeConstants

    JBC_aaload, JBC_aastore, JBC_aconst_null, JBC_aload, JBC_aload_0, JBC_aload_1, JBC_aload_2, JBC_aload_3, JBC_anewarray, JBC_areturn, JBC_arraylength, JBC_astore, JBC_astore_0, JBC_astore_1, JBC_astore_2, JBC_astore_3, JBC_athrow, JBC_baload, JBC_bastore, JBC_bipush, JBC_caload, JBC_castore, JBC_checkcast, JBC_d2f, JBC_d2i, JBC_d2l, JBC_dadd, JBC_daload, JBC_dastore, JBC_dcmpg, JBC_dcmpl, JBC_dconst_0, JBC_dconst_1, JBC_ddiv, JBC_dload, JBC_dload_0, JBC_dload_1, JBC_dload_2, JBC_dload_3, JBC_dmul, JBC_dneg, JBC_drem, JBC_dreturn, JBC_dstore, JBC_dstore_0, JBC_dstore_1, JBC_dstore_2, JBC_dstore_3, JBC_dsub, JBC_dup, JBC_dup_x1, JBC_dup_x2, JBC_dup2, JBC_dup2_x1, JBC_dup2_x2, JBC_f2d, JBC_f2i, JBC_f2l, JBC_fadd, JBC_faload, JBC_fastore, JBC_fcmpg, JBC_fcmpl, JBC_fconst_0, JBC_fconst_1, JBC_fconst_2, JBC_fdiv, JBC_fload, JBC_fload_0, JBC_fload_1, JBC_fload_2, JBC_fload_3, JBC_fmul, JBC_fneg, JBC_frem, JBC_freturn, JBC_fstore, JBC_fstore_0, JBC_fstore_1, JBC_fstore_2, JBC_fstore_3, JBC_fsub, JBC_getfield, JBC_getstatic, JBC_goto, JBC_goto_w, JBC_i2d, JBC_i2f, JBC_i2l, JBC_iadd, JBC_iaload, JBC_iand, JBC_iastore, JBC_iconst_0, JBC_iconst_1, JBC_iconst_2, JBC_iconst_3, JBC_iconst_4, JBC_iconst_5, JBC_iconst_m1, JBC_idiv, JBC_if_acmpeq, JBC_if_acmpne, JBC_if_icmpeq, JBC_if_icmpge, JBC_if_icmpgt, JBC_if_icmple, JBC_if_icmplt, JBC_if_icmpne, JBC_ifeq, JBC_ifge, JBC_ifgt, JBC_ifle, JBC_iflt, JBC_ifne, JBC_ifnonnull, JBC_ifnull, JBC_iinc, JBC_iload, JBC_iload_0, JBC_iload_1, JBC_iload_2, JBC_iload_3, JBC_impdep1, JBC_impdep2, JBC_imul, JBC_ineg, JBC_instanceof, JBC_int2byte, JBC_int2char, JBC_int2short, JBC_invokeinterface, JBC_invokespecial, JBC_invokestatic, JBC_invokevirtual, JBC_ior, JBC_irem, JBC_ireturn, JBC_ishl, JBC_ishr, JBC_istore, JBC_istore_0, JBC_istore_1, JBC_istore_2, JBC_istore_3, JBC_isub, JBC_iushr, JBC_ixor, JBC_jsr, JBC_jsr_w, JBC_l2d, JBC_l2f, JBC_l2i, JBC_ladd, JBC_laload, JBC_land, JBC_lastore, JBC_lcmp, JBC_lconst_0, JBC_lconst_1, JBC_ldc, JBC_ldc_w, JBC_ldc2_w, JBC_ldiv, JBC_length, JBC_lload, JBC_lload_0, JBC_lload_1, JBC_lload_2, JBC_lload_3, JBC_lmul, JBC_lneg, JBC_lookupswitch, JBC_lor, JBC_lrem, JBC_lreturn, JBC_lshl, JBC_lshr, JBC_lstore, JBC_lstore_0, JBC_lstore_1, JBC_lstore_2, JBC_lstore_3, JBC_lsub, JBC_lushr, JBC_lxor, JBC_monitorenter, JBC_monitorexit, JBC_multianewarray, JBC_name, JBC_new, JBC_newarray, JBC_nop, JBC_pop, JBC_pop2, JBC_putfield, JBC_putstatic, JBC_ret, JBC_return, JBC_saload, JBC_sastore, JBC_sipush, JBC_swap, JBC_tableswitch, JBC_wide, JBC_xxxunusedxxx
  • Constructor Summary

    Constructors
    Constructor
    Description
    AndroidEntryPoint(AndroidEntryPoint.ExecutionOrder o, com.ibm.wala.classLoader.IMethod method, com.ibm.wala.ipa.cha.IClassHierarchy cha)
     
    AndroidEntryPoint(AndroidEntryPoint.ExecutionOrder o, com.ibm.wala.classLoader.IMethod method, com.ibm.wala.ipa.cha.IClassHierarchy cha, AndroidComponent inComponent)
     
    AndroidEntryPoint(AndroidEntryPointLocator.AndroidPossibleEntryPoint p, com.ibm.wala.classLoader.IMethod method, com.ibm.wala.ipa.cha.IClassHierarchy cha)
     
    AndroidEntryPoint(AndroidEntryPointLocator.AndroidPossibleEntryPoint p, com.ibm.wala.classLoader.IMethod method, com.ibm.wala.ipa.cha.IClassHierarchy cha, AndroidComponent inComponent)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
    int
     
    boolean
     
     
    int
     
    The section is used to build classes of EntryPoints on how they are to be called.
    int
     
    boolean
    If the function is defined in a class that extends an Activity.
    boolean
    isMemberOf(com.ibm.wala.core.util.strings.Atom klass)
     

    Methods inherited from class com.ibm.wala.dalvik.ipa.callgraph.impl.DexEntryPoint

    getClassHierarchy, makeParameterTypes

    Methods inherited from class com.ibm.wala.ipa.callgraph.impl.DefaultEntrypoint

    getCha, getNumberOfParameters, getParameterTypes, makeParameterTypes, setParameterTypes

    Methods inherited from class com.ibm.wala.ipa.callgraph.Entrypoint

    addCall, getMethod, makeArgument, makeSite, toString

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

  • Constructor Details

  • Method Details

    • getComponent

      public AndroidComponent getComponent()
    • isActivity

      public boolean isActivity()
      If the function is defined in a class that extends an Activity.
    • belongsTo

      public boolean belongsTo(AndroidComponent compo)
    • isMemberOf

      public boolean isMemberOf(com.ibm.wala.core.util.strings.Atom klass)
    • getSection

      public AndroidEntryPoint.ExecutionOrder getSection()
      The section is used to build classes of EntryPoints on how they are to be called.

      The section is represented by the last label passed before the entity is reached.

      Returns:
      the section of this entrypoint
    • getOrderValue

      public int getOrderValue()
    • compareTo

      public int compareTo(AndroidEntryPoint.IExecutionOrder o)
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class com.ibm.wala.ipa.callgraph.impl.DefaultEntrypoint
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class com.ibm.wala.ipa.callgraph.impl.DefaultEntrypoint