Class CodeAnalyserWholeClass

java.lang.Object
org.benf.cfr.reader.bytecode.CodeAnalyserWholeClass

public class CodeAnalyserWholeClass extends Object
Analysis which needs to be performed on the whole classfile in one go, once we've performed other basic code analysis.

  • Constructor Details

    • CodeAnalyserWholeClass

      public CodeAnalyserWholeClass()
  • Method Details

    • wholeClassAnalysisPass1

      public static void wholeClassAnalysisPass1(ClassFile classFile, DCCommonState state)
    • resugarRecords

      private static void resugarRecords(ClassFile classFile, DCCommonState state)
    • removeRedundantSupers

      private static void removeRedundantSupers(ClassFile classFile)
    • replaceNestedSyntheticOuterRefs

      private static void replaceNestedSyntheticOuterRefs(ClassFile classFile)
    • inlineAccessors

      private static void inlineAccessors(DCCommonState state, ClassFile classFile)
    • renameAnonymousScopeHidingVariables

      private static void renameAnonymousScopeHidingVariables(ClassFile classFile, ClassCache classCache)
    • fixInnerClassConstructorSyntheticOuterArgs

      private static void fixInnerClassConstructorSyntheticOuterArgs(ClassFile classFile)
    • tidyAnonymousConstructors

      private static void tidyAnonymousConstructors(ClassFile classFile)
    • removeInnerClassSyntheticConstructorFriends

      private static void removeInnerClassSyntheticConstructorFriends(ClassFile classFile)
    • removeInnerClassOuterThis

      private static void removeInnerClassOuterThis(ClassFile classFile)
    • getStaticConstructor

      private static Method getStaticConstructor(ClassFile classFile)
    • liftStaticInitialisers

      private static void liftStaticInitialisers(ClassFile classFile)
    • liftNonStaticInitialisers

      private static void liftNonStaticInitialisers(ClassFile classFile)
    • removeDeadMethods

      private static void removeDeadMethods(ClassFile classFile)
    • removeBoilerplateMethods

      private static void removeBoilerplateMethods(ClassFile classFile)
    • relinkConstantStrings

      private static void relinkConstantStrings(ClassFile classFile, DCCommonState state)
    • tryRemoveConstructor

      private static void tryRemoveConstructor(ClassFile classFile)
    • removeIllegalGenerics

      private static void removeIllegalGenerics(ClassFile classFile, Options state)
    • resugarAsserts

      private static void resugarAsserts(ClassFile classFile, Options options)
    • resugarJava14classObjects

      private static void resugarJava14classObjects(ClassFile classFile, DCCommonState state)
    • wholeClassAnalysisPass3

      public static void wholeClassAnalysisPass3(ClassFile classFile, DCCommonState state, TypeUsageCollectingDumper typeUsage)
    • detectFakeMethods

      private static void detectFakeMethods(ClassFile classFile, TypeUsageCollectingDumper typeUsage)
    • rewriteUnreachableStatics

      private static void rewriteUnreachableStatics(ClassFile classFile, TypeUsageCollectingDumper typeUsage)
    • wholeClassAnalysisPass2

      public static void wholeClassAnalysisPass2(ClassFile classFile, DCCommonState state)