Class DebugInfoApplyVisitor

java.lang.Object
jadx.core.dex.visitors.AbstractVisitor
jadx.core.dex.visitors.debuginfo.DebugInfoApplyVisitor
All Implemented Interfaces:
IDexTreeVisitor

public class DebugInfoApplyVisitor extends AbstractVisitor
  • Field Details

    • LOG

      private static final org.slf4j.Logger LOG
  • Constructor Details

    • DebugInfoApplyVisitor

      public DebugInfoApplyVisitor()
  • Method Details

    • visit

      public void visit(MethodNode mth) throws JadxException
      Description copied from interface: IDexTreeVisitor
      Visit method
      Specified by:
      visit in interface IDexTreeVisitor
      Overrides:
      visit in class AbstractVisitor
      Throws:
      JadxException
    • applyDebugInfo

      private static void applyDebugInfo(MethodNode mth)
    • searchAndApplyVarDebugInfo

      private static void searchAndApplyVarDebugInfo(MethodNode mth, SSAVar ssaVar)
    • searchDebugInfoByOffset

      private static void searchDebugInfoByOffset(MethodNode mth, SSAVar ssaVar)
    • isInside

      private static boolean isInside(int var, int start, int end)
    • getInsnOffsetByArg

      private static int getInsnOffsetByArg(InsnArg arg)
    • applyDebugInfo

      public static boolean applyDebugInfo(MethodNode mth, SSAVar ssaVar, RegisterArg arg)
    • applyDebugInfo

      public static boolean applyDebugInfo(MethodNode mth, SSAVar ssaVar, ArgType type, String varName)
    • fixLinesForReturn

      private static void fixLinesForReturn(MethodNode mth)
      Fix debug info for splitter 'return' instructions
    • fixNamesForPhiInsns

      private static void fixNamesForPhiInsns(MethodNode mth)
    • addArgName

      private static void addArgName(InsnArg arg, Set<String> names)
    • setNameForInsn

      private static void setNameForInsn(PhiInsn phiInsn, String name)
    • processMethodParametersAttribute

      private void processMethodParametersAttribute(MethodNode mth)