mirror of
https://github.com/ReVanced/revanced-patcher.git
synced 2026-01-28 13:41:02 +00:00
feat: Add first tests
This commit is contained in:
@@ -29,7 +29,7 @@ class MutableClass(classDef: ClassDef) : ClassDef, BaseTypeReference() {
|
||||
// Fields
|
||||
private val _fields by lazy { classDef.fields.map { field -> field.toMutable() }.toMutableSet() }
|
||||
private val _staticFields by lazy { Iterables.filter(_fields, FieldUtil.FIELD_IS_STATIC).toMutableSet() }
|
||||
private val _instanceFields by lazy {Iterables.filter(_fields, FieldUtil.FIELD_IS_INSTANCE) .toMutableSet() }
|
||||
private val _instanceFields by lazy { Iterables.filter(_fields, FieldUtil.FIELD_IS_INSTANCE).toMutableSet() }
|
||||
|
||||
fun setType(type: String) {
|
||||
this.type = type
|
||||
|
||||
@@ -31,8 +31,8 @@ internal class SignatureResolver(
|
||||
val classProxy = ClassProxy(classDef, index)
|
||||
methodMap[signature.name] = SignatureResolverResult(
|
||||
classProxy,
|
||||
patternScanData,
|
||||
method.name,
|
||||
patternScanData
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -53,8 +53,8 @@ internal class SignatureResolver(
|
||||
val result = compareSignatureToMethod(signature, method) ?: continue
|
||||
return SignatureResolverResult(
|
||||
classProxy,
|
||||
result,
|
||||
method.name,
|
||||
result
|
||||
)
|
||||
}
|
||||
return null
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package app.revanced.patcher.signature
|
||||
|
||||
import app.revanced.patcher.proxy.ClassProxy
|
||||
import app.revanced.patcher.proxy.mutableTypes.MutableMethod
|
||||
import app.revanced.patcher.resolver.SignatureResolver
|
||||
|
||||
/**
|
||||
@@ -11,9 +12,14 @@ import app.revanced.patcher.resolver.SignatureResolver
|
||||
*/
|
||||
data class SignatureResolverResult(
|
||||
val definingClassProxy: ClassProxy,
|
||||
val resolvedMethodName: String,
|
||||
val scanData: PatternScanResult?
|
||||
val scanData: PatternScanResult,
|
||||
private val resolvedMethodName: String,
|
||||
) {
|
||||
|
||||
fun resolveAndGetMethod(): MutableMethod {
|
||||
return definingClassProxy.resolve().methods.single { it.name == resolvedMethodName }
|
||||
}
|
||||
|
||||
@Suppress("Unused") // TODO(Sculas): remove this when we have coverage for this method.
|
||||
fun findParentMethod(signature: MethodSignature): SignatureResolverResult? {
|
||||
return SignatureResolver.resolveFromProxy(definingClassProxy, signature)
|
||||
|
||||
Reference in New Issue
Block a user