refactor: Simplify method implementation

This commit is contained in:
oSumAtrIX 2023-10-23 00:22:19 +02:00
parent e2ca50729d
commit 15b38fc841
No known key found for this signature in database
GPG Key ID: A9B3094ACDB604B4

View File

@ -123,7 +123,7 @@ abstract class MethodFingerprint(
*/ */
fun resolve(context: BytecodeContext, forClass: ClassDef): Boolean { fun resolve(context: BytecodeContext, forClass: ClassDef): Boolean {
for (method in forClass.methods) for (method in forClass.methods)
if (this.resolve(context, method, forClass)) if (resolve(context, method, forClass))
return true return true
return false return false
} }
@ -397,12 +397,12 @@ abstract class MethodFingerprint(
* @param context The [BytecodeContext] to host proxies. * @param context The [BytecodeContext] to host proxies.
* @return True if the resolution was successful, false otherwise. * @return True if the resolution was successful, false otherwise.
*/ */
fun Iterable<MethodFingerprint>.resolve(context: BytecodeContext, classes: Iterable<ClassDef>) { fun Iterable<MethodFingerprint>.resolve(context: BytecodeContext, classes: Iterable<ClassDef>) =
for (fingerprint in this) // For each fingerprint... forEach { fingerprint ->
classes@ for (classDef in classes) // ...search through all classes for the MethodFingerprint for (classDef in classes) {
if (fingerprint.resolve(context, classDef)) if (fingerprint.resolve(context, classDef)) break
break@classes // ...if the resolution succeeded, continue with the next MethodFingerprint. }
} }
private fun MethodFingerprintResult.MethodFingerprintScanResult.PatternScanResult.createWarnings( private fun MethodFingerprintResult.MethodFingerprintScanResult.PatternScanResult.createWarnings(
pattern: Iterable<Opcode?>, instructions: Iterable<Instruction> pattern: Iterable<Opcode?>, instructions: Iterable<Instruction>