Class CodeAnalyserWholeClass


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

    • Constructor Detail

      • CodeAnalyserWholeClass

        public CodeAnalyserWholeClass()
    • Method Detail

      • wholeClassAnalysisPass1

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

        private static void removeRedundantSupers​(ClassFile classFile)
      • replaceNestedSyntheticOuterRefs

        private static void replaceNestedSyntheticOuterRefs​(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)
      • wholeClassAnalysisPass2

        public static void wholeClassAnalysisPass2​(ClassFile classFile,
                                                   DCCommonState state)