[JS IR] IC invalidation refactoring

- Huge refactoring for IC
  - Update hash combination logic
  - Introduce value class for IC hashes
  - Calc md5 directly by function IR
  - Split IC logic by classes
  - Move JsIrLinkerLoader into separate file
  - CacheUpdateStatus is a sealed class
  - Render TYPE_PARAMETER reified flag

^KT-51081 Fixed
^KT-51084 Fixed
This commit is contained in:
Alexander Korepanov
2022-03-15 05:34:19 +00:00
committed by Space
parent c38dd1c004
commit 69295f2cf0
246 changed files with 1724 additions and 2048 deletions
@@ -16,7 +16,7 @@ FILE fqName:<root> fileName:/ClashResolutionDescriptor.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS INTERFACE name:PlatformSpecificExtension modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.PlatformSpecificExtension<S of <root>.PlatformSpecificExtension>
TYPE_PARAMETER name:S index:0 variance: superTypes:[<root>.PlatformSpecificExtension<S of <root>.PlatformSpecificExtension>]
TYPE_PARAMETER name:S index:0 variance: superTypes:[<root>.PlatformSpecificExtension<S of <root>.PlatformSpecificExtension>] reified:false
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
@@ -47,7 +47,7 @@ FILE fqName:<root> fileName:/ClashResolutionDescriptor.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS CLASS name:PlatformExtensionsClashResolver modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.PlatformExtensionsClashResolver<E of <root>.PlatformExtensionsClashResolver>
TYPE_PARAMETER name:E index:0 variance: superTypes:[<root>.PlatformSpecificExtension<E of <root>.PlatformExtensionsClashResolver>]
TYPE_PARAMETER name:E index:0 variance: superTypes:[<root>.PlatformSpecificExtension<E of <root>.PlatformExtensionsClashResolver>] reified:false
CONSTRUCTOR visibility:public <> (applicableTo:java.lang.Class<E of <root>.PlatformExtensionsClashResolver>) returnType:<root>.PlatformExtensionsClashResolver<E of <root>.PlatformExtensionsClashResolver> [primary]
VALUE_PARAMETER name:applicableTo index:0 type:java.lang.Class<E of <root>.PlatformExtensionsClashResolver>
BLOCK_BODY
@@ -79,7 +79,7 @@ FILE fqName:<root> fileName:/ClashResolutionDescriptor.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS CLASS name:ClashResolutionDescriptor modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.ClashResolutionDescriptor<E of <root>.ClashResolutionDescriptor>
TYPE_PARAMETER name:E index:0 variance: superTypes:[<root>.PlatformSpecificExtension<E of <root>.ClashResolutionDescriptor>]
TYPE_PARAMETER name:E index:0 variance: superTypes:[<root>.PlatformSpecificExtension<E of <root>.ClashResolutionDescriptor>] reified:false
CONSTRUCTOR visibility:public <> (container:<root>.ComponentContainer, resolver:<root>.PlatformExtensionsClashResolver<E of <root>.ClashResolutionDescriptor>, clashedComponents:kotlin.collections.List<<root>.ComponentDescriptor>) returnType:<root>.ClashResolutionDescriptor<E of <root>.ClashResolutionDescriptor> [primary]
VALUE_PARAMETER name:container index:0 type:<root>.ComponentContainer
VALUE_PARAMETER name:resolver index:1 type:<root>.PlatformExtensionsClashResolver<E of <root>.ClashResolutionDescriptor>