Sort sealed class inheritors to ensure reproducible builds with IC

without this sorting the inheritors field in the metadata may depend on
whether some inheritors are compiled in the IC round or not.
This commit is contained in:
Ilya Chernikov
2022-03-25 18:49:14 +01:00
committed by teamcity
parent 53bc593062
commit 5d6e2b57a7
12 changed files with 71 additions and 70 deletions
@@ -20,8 +20,8 @@ FILE fqName:<root> fileName:/kt44814.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS CLASS name:FirSourceElement modality:SEALED visibility:public superTypes:[kotlin.Any]
sealedSubclasses:
CLASS CLASS name:FirPsiSourceElement modality:FINAL visibility:public superTypes:[<root>.FirSourceElement]
CLASS CLASS name:FirLightSourceElement modality:FINAL visibility:public superTypes:[<root>.FirSourceElement]
CLASS CLASS name:FirPsiSourceElement modality:FINAL visibility:public superTypes:[<root>.FirSourceElement]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.FirSourceElement
CONSTRUCTOR visibility:protected <> () returnType:<root>.FirSourceElement [primary]
BLOCK_BODY
@@ -372,8 +372,8 @@ FILE fqName:<root> fileName:/kt44814.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS CLASS name:FirModifier modality:SEALED visibility:internal superTypes:[kotlin.Any]
sealedSubclasses:
CLASS CLASS name:FirPsiModifier modality:FINAL visibility:public superTypes:[<root>.FirModifier<<root>.ASTNode>]
CLASS CLASS name:FirLightModifier modality:FINAL visibility:public superTypes:[<root>.FirModifier<<root>.LighterASTNode>]
CLASS CLASS name:FirPsiModifier modality:FINAL visibility:public superTypes:[<root>.FirModifier<<root>.ASTNode>]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.FirModifier<Node of <root>.FirModifier>
TYPE_PARAMETER name:Node index:0 variance: superTypes:[kotlin.Any] reified:false
CONSTRUCTOR visibility:protected <> (node:Node of <root>.FirModifier, token:<root>.KtModifierKeywordToken) returnType:<root>.FirModifier<Node of <root>.FirModifier> [primary]
@@ -511,8 +511,8 @@ FILE fqName:<root> fileName:/kt44814.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS CLASS name:FirModifierList modality:SEALED visibility:internal superTypes:[kotlin.Any]
sealedSubclasses:
CLASS CLASS name:FirPsiModifierList modality:FINAL visibility:public superTypes:[<root>.FirModifierList]
CLASS CLASS name:FirLightModifierList modality:FINAL visibility:public superTypes:[<root>.FirModifierList]
CLASS CLASS name:FirPsiModifierList modality:FINAL visibility:public superTypes:[<root>.FirModifierList]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.FirModifierList
CONSTRUCTOR visibility:protected <> () returnType:<root>.FirModifierList [primary]
BLOCK_BODY
+3 -3
View File
@@ -20,8 +20,8 @@ FILE fqName:<root> fileName:/kt44814.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS CLASS name:FirSourceElement modality:SEALED visibility:public superTypes:[kotlin.Any]
sealedSubclasses:
CLASS CLASS name:FirPsiSourceElement modality:FINAL visibility:public superTypes:[<root>.FirSourceElement]
CLASS CLASS name:FirLightSourceElement modality:FINAL visibility:public superTypes:[<root>.FirSourceElement]
CLASS CLASS name:FirPsiSourceElement modality:FINAL visibility:public superTypes:[<root>.FirSourceElement]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.FirSourceElement
CONSTRUCTOR visibility:protected <> () returnType:<root>.FirSourceElement [primary]
BLOCK_BODY
@@ -372,8 +372,8 @@ FILE fqName:<root> fileName:/kt44814.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS CLASS name:FirModifier modality:SEALED visibility:internal superTypes:[kotlin.Any]
sealedSubclasses:
CLASS CLASS name:FirPsiModifier modality:FINAL visibility:public superTypes:[<root>.FirModifier<<root>.ASTNode>]
CLASS CLASS name:FirLightModifier modality:FINAL visibility:public superTypes:[<root>.FirModifier<<root>.LighterASTNode>]
CLASS CLASS name:FirPsiModifier modality:FINAL visibility:public superTypes:[<root>.FirModifier<<root>.ASTNode>]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.FirModifier<Node of <root>.FirModifier>
TYPE_PARAMETER name:Node index:0 variance: superTypes:[kotlin.Any] reified:false
CONSTRUCTOR visibility:protected <> (node:Node of <root>.FirModifier, token:<root>.KtModifierKeywordToken) returnType:<root>.FirModifier<Node of <root>.FirModifier> [primary]
@@ -511,8 +511,8 @@ FILE fqName:<root> fileName:/kt44814.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS CLASS name:FirModifierList modality:SEALED visibility:internal superTypes:[kotlin.Any]
sealedSubclasses:
CLASS CLASS name:FirPsiModifierList modality:FINAL visibility:public superTypes:[<root>.FirModifierList]
CLASS CLASS name:FirLightModifierList modality:FINAL visibility:public superTypes:[<root>.FirModifierList]
CLASS CLASS name:FirPsiModifierList modality:FINAL visibility:public superTypes:[<root>.FirModifierList]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.FirModifierList
CONSTRUCTOR visibility:protected <> () returnType:<root>.FirModifierList [primary]
BLOCK_BODY
@@ -14,7 +14,7 @@ fun box(): String {
val klass = Base::class
if (!klass.isSealed) return "Error: Base is not sealed"
if (klass.isAbstract) return "Error: Base is not abstract"
return klass.sealedSubclasses
return klass.sealedSubclasses.asReversed()
.joinToString("") { it.simpleName ?: "_No name provided_" }
.takeIf { it.isNotBlank() }
?: "_No sealed subclasses found_"
@@ -14,7 +14,7 @@ fun box(): String {
val klass = Base::class
if (!klass.isSealed) return "Error: Base is not sealed"
if (klass.isAbstract) return "Error: Base is abstract"
return klass.sealedSubclasses
return klass.sealedSubclasses.asReversed()
.joinToString("") { it.simpleName ?: "_No name provided_" }
.takeIf { it.isNotBlank() }
?: "_No sealed subclasses found_"