Package soot.dexpler

Class DexAnnotation


  • public class DexAnnotation
    extends Object
    Converts annotations from Dexlib to Jimple.
    Author:
    alex
    • Method Detail

      • handleClassAnnotation

        public void handleClassAnnotation​(org.jf.dexlib2.iface.ClassDef classDef)
        Converts Class annotations from Dexlib to Jimple.
        Parameters:
        classDef -
      • handleFieldAnnotation

        public void handleFieldAnnotation​(Host h,
                                          org.jf.dexlib2.iface.Field f)
        Converts field annotations from Dexlib to Jimple
        Parameters:
        h -
        f -
      • handleMethodAnnotation

        public void handleMethodAnnotation​(Host h,
                                           org.jf.dexlib2.iface.Method method)
        Converts method and method parameters annotations from Dexlib to Jimple
        Parameters:
        h -
        method -
      • addNormalAnnotation

        protected void addNormalAnnotation​(VisibilityAnnotationTag[] vatg,
                                           org.jf.dexlib2.iface.Annotation a,
                                           int v)
        Processes a normal annotation and adds it to the proper visibility annotation tag in the given array
        Parameters:
        vatg - the visibility annotation tags for different visibility levels
        a - the annotation
        v - the visibility
      • getVisibility

        protected static int getVisibility​(int visibility)
        Converts Dexlib visibility to Jimple visibility. In Dalvik: VISIBILITY_BUILD 0x00 intended only to be visible at build time (e.g., during compilation of other code) VISIBILITY_RUNTIME 0x01 intended to visible at runtime VISIBILITY_SYSTEM 0x02 intended to visible at runtime, but only to the underlying system (and not to regular user code)
        Parameters:
        visibility - Dexlib visibility
        Returns:
        Jimple visibility