[KLIB IC] Fix dirty declaration detector
- make kjs-stdlib be compiled correctly in IC mode
This commit is contained in:
+6
-3
@@ -6,9 +6,7 @@
|
||||
package org.jetbrains.kotlin.backend.common.serialization
|
||||
|
||||
import org.jetbrains.kotlin.backend.common.serialization.encodings.BinarySymbolData
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.DeserializedDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.PropertyAccessorDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
||||
import org.jetbrains.kotlin.ir.declarations.IrSymbolOwner
|
||||
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
|
||||
@@ -111,6 +109,11 @@ class CurrentModuleWithICDeserializer(
|
||||
|
||||
private fun DeclarationDescriptor.isDirtyDescriptor(): Boolean {
|
||||
if (this is PropertyAccessorDescriptor) return correspondingProperty.isDirtyDescriptor()
|
||||
// Since descriptors for FO methods of `kotlin.Any` (toString, equals, hashCode) are Deserialized even in
|
||||
// dirty files make test more precise checking containing declaration for non-static members
|
||||
if (this is CallableMemberDescriptor && dispatchReceiverParameter != null) {
|
||||
return containingDeclaration.isDirtyDescriptor()
|
||||
}
|
||||
return this !is DeserializedDescriptor
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user