chore: remove @PrioritizedInitialization.
diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/IrModuleToJsTransformer.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/IrModuleToJsTransformer.kt
index bc557bf..0e2cca4 100644
--- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/IrModuleToJsTransformer.kt
+++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/IrModuleToJsTransformer.kt
@@ -283,8 +283,6 @@
}
}
- result.classesWithPrioritizedInitialization.addAll(staticContext.classesWithPrioritizedInitialization.map { nameGenerator.getNameForClass(it.owner) })
-
staticContext.classModels.entries.forEach { (symbol, model) ->
result.classes[nameGenerator.getNameForClass(symbol.owner)] =
JsIrIcClassModel(model.superClasses.map { staticContext.getNameForClass(it.owner) }).also {
diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/JsClassGenerator.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/JsClassGenerator.kt
index b5cc6d9..89e1f8d 100644
--- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/JsClassGenerator.kt
+++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/JsClassGenerator.kt
@@ -208,12 +208,7 @@
}
}
- if (irClass.hasAnnotation(JsAnnotations.PrioritizedInitialization)) {
- context.staticContext.classesWithPrioritizedInitialization.add(irClass.symbol)
- } else {
- classModel.preDeclarationBlock.statements += generateSetMetadataCall()
- }
-
+ classModel.postDeclarationBlock.statements += generateSetMetadataCall()
context.staticContext.classModels[irClass.symbol] = classModel
return classBlock
diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/JsIrProgramFragment.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/JsIrProgramFragment.kt
index b5b3a43..ec65d90 100644
--- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/JsIrProgramFragment.kt
+++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/JsIrProgramFragment.kt
@@ -20,7 +20,6 @@
val imports = mutableMapOf<String, JsExpression>()
var dts: TypeScriptFragment? = null
val classes = mutableMapOf<JsName, JsIrIcClassModel>()
- val classesWithPrioritizedInitialization = mutableSetOf<JsName>()
val initializers = JsCompositeBlock()
var mainFunction: JsStatement? = null
var testFunInvocation: JsStatement? = null
diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/Merger.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/Merger.kt
index 61a4719..4597479 100644
--- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/Merger.kt
+++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/Merger.kt
@@ -39,11 +39,6 @@
importStatements.putIfAbsent(declaration, JsVars(JsVars.JsVar(importName, rename(importExpression))))
}
- val classesWithPrioritizedInitialization = (mutableSetOf<JsName>() + f.classesWithPrioritizedInitialization)
- .also { f.classesWithPrioritizedInitialization.clear() }
-
- classesWithPrioritizedInitialization.forEach { f.classesWithPrioritizedInitialization.add(rename(it)) }
-
val classModels = (mutableMapOf<JsName, JsIrIcClassModel>() + f.classes)
.also { f.classes.clear() }
@@ -217,12 +212,6 @@
classModels += it.classes
initializerBlock.statements += it.initializers.statements
polyfillDeclarationBlock.statements += it.polyfills.statements
-
- for (name in it.classesWithPrioritizedInitialization) {
- val model = classModels.remove(name) ?: continue
- preDeclarationBlock.statements += model.preDeclarationBlock
- postDeclarationBlock.statements += model.postDeclarationBlock
- }
}
// sort member forwarding code
diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/AnnotationUtils.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/AnnotationUtils.kt
index 6aab5fb..a6ae036 100644
--- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/AnnotationUtils.kt
+++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/AnnotationUtils.kt
@@ -30,7 +30,6 @@
val jsNativeInvoke = FqName("kotlin.js.nativeInvoke")
val jsFunFqn = FqName("kotlin.js.JsFun")
val JsPolyfillFqn = FqName("kotlin.js.JsPolyfill")
- val PrioritizedInitialization = FqName("kotlin.js.PrioritizedInitialization")
}
@Suppress("UNCHECKED_CAST")
diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/JsStaticContext.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/JsStaticContext.kt
index 6d73315..49a16f9 100644
--- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/JsStaticContext.kt
+++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/JsStaticContext.kt
@@ -20,7 +20,6 @@
) : IrNamer by irNamer {
val intrinsics = JsIntrinsicTransformers(backendContext)
val classModels = mutableMapOf<IrClassSymbol, JsIrClassModel>()
- val classesWithPrioritizedInitialization = mutableSetOf<IrClassSymbol>()
val initializerBlock = JsCompositeBlock()
}
diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/serialization/JsIrAstDeserializer.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/serialization/JsIrAstDeserializer.kt
index 0246b72..cc9c57a 100644
--- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/serialization/JsIrAstDeserializer.kt
+++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/serialization/JsIrAstDeserializer.kt
@@ -72,8 +72,6 @@
proto.irClassModelList.associateTo(fragment.classes) { clsProto -> deserialize(clsProto) }
- proto.classesWithPrioritizedInitializationList.mapTo(fragment.classesWithPrioritizedInitialization) { deserializeName(it) }
-
if (proto.hasTestsInvocation()) {
fragment.testFunInvocation = deserialize(proto.testsInvocation)
diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/serialization/JsIrAstSerializer.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/serialization/JsIrAstSerializer.kt
index 58807ba..f9086f4 100644
--- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/serialization/JsIrAstSerializer.kt
+++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/serialization/JsIrAstSerializer.kt
@@ -74,10 +74,6 @@
fragment.classes.entries.forEach { (name, model) -> fragmentBuilder.addIrClassModel(serialize(name, model)) }
- fragment.classesWithPrioritizedInitialization.forEach {
- fragmentBuilder.addClassesWithPrioritizedInitialization(serialize(it))
- }
-
fragment.testFunInvocation?.let {
fragmentBuilder.setTestsInvocation(serialize(it))
}
diff --git a/js/js.serializer/src/js-ast.proto b/js/js.serializer/src/js-ast.proto
index 830a19f..5124cd1 100644
--- a/js/js.serializer/src/js-ast.proto
+++ b/js/js.serializer/src/js-ast.proto
@@ -439,7 +439,6 @@
repeated int32 definitions = 17;
optional CompositeBlock polyfills = 18;
repeated int32 optionalCrossModuleImports = 19;
- repeated int32 classes_with_prioritized_initialization = 20;
}
message InlinedLocalDeclarations {
diff --git a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/ast/JsAstProtoBuf.java b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/ast/JsAstProtoBuf.java
index 1631138..dd3c24b 100644
--- a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/ast/JsAstProtoBuf.java
+++ b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/ast/JsAstProtoBuf.java
@@ -34613,19 +34613,6 @@
* <code>repeated int32 optionalCrossModuleImports = 19;</code>
*/
int getOptionalCrossModuleImports(int index);
-
- /**
- * <code>repeated int32 classes_with_prioritized_initialization = 20;</code>
- */
- java.util.List<java.lang.Integer> getClassesWithPrioritizedInitializationList();
- /**
- * <code>repeated int32 classes_with_prioritized_initialization = 20;</code>
- */
- int getClassesWithPrioritizedInitializationCount();
- /**
- * <code>repeated int32 classes_with_prioritized_initialization = 20;</code>
- */
- int getClassesWithPrioritizedInitialization(int index);
}
/**
* Protobuf type {@code org.jetbrains.kotlin.serialization.js.ast.Fragment}
@@ -34878,27 +34865,6 @@
input.popLimit(limit);
break;
}
- case 160: {
- if (!((mutable_bitField0_ & 0x00080000) == 0x00080000)) {
- classesWithPrioritizedInitialization_ = new java.util.ArrayList<java.lang.Integer>();
- mutable_bitField0_ |= 0x00080000;
- }
- classesWithPrioritizedInitialization_.add(input.readInt32());
- break;
- }
- case 162: {
- int length = input.readRawVarint32();
- int limit = input.pushLimit(length);
- if (!((mutable_bitField0_ & 0x00080000) == 0x00080000) && input.getBytesUntilLimit() > 0) {
- classesWithPrioritizedInitialization_ = new java.util.ArrayList<java.lang.Integer>();
- mutable_bitField0_ |= 0x00080000;
- }
- while (input.getBytesUntilLimit() > 0) {
- classesWithPrioritizedInitialization_.add(input.readInt32());
- }
- input.popLimit(limit);
- break;
- }
}
}
} catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
@@ -34937,9 +34903,6 @@
if (((mutable_bitField0_ & 0x00040000) == 0x00040000)) {
optionalCrossModuleImports_ = java.util.Collections.unmodifiableList(optionalCrossModuleImports_);
}
- if (((mutable_bitField0_ & 0x00080000) == 0x00080000)) {
- classesWithPrioritizedInitialization_ = java.util.Collections.unmodifiableList(classesWithPrioritizedInitialization_);
- }
try {
unknownFieldsCodedOutput.flush();
} catch (java.io.IOException e) {
@@ -35479,28 +35442,6 @@
return optionalCrossModuleImports_.get(index);
}
- public static final int CLASSES_WITH_PRIORITIZED_INITIALIZATION_FIELD_NUMBER = 20;
- private java.util.List<java.lang.Integer> classesWithPrioritizedInitialization_;
- /**
- * <code>repeated int32 classes_with_prioritized_initialization = 20;</code>
- */
- public java.util.List<java.lang.Integer>
- getClassesWithPrioritizedInitializationList() {
- return classesWithPrioritizedInitialization_;
- }
- /**
- * <code>repeated int32 classes_with_prioritized_initialization = 20;</code>
- */
- public int getClassesWithPrioritizedInitializationCount() {
- return classesWithPrioritizedInitialization_.size();
- }
- /**
- * <code>repeated int32 classes_with_prioritized_initialization = 20;</code>
- */
- public int getClassesWithPrioritizedInitialization(int index) {
- return classesWithPrioritizedInitialization_.get(index);
- }
-
private void initFields() {
importedModule_ = java.util.Collections.emptyList();
importEntry_ = java.util.Collections.emptyList();
@@ -35521,7 +35462,6 @@
definitions_ = java.util.Collections.emptyList();
polyfills_ = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.CompositeBlock.getDefaultInstance();
optionalCrossModuleImports_ = java.util.Collections.emptyList();
- classesWithPrioritizedInitialization_ = java.util.Collections.emptyList();
}
private byte memoizedIsInitialized = -1;
public final boolean isInitialized() {
@@ -35677,9 +35617,6 @@
for (int i = 0; i < optionalCrossModuleImports_.size(); i++) {
output.writeInt32(19, optionalCrossModuleImports_.get(i));
}
- for (int i = 0; i < classesWithPrioritizedInitialization_.size(); i++) {
- output.writeInt32(20, classesWithPrioritizedInitialization_.get(i));
- }
output.writeRawBytes(unknownFields);
}
@@ -35775,15 +35712,6 @@
size += dataSize;
size += 2 * getOptionalCrossModuleImportsList().size();
}
- {
- int dataSize = 0;
- for (int i = 0; i < classesWithPrioritizedInitialization_.size(); i++) {
- dataSize += org.jetbrains.kotlin.protobuf.CodedOutputStream
- .computeInt32SizeNoTag(classesWithPrioritizedInitialization_.get(i));
- }
- size += dataSize;
- size += 2 * getClassesWithPrioritizedInitializationList().size();
- }
size += unknownFields.size();
memoizedSerializedSize = size;
return size;
@@ -35916,8 +35844,6 @@
bitField0_ = (bitField0_ & ~0x00020000);
optionalCrossModuleImports_ = java.util.Collections.emptyList();
bitField0_ = (bitField0_ & ~0x00040000);
- classesWithPrioritizedInitialization_ = java.util.Collections.emptyList();
- bitField0_ = (bitField0_ & ~0x00080000);
return this;
}
@@ -36027,11 +35953,6 @@
bitField0_ = (bitField0_ & ~0x00040000);
}
result.optionalCrossModuleImports_ = optionalCrossModuleImports_;
- if (((bitField0_ & 0x00080000) == 0x00080000)) {
- classesWithPrioritizedInitialization_ = java.util.Collections.unmodifiableList(classesWithPrioritizedInitialization_);
- bitField0_ = (bitField0_ & ~0x00080000);
- }
- result.classesWithPrioritizedInitialization_ = classesWithPrioritizedInitialization_;
result.bitField0_ = to_bitField0_;
return result;
}
@@ -36169,16 +36090,6 @@
}
}
- if (!other.classesWithPrioritizedInitialization_.isEmpty()) {
- if (classesWithPrioritizedInitialization_.isEmpty()) {
- classesWithPrioritizedInitialization_ = other.classesWithPrioritizedInitialization_;
- bitField0_ = (bitField0_ & ~0x00080000);
- } else {
- ensureClassesWithPrioritizedInitializationIsMutable();
- classesWithPrioritizedInitialization_.addAll(other.classesWithPrioritizedInitialization_);
- }
-
- }
setUnknownFields(
getUnknownFields().concat(other.unknownFields));
return this;
@@ -37967,72 +37878,6 @@
return this;
}
- private java.util.List<java.lang.Integer> classesWithPrioritizedInitialization_ = java.util.Collections.emptyList();
- private void ensureClassesWithPrioritizedInitializationIsMutable() {
- if (!((bitField0_ & 0x00080000) == 0x00080000)) {
- classesWithPrioritizedInitialization_ = new java.util.ArrayList<java.lang.Integer>(classesWithPrioritizedInitialization_);
- bitField0_ |= 0x00080000;
- }
- }
- /**
- * <code>repeated int32 classes_with_prioritized_initialization = 20;</code>
- */
- public java.util.List<java.lang.Integer>
- getClassesWithPrioritizedInitializationList() {
- return java.util.Collections.unmodifiableList(classesWithPrioritizedInitialization_);
- }
- /**
- * <code>repeated int32 classes_with_prioritized_initialization = 20;</code>
- */
- public int getClassesWithPrioritizedInitializationCount() {
- return classesWithPrioritizedInitialization_.size();
- }
- /**
- * <code>repeated int32 classes_with_prioritized_initialization = 20;</code>
- */
- public int getClassesWithPrioritizedInitialization(int index) {
- return classesWithPrioritizedInitialization_.get(index);
- }
- /**
- * <code>repeated int32 classes_with_prioritized_initialization = 20;</code>
- */
- public Builder setClassesWithPrioritizedInitialization(
- int index, int value) {
- ensureClassesWithPrioritizedInitializationIsMutable();
- classesWithPrioritizedInitialization_.set(index, value);
-
- return this;
- }
- /**
- * <code>repeated int32 classes_with_prioritized_initialization = 20;</code>
- */
- public Builder addClassesWithPrioritizedInitialization(int value) {
- ensureClassesWithPrioritizedInitializationIsMutable();
- classesWithPrioritizedInitialization_.add(value);
-
- return this;
- }
- /**
- * <code>repeated int32 classes_with_prioritized_initialization = 20;</code>
- */
- public Builder addAllClassesWithPrioritizedInitialization(
- java.lang.Iterable<? extends java.lang.Integer> values) {
- ensureClassesWithPrioritizedInitializationIsMutable();
- org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
- values, classesWithPrioritizedInitialization_);
-
- return this;
- }
- /**
- * <code>repeated int32 classes_with_prioritized_initialization = 20;</code>
- */
- public Builder clearClassesWithPrioritizedInitialization() {
- classesWithPrioritizedInitialization_ = java.util.Collections.emptyList();
- bitField0_ = (bitField0_ & ~0x00080000);
-
- return this;
- }
-
// @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.js.ast.Fragment)
}
diff --git a/libraries/stdlib/js-ir/runtime/BitMask.kt b/libraries/stdlib/js-ir/runtime/BitMask.kt
index d371042..43faba1 100644
--- a/libraries/stdlib/js-ir/runtime/BitMask.kt
+++ b/libraries/stdlib/js-ir/runtime/BitMask.kt
@@ -45,7 +45,6 @@
return result
}
-@PrioritizedInitialization
internal class BitMask(activeBits: Array<Int>) {
var intArray: IntArray = run {
if (activeBits.size == 0) {
diff --git a/libraries/stdlib/js-ir/runtime/kotlinJsHacks.kt b/libraries/stdlib/js-ir/runtime/kotlinJsHacks.kt
index 754ed8b..b9b02b7 100644
--- a/libraries/stdlib/js-ir/runtime/kotlinJsHacks.kt
+++ b/libraries/stdlib/js-ir/runtime/kotlinJsHacks.kt
@@ -51,6 +51,3 @@
*/
@Target(AnnotationTarget.CLASS)
internal annotation class JsImplicitExport
-
-@Target(AnnotationTarget.CLASS)
-internal annotation class PrioritizedInitialization
diff --git a/libraries/stdlib/js-ir/runtime/typeCheckUtils.kt b/libraries/stdlib/js-ir/runtime/typeCheckUtils.kt
index 15fcea7..7870947 100644
--- a/libraries/stdlib/js-ir/runtime/typeCheckUtils.kt
+++ b/libraries/stdlib/js-ir/runtime/typeCheckUtils.kt
@@ -34,7 +34,6 @@
// There was a problem with per-module compilation (KT-55758) when the top-level state (iid) was reinitialized during stdlib module initialization
// As a result we miss already incremented iid and had the same iids in two different modules
// So, to keep the state consistent it was moved into the object
-@PrioritizedInitialization
private object InterfaceIdService {
var iid: Int = 0
}