From bea0cbc550098cff515e209aceecf30abb703167 Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Wed, 6 Apr 2022 19:37:29 +0200 Subject: [PATCH] refactor: lazy initialize implementation field for mutable methods --- .../app/revanced/patcher/proxy/mutableTypes/MutableMethod.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/app/revanced/patcher/proxy/mutableTypes/MutableMethod.kt b/src/main/kotlin/app/revanced/patcher/proxy/mutableTypes/MutableMethod.kt index af4d3bc..b35a52d 100644 --- a/src/main/kotlin/app/revanced/patcher/proxy/mutableTypes/MutableMethod.kt +++ b/src/main/kotlin/app/revanced/patcher/proxy/mutableTypes/MutableMethod.kt @@ -13,7 +13,7 @@ class MutableMethod(method: Method) : Method, BaseMethodReference() { private var returnType = method.returnType // Create own mutable MethodImplementation (due to not being able to change members like register count) - private var implementation = method.implementation?.let { MutableMethodImplementation(it) } + private val _implementation by lazy { method.implementation?.let { MutableMethodImplementation(it) } } private val _annotations by lazy { method.annotations.map { annotation -> annotation.toMutable() }.toMutableSet() } private val _parameters by lazy { method.parameters.map { parameter -> parameter.toMutable() }.toMutableList() } private val _parameterTypes by lazy { method.parameterTypes.toMutableList() } @@ -47,7 +47,7 @@ class MutableMethod(method: Method) : Method, BaseMethodReference() { } override fun getImplementation(): MutableMethodImplementation? { - return implementation + return _implementation } companion object {