Class RootNode


  • public class RootNode
    extends java.lang.Object
    • Method Detail

      • init

        public void init()
      • loadClasses

        public void loadClasses​(java.util.List<jadx.api.plugins.input.ICodeLoader> loadedInputs)
      • finishClassLoad

        public void finishClassLoad()
      • addClassNode

        public void addClassNode​(ClassNode clsNode)
      • processResources

        public void processResources​(ResourceStorage resStorage)
      • initClassPath

        public void initClassPath()
      • mergePasses

        public void mergePasses​(java.util.Map<JadxPassType,​java.util.List<JadxPass>> customPasses)
      • runPreDecompileStage

        public void runPreDecompileStage()
      • runPreDecompileStageForClass

        public void runPreDecompileStageForClass​(ClassNode cls)
      • resetPasses

        public void resetPasses()
      • restartVisitors

        public void restartVisitors()
      • getClasses

        public java.util.List<ClassNode> getClasses()
      • getClassesWithoutInner

        public java.util.List<ClassNode> getClassesWithoutInner()
      • getClasses

        public java.util.List<ClassNode> getClasses​(boolean includeInner)
      • getPackages

        public java.util.List<PackageNode> getPackages()
      • resolvePackage

        @Nullable
        public @Nullable PackageNode resolvePackage​(java.lang.String fullPkg)
      • resolvePackage

        @Nullable
        public @Nullable PackageNode resolvePackage​(@Nullable
                                                    @Nullable PackageInfo pkgInfo)
      • addPackage

        public void addPackage​(PackageNode pkg)
      • removePackage

        public void removePackage​(PackageNode pkg)
      • sortPackages

        public void sortPackages()
      • runPackagesUpdate

        public void runPackagesUpdate()
        Update sub packages
      • resolveClass

        @Nullable
        public @Nullable ClassNode resolveClass​(ArgType clsType)
      • resolveClass

        @Nullable
        public @Nullable ClassNode resolveClass​(java.lang.String fullName)
      • resolveRawClass

        @Nullable
        public @Nullable ClassNode resolveRawClass​(java.lang.String rawFullName)
      • resolveParentClass

        @Nullable
        public @Nullable ClassNode resolveParentClass​(ClassInfo clsInfo)
        Find and correct the parent of an inner class.
        Sometimes inner ClassInfo generated wrong parent info. e.g. inner is `Cls$mth$1`, current parent = `Cls$mth`, real parent = `Cls`
      • searchClassByFullAlias

        @Nullable
        public @Nullable ClassNode searchClassByFullAlias​(java.lang.String fullName)
        Searches for ClassNode by its full name (original or alias name)
        Warning: This method has a runtime of O(n) (n = number of classes). If you need to call it more than once consider buildFullAliasClassCache() instead
      • buildFullAliasClassCache

        public java.util.Map<java.lang.String,​ClassNode> buildFullAliasClassCache()
      • searchClassByShortName

        public java.util.List<ClassNode> searchClassByShortName​(java.lang.String shortName)
      • resolveMethod

        @Nullable
        public @Nullable MethodNode resolveMethod​(@NotNull
                                                  @NotNull MethodInfo mth)
      • resolveDirectMethod

        @NotNull
        public @NotNull MethodNode resolveDirectMethod​(java.lang.String rawClsName,
                                                       java.lang.String mthShortId)
      • getProcessClasses

        public ProcessClass getProcessClasses()
      • getPreDecompilePasses

        public java.util.List<IDexTreeVisitor> getPreDecompilePasses()
      • initPasses

        public void initPasses()
      • registerCodeDataUpdateListener

        public void registerCodeDataUpdateListener​(ICodeDataUpdateListener listener)
      • notifyCodeDataListeners

        public void notifyCodeDataListeners()
      • getAppPackage

        @Nullable
        public @Nullable java.lang.String getAppPackage()
      • getAppResClass

        @Nullable
        public @Nullable ClassNode getAppResClass()
      • getDecompiler

        @Nullable
        public @Nullable JadxDecompiler getDecompiler()
      • getTypeUpdate

        public TypeUpdate getTypeUpdate()
      • getTypeUtils

        public TypeUtils getTypeUtils()