Class RecordRewriter
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.opgraph.op4rewriters.RecordRewriter
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static Set<AccessFlag>
private static Set<AccessFlagMethod>
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static boolean
classArgEq
(Expression expression, JavaTypeInstance thisType) private static boolean
cmpArgsEq
(Expression cmpArgs, JavaTypeInstance thisType, List<ClassFileField> instances) private static ClassFileField
getCFF
(LValue lhs, JavaRefTypeInstance thisType) private static Method
getMethod
(ClassFile classFile, List<JavaTypeInstance> args, String name) private static StructuredStatement
getSingleCodeLine
(Method method) private static void
hideConstructorIfEmpty
(Method canonicalCons) private static void
hideDefaultGetter
(Method method, ClassFileField classFileField, JavaRefTypeInstance thisType) private static void
hideDefaultUtilityMethods
(ClassFile classFile, JavaTypeInstance thisType, List<ClassFileField> instances) private static void
hideEquals
(ClassFile classFile, JavaTypeInstance thisType, List<ClassFileField> fields) private static void
hideHashCode
(ClassFile classFile, JavaTypeInstance thisType, List<ClassFileField> fields) private static void
hideIfMatch
(JavaTypeInstance thisType, List<ClassFileField> fields, Method method, WildcardMatch wcm, StructuredStatement stm) private static void
hideToString
(ClassFile classFile, JavaTypeInstance thisType, List<ClassFileField> fields) private static boolean
isThis
(Expression obj, JavaTypeInstance thisType) private static boolean
methodHandleEq
(Expression expression, String name) private static void
removeImplicitAssignments
(Method canonicalCons, List<ClassFileField> instances, JavaRefTypeInstance thisType) static void
rewrite
(ClassFile classFile, DCCommonState state) private static boolean
rewriteIfRecord
(ClassFile classFile, DCCommonState state) private static boolean
stringArgEq
(Expression expression, String name)
-
Field Details
-
recordFieldFlags
-
recordGetterFlags
-
-
Constructor Details
-
RecordRewriter
public RecordRewriter()
-
-
Method Details
-
rewrite
-
rewriteIfRecord
-
hideDefaultUtilityMethods
private static void hideDefaultUtilityMethods(ClassFile classFile, JavaTypeInstance thisType, List<ClassFileField> instances) -
hideEquals
private static void hideEquals(ClassFile classFile, JavaTypeInstance thisType, List<ClassFileField> fields) -
hideToString
private static void hideToString(ClassFile classFile, JavaTypeInstance thisType, List<ClassFileField> fields) -
hideHashCode
private static void hideHashCode(ClassFile classFile, JavaTypeInstance thisType, List<ClassFileField> fields) -
hideIfMatch
private static void hideIfMatch(JavaTypeInstance thisType, List<ClassFileField> fields, Method method, WildcardMatch wcm, StructuredStatement stm) -
stringArgEq
-
methodHandleEq
-
classArgEq
-
cmpArgsEq
private static boolean cmpArgsEq(Expression cmpArgs, JavaTypeInstance thisType, List<ClassFileField> instances) -
getMethod
-
getSingleCodeLine
-
hideDefaultGetter
private static void hideDefaultGetter(Method method, ClassFileField classFileField, JavaRefTypeInstance thisType) -
hideConstructorIfEmpty
-
removeImplicitAssignments
private static void removeImplicitAssignments(Method canonicalCons, List<ClassFileField> instances, JavaRefTypeInstance thisType) -
isThis
-
getCFF
-