[JVM IR] Don't track fake override methods in JvmSignatureClashDetector

trackFakeOverrideMethod in JvmSignatureClashDetector is modified to
ignore fake overrides to prevent duplicate tracking of such methods,
improving efficiency
This commit is contained in:
Iaroslav Postovalov
2023-08-22 17:53:52 +02:00
committed by Space Team
parent ac6c42da7b
commit 9c8b215bbb
@@ -37,7 +37,7 @@ class JvmSignatureClashDetector(
fun trackFakeOverrideMethod(irFunction: IrFunction) {
if (irFunction.dispatchReceiverParameter != null) {
for (overriddenFunction in getOverriddenFunctions(irFunction as IrSimpleFunction)) {
trackMethod(irFunction, mapRawSignature(overriddenFunction))
if (!overriddenFunction.isFakeOverride) trackMethod(irFunction, mapRawSignature(overriddenFunction))
}
} else {
trackMethod(irFunction, mapRawSignature(irFunction))