@@ -33,32 +33,23 @@ class ClassInfo(val _node: ClassNode, val _classNodes: Map<String, ClassNode>) {
33
33
this .methods = getAllMethods(_node , _classNodes )
34
34
}
35
35
36
- fun getAllFields (node : ClassNode ): Map <String , FieldNode > {
37
- var fields: MutableMap <String , FieldNode > = mutableMapOf ()
38
- for (field in node.fields) {
39
- val descriptor = AccessDescriptor (field.access)
40
- if (descriptor.isSynthetic() || UtilityClass .isObfuscatedSymbol(field.name)) continue
41
- fields.put(" ${field.name} -${field.desc} " , field)
42
- }
43
- return fields
44
- }
36
+ fun getAllFields (node : ClassNode ): Map <String , FieldNode > =
37
+ node.fields
38
+ .filterNot {
39
+ AccessDescriptor (it.access).isSynthetic() || UtilityClass .isObfuscatedSymbol(it.name)
40
+ }
41
+ .associate { field -> " ${field.name} -${field.desc} " to field }
45
42
46
- fun getAllMethods (node : ClassNode , classNodes : Map <String , ClassNode >): Map <String , MethodNode > {
47
- return getAllStaticMethods(node) + getAllNonStaticMethods(node, classNodes)
48
- }
43
+ fun getAllMethods (node : ClassNode , classNodes : Map <String , ClassNode >): Map <String , MethodNode > =
44
+ getAllStaticMethods(node) + getAllNonStaticMethods(node, classNodes)
49
45
50
- fun getAllStaticMethods (node : ClassNode ): Map <String , MethodNode > {
51
- var staticMethods: MutableMap <String , MethodNode > = mutableMapOf ()
52
- for (method in node.methods) {
53
- val descriptor = AccessDescriptor (method.access)
54
- if (! descriptor.isStatic() || descriptor.isSynthetic()) continue
55
- if (UtilityClass .isObfuscatedSymbol(method.name) || method.name.equals(" <clint>" )) {
56
- continue
46
+ fun getAllStaticMethods (node : ClassNode ): Map <String , MethodNode > =
47
+ node.methods
48
+ .filterNot {
49
+ ! AccessDescriptor (it.access).isStatic() || AccessDescriptor (it.access).isSynthetic()
57
50
}
58
- staticMethods.put(" ${method.name} -${method.desc} " , method)
59
- }
60
- return staticMethods
61
- }
51
+ .filterNot { UtilityClass .isObfuscatedSymbol(it.name) || it.name.equals(" <clint>" ) }
52
+ .associate { method -> " ${method.name} -${method.desc} " to method }
62
53
63
54
fun getAllNonStaticMethods (
64
55
node : ClassNode ? ,
@@ -70,17 +61,16 @@ class ClassInfo(val _node: ClassNode, val _classNodes: Map<String, ClassNode>) {
70
61
if (methodsCache.containsKey(node.name)) {
71
62
return methodsCache.get(node.name)!!
72
63
}
73
- var result = mutableMapOf<String , MethodNode >()
74
- for (method in node.methods) {
75
- var descriptor = AccessDescriptor (method.access)
76
- if (descriptor.isSynthetic() || descriptor.isBridge() || descriptor.isStatic()) {
77
- continue
78
- }
79
- if (UtilityClass .isObfuscatedSymbol(method.name)) {
80
- continue
81
- }
82
- result.put(" ${method.name} -${method.desc} " , method)
83
- }
64
+ var result =
65
+ node.methods
66
+ .filterNot {
67
+ (AccessDescriptor (it.access).isSynthetic() ||
68
+ AccessDescriptor (it.access).isBridge() ||
69
+ AccessDescriptor (it.access).isStatic())
70
+ }
71
+ .filterNot { UtilityClass .isObfuscatedSymbol(it.name) }
72
+ .associate { method -> " ${method.name} -${method.desc} " to method }
73
+
84
74
if (node.superName != null ) {
85
75
result =
86
76
(result + getAllNonStaticMethods(classNodes.get(node.superName), classNodes))
0 commit comments