Package org.benf.cfr.reader.bytecode
Class CodeAnalyserWholeClass
java.lang.Object
org.benf.cfr.reader.bytecode.CodeAnalyserWholeClass
Analysis which needs to be performed on the whole classfile in one go, once we've
performed other basic code analysis.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static void
detectFakeMethods
(ClassFile classFile, TypeUsageCollectingDumper typeUsage) private static void
private static Method
getStaticConstructor
(ClassFile classFile) private static void
inlineAccessors
(DCCommonState state, ClassFile classFile) private static void
liftNonStaticInitialisers
(ClassFile classFile) private static void
liftStaticInitialisers
(ClassFile classFile) private static void
relinkConstantStrings
(ClassFile classFile, DCCommonState state) private static void
removeBoilerplateMethods
(ClassFile classFile) private static void
removeDeadMethods
(ClassFile classFile) private static void
removeIllegalGenerics
(ClassFile classFile, Options state) private static void
removeInnerClassOuterThis
(ClassFile classFile) private static void
private static void
removeRedundantSupers
(ClassFile classFile) private static void
renameAnonymousScopeHidingVariables
(ClassFile classFile, ClassCache classCache) private static void
replaceNestedSyntheticOuterRefs
(ClassFile classFile) private static void
resugarAsserts
(ClassFile classFile, Options options) private static void
resugarJava14classObjects
(ClassFile classFile, DCCommonState state) private static void
resugarRecords
(ClassFile classFile, DCCommonState state) private static void
rewriteUnreachableStatics
(ClassFile classFile, TypeUsageCollectingDumper typeUsage) private static void
tidyAnonymousConstructors
(ClassFile classFile) private static void
tryRemoveConstructor
(ClassFile classFile) static void
wholeClassAnalysisPass1
(ClassFile classFile, DCCommonState state) static void
wholeClassAnalysisPass2
(ClassFile classFile, DCCommonState state) static void
wholeClassAnalysisPass3
(ClassFile classFile, DCCommonState state, TypeUsageCollectingDumper typeUsage)
-
Constructor Details
-
CodeAnalyserWholeClass
public CodeAnalyserWholeClass()
-
-
Method Details
-
wholeClassAnalysisPass1
-
resugarRecords
-
removeRedundantSupers
-
replaceNestedSyntheticOuterRefs
-
inlineAccessors
-
renameAnonymousScopeHidingVariables
-
fixInnerClassConstructorSyntheticOuterArgs
-
tidyAnonymousConstructors
-
removeInnerClassSyntheticConstructorFriends
-
removeInnerClassOuterThis
-
getStaticConstructor
-
liftStaticInitialisers
-
liftNonStaticInitialisers
-
removeDeadMethods
-
removeBoilerplateMethods
-
relinkConstantStrings
-
tryRemoveConstructor
-
removeIllegalGenerics
-
resugarAsserts
-
resugarJava14classObjects
-
wholeClassAnalysisPass3
public static void wholeClassAnalysisPass3(ClassFile classFile, DCCommonState state, TypeUsageCollectingDumper typeUsage) -
detectFakeMethods
-
rewriteUnreachableStatics
private static void rewriteUnreachableStatics(ClassFile classFile, TypeUsageCollectingDumper typeUsage) -
wholeClassAnalysisPass2
-