diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/serialization/JvmSerializationBindings.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/serialization/JvmSerializationBindings.java index 1e835eda51f..3eb4c9ba1be 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/serialization/JvmSerializationBindings.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/serialization/JvmSerializationBindings.java @@ -36,7 +36,7 @@ public final class JvmSerializationBindings { public static final SerializationMappingSlice SYNTHETIC_METHOD_FOR_PROPERTY = SerializationMappingSlice.create(); - static final class SerializationMappingSlice extends BasicWritableSlice { + public static final class SerializationMappingSlice extends BasicWritableSlice { public SerializationMappingSlice() { super(Slices.ONLY_REWRITE_TO_EQUAL, false); } diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt index e344389dc21..2c699a01710 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt @@ -631,6 +631,9 @@ class LocalDeclarationsLowering( newDeclaration.valueParameters += createTransformedValueParameters(capturedValues, oldDeclaration, newDeclaration) newDeclaration.recordTransformedValueParameters(constructorContext) + + newDeclaration.metadata = oldDeclaration.metadata + transformedDeclarations[oldDeclaration] = newDeclaration } diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ClassCodegen.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ClassCodegen.kt index e481f551598..06379292ebd 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ClassCodegen.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ClassCodegen.kt @@ -22,10 +22,14 @@ import org.jetbrains.kotlin.codegen.* import org.jetbrains.kotlin.codegen.binding.CodegenBinding import org.jetbrains.kotlin.codegen.inline.DefaultSourceMapper import org.jetbrains.kotlin.codegen.inline.SourceMapper +import org.jetbrains.kotlin.codegen.serialization.JvmSerializationBindings +import org.jetbrains.kotlin.codegen.serialization.JvmSerializerExtension import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.util.dump +import org.jetbrains.kotlin.ir.util.getPackageFragment import org.jetbrains.kotlin.load.java.JavaVisibilities +import org.jetbrains.kotlin.load.kotlin.header.KotlinClassHeader import org.jetbrains.kotlin.name.SpecialNames import org.jetbrains.kotlin.psi.KtElement import org.jetbrains.kotlin.resolve.DescriptorUtils @@ -33,11 +37,11 @@ import org.jetbrains.kotlin.resolve.DescriptorUtils.isTopLevelDeclaration import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOrigin import org.jetbrains.kotlin.resolve.jvm.diagnostics.OtherOrigin import org.jetbrains.kotlin.resolve.source.getPsi +import org.jetbrains.kotlin.serialization.DescriptorSerializer import org.jetbrains.kotlin.types.ErrorUtils import org.jetbrains.org.objectweb.asm.Opcodes import org.jetbrains.org.objectweb.asm.Type import java.io.File -import java.lang.RuntimeException open class ClassCodegen protected constructor( internal val irClass: IrClass, @@ -76,6 +80,14 @@ open class ClassCodegen protected constructor( private var sourceMapper: DefaultSourceMapper? = null + private val serializerExtension = JvmSerializerExtension(visitor.serializationBindings, state) + private val serializer: DescriptorSerializer? = + when (val metadata = irClass.metadata) { + is MetadataSource.Class -> DescriptorSerializer.create(metadata.descriptor, serializerExtension, parentClassCodegen?.serializer) + is MetadataSource.File -> DescriptorSerializer.createTopLevel(serializerExtension) + else -> null + } + fun generate() { val superClassInfo = SuperClassInfo.getSuperClassInfo(descriptor, typeMapper) val signature = ImplementationBodyCodegen.signature(descriptor, type, superClassInfo, typeMapper) @@ -98,9 +110,36 @@ open class ClassCodegen protected constructor( generateDeclaration(it) } + generateKotlinMetadataAnnotation() + done() } + private fun generateKotlinMetadataAnnotation() { + when (val metadata = irClass.metadata) { + is MetadataSource.Class -> { + val classProto = serializer!!.classProto(metadata.descriptor).build() + writeKotlinMetadata(visitor, state, KotlinClassHeader.Kind.CLASS, 0) { + AsmUtil.writeAnnotationData(it, serializer, classProto) + } + } + is MetadataSource.File -> { + val packageFqName = irClass.getPackageFragment()!!.fqName + val packageProto = serializer!!.packagePartProto(packageFqName, metadata.descriptors) + + serializerExtension.serializeJvmPackage(packageProto, type) + + writeKotlinMetadata(visitor, state, KotlinClassHeader.Kind.FILE_FACADE, 0) { + AsmUtil.writeAnnotationData(it, serializer, packageProto.build()) + // TODO: JvmPackageName + } + } + else -> { + writeSyntheticClassMetadata(visitor, state) + } + } + } + private fun done() { writeInnerClasses() @@ -158,23 +197,34 @@ open class ClassCodegen protected constructor( private fun generateField(field: IrField) { if (field.origin == IrDeclarationOrigin.FAKE_OVERRIDE) return + val fieldType = typeMapper.mapType(field.descriptor) val fieldSignature = typeMapper.mapFieldSignature(field.descriptor.type, field.descriptor) + val fieldName = field.descriptor.name.asString() val fv = visitor.newField( - field.OtherOrigin, field.descriptor.calculateCommonFlags(), field.descriptor.name.asString(), fieldType.descriptor, + field.OtherOrigin, field.descriptor.calculateCommonFlags(), fieldName, fieldType.descriptor, fieldSignature, null/*TODO support default values*/ ) if (field.origin == IrDeclarationOrigin.FIELD_FOR_ENUM_ENTRY) { AnnotationCodegen.forField(fv, this, state).genAnnotations(field.descriptor, null) - } else { + } + val descriptor = field.metadata?.descriptor + if (descriptor != null) { + visitor.serializationBindings.put(JvmSerializationBindings.FIELD_FOR_PROPERTY, descriptor, fieldType to fieldName) } } private fun generateMethod(method: IrFunction) { if (method.origin == IrDeclarationOrigin.FAKE_OVERRIDE) return - FunctionCodegen(method, this).generate() + + val signature = FunctionCodegen(method, this).generate() + + val descriptor = method.metadata?.descriptor + if (descriptor != null) { + visitor.serializationBindings.put(JvmSerializationBindings.METHOD_FOR_FUNCTION, descriptor, signature.asmMethod) + } } private fun writeInnerClasses() { diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/FunctionCodegen.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/FunctionCodegen.kt index bd4ca54e47e..0dfcae605f4 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/FunctionCodegen.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/FunctionCodegen.kt @@ -32,15 +32,14 @@ open class FunctionCodegen(private val irFunction: IrFunction, private val class val descriptor = irFunction.descriptor - fun generate() { + fun generate(): JvmMethodGenericSignature = try { doGenerate() } catch (e: Throwable) { throw RuntimeException("${e.message} while generating code for:\n${irFunction.dump()}", e) } - } - private fun doGenerate() { + private fun doGenerate(): JvmMethodGenericSignature { val signature = classCodegen.typeMapper.mapSignatureWithGeneric(descriptor, OwnerKind.IMPLEMENTATION) val flags = calculateMethodFlags(irFunction.isStatic) @@ -54,11 +53,12 @@ open class FunctionCodegen(private val irFunction: IrFunction, private val class if (!state.classBuilderMode.generateBodies || flags.and(Opcodes.ACC_ABSTRACT) != 0 || irFunction.isExternal) { generateAnnotationDefaultValueIfNeeded(methodVisitor) methodVisitor.visitEnd() - return + } else { + val frameMap = createFrameMapWithReceivers(classCodegen.state, irFunction, signature) + ExpressionCodegen(irFunction, frameMap, InstructionAdapter(methodVisitor), classCodegen).generate() } - val frameMap = createFrameMapWithReceivers(classCodegen.state, irFunction, signature) - ExpressionCodegen(irFunction, frameMap, InstructionAdapter(methodVisitor), classCodegen).generate() + return signature } private fun calculateMethodFlags(isStatic: Boolean): Int { diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/IrSourceCompilerForInline.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/IrSourceCompilerForInline.kt index f6fa2c74de2..fcecebf418d 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/IrSourceCompilerForInline.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/IrSourceCompilerForInline.kt @@ -200,7 +200,7 @@ class IrSourceCompilerForInline( } override fun getSerializationBindings(): JvmSerializationBindings { - TODO("not implemented") + return JvmSerializationBindings() } override fun newAnnotation(desc: String, visible: Boolean): AnnotationVisitor { diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/descriptors/JvmDeclarationFactory.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/descriptors/JvmDeclarationFactory.kt index 34d97280c02..ad4cfc95937 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/descriptors/JvmDeclarationFactory.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/descriptors/JvmDeclarationFactory.kt @@ -137,6 +137,8 @@ class JvmDeclarationFactory( } } } + + constructor.metadata = oldConstructor.metadata } } diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/EnumClassLowering.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/EnumClassLowering.kt index 09c0e7a792d..32553ed9cad 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/EnumClassLowering.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/EnumClassLowering.kt @@ -139,6 +139,7 @@ private class EnumClassLowering(val context: JvmBackendContext) : ClassLoweringP constructorDescriptor.valueParameters.forEach { loweredEnumConstructorParameters[it] = valueParameters[2 + it.index] } + metadata = enumConstructor.metadata } } diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/FileClassLowering.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/FileClassLowering.kt index d9096d8e379..3ca40fa08db 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/FileClassLowering.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/FileClassLowering.kt @@ -90,6 +90,7 @@ private class FileClassLowering(val context: JvmBackendContext) : FileLoweringPa createImplicitParameterDeclarationWithWrappedDescriptor() // TODO: figure out why reparenting leads to failing tests. // fileClassMembers.forEach { it.parent = this } + metadata = irFile.metadata val partClassType = AsmUtil.asmTypeByFqNameWithoutInnerClasses(fileClassInfo.fileClassFqName) val facadeClassType = diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/MoveCompanionObjectFieldsLowering.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/MoveCompanionObjectFieldsLowering.kt index d9dbd288e9d..30d75c8facd 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/MoveCompanionObjectFieldsLowering.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/MoveCompanionObjectFieldsLowering.kt @@ -19,7 +19,9 @@ import org.jetbrains.kotlin.ir.declarations.impl.IrAnonymousInitializerImpl import org.jetbrains.kotlin.ir.declarations.impl.IrFieldImpl import org.jetbrains.kotlin.ir.declarations.impl.IrVariableImpl import org.jetbrains.kotlin.ir.expressions.* -import org.jetbrains.kotlin.ir.expressions.impl.* +import org.jetbrains.kotlin.ir.expressions.impl.IrGetFieldImpl +import org.jetbrains.kotlin.ir.expressions.impl.IrGetValueImpl +import org.jetbrains.kotlin.ir.expressions.impl.IrSetFieldImpl import org.jetbrains.kotlin.ir.symbols.IrFieldSymbol import org.jetbrains.kotlin.ir.symbols.impl.IrAnonymousInitializerSymbolImpl import org.jetbrains.kotlin.ir.symbols.impl.IrFieldSymbolImpl @@ -181,6 +183,7 @@ private class MoveCompanionObjectFieldsLowering(val context: CommonBackendContex descriptor.bind(this) parent = fieldParent annotations.addAll(oldField.annotations) + metadata = oldField.metadata } val oldInitializer = oldField.initializer if (oldInitializer != null) { diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/RenameFieldsLowering.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/RenameFieldsLowering.kt index 7f87b9ad6cd..35387ec8def 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/RenameFieldsLowering.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/RenameFieldsLowering.kt @@ -98,6 +98,7 @@ private class FieldRenamer(private val newNames: Map) : IrElement descriptor.bind(it) it.parent = declaration.parent it.initializer = declaration.initializer?.transform(this, null) + it.metadata = declaration.metadata newSymbols[declaration] = symbol } diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ModuleGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ModuleGenerator.kt index 8f24e7474bb..841ef769dd1 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ModuleGenerator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ModuleGenerator.kt @@ -16,13 +16,15 @@ package org.jetbrains.kotlin.psi2ir.generators +import org.jetbrains.kotlin.backend.common.CodegenUtil import org.jetbrains.kotlin.ir.declarations.IrFile import org.jetbrains.kotlin.ir.declarations.IrModuleFragment +import org.jetbrains.kotlin.ir.declarations.MetadataSource import org.jetbrains.kotlin.ir.declarations.impl.IrFileImpl import org.jetbrains.kotlin.ir.declarations.impl.IrModuleFragmentImpl import org.jetbrains.kotlin.ir.util.ExternalDependenciesGenerator -import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.ir.util.IrDeserializer +import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.lazy.descriptors.findPackageFragmentForFile @@ -73,7 +75,9 @@ class ModuleGenerator(override val context: GeneratorContext) : Generator { private fun createEmptyIrFile(ktFile: KtFile): IrFileImpl { val fileEntry = context.sourceManager.getOrCreateFileEntry(ktFile) val packageFragmentDescriptor = context.moduleDescriptor.findPackageFragmentForFile(ktFile)!! - val irFile = IrFileImpl(fileEntry, packageFragmentDescriptor) + val irFile = IrFileImpl(fileEntry, packageFragmentDescriptor).apply { + metadata = MetadataSource.File(CodegenUtil.getMemberDescriptorsToGenerate(ktFile, context.bindingContext)) + } context.sourceManager.putFileEntry(irFile, fileEntry) return irFile } diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrDeclaration.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrDeclaration.kt index 6e76883307b..185fb47e465 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrDeclaration.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrDeclaration.kt @@ -28,7 +28,11 @@ interface IrSymbolOwner : IrElement { val symbol: IrSymbol } -interface IrDeclaration : IrStatement, IrAnnotationContainer { +interface IrMetadataSourceOwner : IrElement { + val metadata: MetadataSource? +} + +interface IrDeclaration : IrStatement, IrAnnotationContainer, IrMetadataSourceOwner { val descriptor: DeclarationDescriptor var origin: IrDeclarationOrigin diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrField.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrField.kt index 0fdfe1efc6d..5c1ba025c40 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrField.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrField.kt @@ -11,7 +11,7 @@ import org.jetbrains.kotlin.ir.symbols.IrFieldSymbol import org.jetbrains.kotlin.ir.types.IrType interface IrField : IrSymbolDeclaration, IrOverridableDeclaration, - IrDeclarationWithName, IrDeclarationWithVisibility, IrDeclarationParent { + IrDeclarationWithName, IrDeclarationWithVisibility, IrDeclarationParent { override val descriptor: PropertyDescriptor val type: IrType @@ -21,4 +21,6 @@ interface IrField : IrSymbolDeclaration, IrOverridableDeclaration var initializer: IrExpressionBody? var correspondingProperty: IrProperty? + + override val metadata: MetadataSource.Property? } diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFile.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFile.kt index 83ef8e28248..6df5d3aa37b 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFile.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFile.kt @@ -38,12 +38,14 @@ interface IrExternalPackageFragment : IrPackageFragment { override val symbol: IrExternalPackageFragmentSymbol } -interface IrFile : IrPackageFragment, IrAnnotationContainer { +interface IrFile : IrPackageFragment, IrAnnotationContainer, IrMetadataSourceOwner { override val symbol: IrFileSymbol val fileEntry: SourceManager.FileEntry val fileAnnotations: MutableList + override val metadata: MetadataSource.File? + override fun transform(transformer: IrElementTransformer, data: D): IrFile = accept(transformer, data) as IrFile } diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFunction.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFunction.kt index 3547a2b57a5..6d656101d07 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFunction.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFunction.kt @@ -38,6 +38,8 @@ interface IrFunction : val valueParameters: MutableList var body: IrBody? + + override val metadata: MetadataSource.Function? } diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/MetadataSource.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/MetadataSource.kt new file mode 100644 index 00000000000..4cac493738b --- /dev/null +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/MetadataSource.kt @@ -0,0 +1,21 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.ir.declarations + +import org.jetbrains.kotlin.descriptors.ClassDescriptor +import org.jetbrains.kotlin.descriptors.DeclarationDescriptor +import org.jetbrains.kotlin.descriptors.FunctionDescriptor +import org.jetbrains.kotlin.descriptors.PropertyDescriptor + +interface MetadataSource { + class Class(val descriptor: ClassDescriptor) : MetadataSource + + class File(val descriptors: List) : MetadataSource + + class Function(val descriptor: FunctionDescriptor) : MetadataSource + + class Property(val descriptor: PropertyDescriptor) : MetadataSource +} diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrClassImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrClassImpl.kt index 1c326c29a45..8a24521b175 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrClassImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrClassImpl.kt @@ -102,6 +102,8 @@ class IrClassImpl( override val superTypes: MutableList = SmartList() + override var metadata: MetadataSource? = null + override fun accept(visitor: IrElementVisitor, data: D): R = visitor.visitClass(this, data) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrDeclarationBase.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrDeclarationBase.kt index ddab927e41e..c2809da09c2 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrDeclarationBase.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrDeclarationBase.kt @@ -20,6 +20,7 @@ import org.jetbrains.kotlin.ir.IrElementBase import org.jetbrains.kotlin.ir.declarations.IrDeclaration import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin import org.jetbrains.kotlin.ir.declarations.IrDeclarationParent +import org.jetbrains.kotlin.ir.declarations.MetadataSource import org.jetbrains.kotlin.ir.expressions.IrCall abstract class IrDeclarationBase( @@ -32,4 +33,7 @@ abstract class IrDeclarationBase( override lateinit var parent: IrDeclarationParent override val annotations: MutableList = ArrayList() -} \ No newline at end of file + + override val metadata: MetadataSource? + get() = null +} diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFieldImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFieldImpl.kt index f7c5220293d..746dcb80beb 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFieldImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFieldImpl.kt @@ -21,6 +21,7 @@ import org.jetbrains.kotlin.descriptors.Visibility import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin import org.jetbrains.kotlin.ir.declarations.IrField import org.jetbrains.kotlin.ir.declarations.IrProperty +import org.jetbrains.kotlin.ir.declarations.MetadataSource import org.jetbrains.kotlin.ir.expressions.IrExpressionBody import org.jetbrains.kotlin.ir.symbols.IrFieldSymbol import org.jetbrains.kotlin.ir.symbols.impl.IrFieldSymbolImpl @@ -90,6 +91,8 @@ class IrFieldImpl( override var correspondingProperty: IrProperty? = null override val overriddenSymbols: MutableList = mutableListOf() + override var metadata: MetadataSource.Property? = null + override fun accept(visitor: IrElementVisitor, data: D): R { return visitor.visitField(this, data) } @@ -101,4 +104,4 @@ class IrFieldImpl( override fun transformChildren(transformer: IrElementTransformer, data: D) { initializer = initializer?.transform(transformer, data) } -} \ No newline at end of file +} diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFileImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFileImpl.kt index 7f1bbb749d7..d018c25accd 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFileImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFileImpl.kt @@ -22,6 +22,7 @@ import org.jetbrains.kotlin.ir.IrElementBase import org.jetbrains.kotlin.ir.SourceManager import org.jetbrains.kotlin.ir.declarations.IrDeclaration import org.jetbrains.kotlin.ir.declarations.IrFile +import org.jetbrains.kotlin.ir.declarations.MetadataSource import org.jetbrains.kotlin.ir.expressions.IrCall import org.jetbrains.kotlin.ir.symbols.IrFileSymbol import org.jetbrains.kotlin.ir.symbols.impl.IrFileSymbolImpl @@ -72,6 +73,8 @@ class IrFileImpl( override val annotations: MutableList = ArrayList() + override var metadata: MetadataSource.File? = null + override fun accept(visitor: IrElementVisitor, data: D): R = visitor.visitFile(this, data) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionBase.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionBase.kt index 93404f42ca4..87efe702038 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionBase.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionBase.kt @@ -17,10 +17,7 @@ package org.jetbrains.kotlin.ir.declarations.impl import org.jetbrains.kotlin.descriptors.Visibility -import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin -import org.jetbrains.kotlin.ir.declarations.IrFunction -import org.jetbrains.kotlin.ir.declarations.IrTypeParameter -import org.jetbrains.kotlin.ir.declarations.IrValueParameter +import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.expressions.IrBody import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.types.impl.IrUninitializedType @@ -58,6 +55,8 @@ abstract class IrFunctionBase( final override var body: IrBody? = null + override var metadata: MetadataSource.Function? = null + override fun acceptChildren(visitor: IrElementVisitor, data: D) { typeParameters.forEach { it.accept(visitor, data) } @@ -77,4 +76,4 @@ abstract class IrFunctionBase( body = body?.transform(transformer, data) } -} \ No newline at end of file +} diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyDeclarationBase.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyDeclarationBase.kt index 01bcbb6b68a..eba78eec437 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyDeclarationBase.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyDeclarationBase.kt @@ -8,17 +8,13 @@ package org.jetbrains.kotlin.ir.declarations.lazy import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.ir.IrElementBase import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET -import org.jetbrains.kotlin.ir.declarations.IrDeclaration -import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin -import org.jetbrains.kotlin.ir.declarations.IrDeclarationParent -import org.jetbrains.kotlin.ir.declarations.IrValueParameter +import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.declarations.impl.IrValueParameterImpl import org.jetbrains.kotlin.ir.expressions.IrCall import org.jetbrains.kotlin.ir.util.DeclarationStubGenerator import org.jetbrains.kotlin.ir.util.TypeTranslator import org.jetbrains.kotlin.resolve.scopes.MemberScope import org.jetbrains.kotlin.types.KotlinType -import kotlin.reflect.KProperty abstract class IrLazyDeclarationBase( startOffset: Int, @@ -53,6 +49,10 @@ abstract class IrLazyDeclarationBase( override val annotations: MutableList = arrayListOf() + override var metadata: Nothing? + get() = null + set(_) = error("We should never need to store metadata of external declarations.") + private fun createLazyParent(): IrDeclarationParent? { val currentDescriptor = descriptor @@ -67,4 +67,4 @@ abstract class IrLazyDeclarationBase( else -> throw AssertionError("Package or class expected: $containingDeclaration; for $currentDescriptor") } } -} \ No newline at end of file +} diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt index f3532b16bf1..689731a7624 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt @@ -233,7 +233,9 @@ open class SymbolTable : ReferenceSymbolTable { fun declareClass( startOffset: Int, endOffset: Int, origin: IrDeclarationOrigin, descriptor: ClassDescriptor, modality: Modality = descriptor.modality, - classFactory: (IrClassSymbol) -> IrClass = { IrClassImpl(startOffset, endOffset, origin, it, modality) } + classFactory: (IrClassSymbol) -> IrClass = { + IrClassImpl(startOffset, endOffset, origin, it, modality).apply { metadata = MetadataSource.Class(it.descriptor) } + } ): IrClass { return classSymbolTable.declare( descriptor, @@ -252,7 +254,11 @@ open class SymbolTable : ReferenceSymbolTable { endOffset: Int, origin: IrDeclarationOrigin, descriptor: ClassConstructorDescriptor, - constructorFactory: (IrConstructorSymbol) -> IrConstructor = { IrConstructorImpl(startOffset, endOffset, origin, it, IrUninitializedType) } + constructorFactory: (IrConstructorSymbol) -> IrConstructor = { + IrConstructorImpl(startOffset, endOffset, origin, it, IrUninitializedType).apply { + metadata = MetadataSource.Function(it.descriptor) + } + } ): IrConstructor = constructorSymbolTable.declare( descriptor, @@ -286,7 +292,11 @@ open class SymbolTable : ReferenceSymbolTable { origin: IrDeclarationOrigin, descriptor: PropertyDescriptor, type: IrType, - fieldFactory: (IrFieldSymbol) -> IrField = { IrFieldImpl(startOffset, endOffset, origin, it, type) } + fieldFactory: (IrFieldSymbol) -> IrField = { + IrFieldImpl(startOffset, endOffset, origin, it, type).apply { + metadata = MetadataSource.Property(it.descriptor) + } + } ): IrField = fieldSymbolTable.declare( descriptor, @@ -320,7 +330,11 @@ open class SymbolTable : ReferenceSymbolTable { endOffset: Int, origin: IrDeclarationOrigin, descriptor: FunctionDescriptor, - functionFactory: (IrSimpleFunctionSymbol) -> IrSimpleFunction = { IrFunctionImpl(startOffset, endOffset, origin, it, IrUninitializedType) } + functionFactory: (IrSimpleFunctionSymbol) -> IrSimpleFunction = { + IrFunctionImpl(startOffset, endOffset, origin, it, IrUninitializedType).apply { + metadata = MetadataSource.Function(it.descriptor) + } + } ): IrSimpleFunction { return simpleFunctionSymbolTable.declare( descriptor, diff --git a/compiler/testData/codegen/box/annotations/annotatedObjectLiteral.kt b/compiler/testData/codegen/box/annotations/annotatedObjectLiteral.kt index 805f882d640..172cf98b9b6 100644 --- a/compiler/testData/codegen/box/annotations/annotatedObjectLiteral.kt +++ b/compiler/testData/codegen/box/annotations/annotatedObjectLiteral.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_RUNTIME diff --git a/compiler/testData/codegen/box/collectionLiterals/collectionLiteralsWithConstants.kt b/compiler/testData/codegen/box/collectionLiterals/collectionLiteralsWithConstants.kt index 1bf06b73d14..c565aab7244 100644 --- a/compiler/testData/codegen/box/collectionLiterals/collectionLiteralsWithConstants.kt +++ b/compiler/testData/codegen/box/collectionLiterals/collectionLiteralsWithConstants.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // WITH_REFLECT // TARGET_BACKEND: JVM diff --git a/compiler/testData/codegen/box/jvmField/topLevelFieldReflection.kt b/compiler/testData/codegen/box/jvmField/topLevelFieldReflection.kt index f1a5d0a2e00..ec6662cb63c 100644 --- a/compiler/testData/codegen/box/jvmField/topLevelFieldReflection.kt +++ b/compiler/testData/codegen/box/jvmField/topLevelFieldReflection.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/jvmName/annotationProperties.kt b/compiler/testData/codegen/box/jvmName/annotationProperties.kt index fce25a4d2da..8d6f4876b18 100644 --- a/compiler/testData/codegen/box/jvmName/annotationProperties.kt +++ b/compiler/testData/codegen/box/jvmName/annotationProperties.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT package test diff --git a/compiler/testData/codegen/box/reflection/annotations/annotationRetentionAnnotation.kt b/compiler/testData/codegen/box/reflection/annotations/annotationRetentionAnnotation.kt index da934fdde49..a52c43eb697 100644 --- a/compiler/testData/codegen/box/reflection/annotations/annotationRetentionAnnotation.kt +++ b/compiler/testData/codegen/box/reflection/annotations/annotationRetentionAnnotation.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/annotations/onTypes/differentArgumentTypes.kt b/compiler/testData/codegen/box/reflection/annotations/onTypes/differentArgumentTypes.kt index c4dd01eb9df..4e1b22b6061 100644 --- a/compiler/testData/codegen/box/reflection/annotations/onTypes/differentArgumentTypes.kt +++ b/compiler/testData/codegen/box/reflection/annotations/onTypes/differentArgumentTypes.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/annotations/retentions.kt b/compiler/testData/codegen/box/reflection/annotations/retentions.kt index b3c2f35445c..3d9597bd113 100644 --- a/compiler/testData/codegen/box/reflection/annotations/retentions.kt +++ b/compiler/testData/codegen/box/reflection/annotations/retentions.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/annotations/simpleFunAnnotation.kt b/compiler/testData/codegen/box/reflection/annotations/simpleFunAnnotation.kt index 7d9e0893927..9bf7297f9b3 100644 --- a/compiler/testData/codegen/box/reflection/annotations/simpleFunAnnotation.kt +++ b/compiler/testData/codegen/box/reflection/annotations/simpleFunAnnotation.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/annotations/simpleParamAnnotation.kt b/compiler/testData/codegen/box/reflection/annotations/simpleParamAnnotation.kt index 49af2f9360e..6e642f79c54 100644 --- a/compiler/testData/codegen/box/reflection/annotations/simpleParamAnnotation.kt +++ b/compiler/testData/codegen/box/reflection/annotations/simpleParamAnnotation.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/call/bound/extensionFunction.kt b/compiler/testData/codegen/box/reflection/call/bound/extensionFunction.kt index b18ee72af00..993e4820d8d 100644 --- a/compiler/testData/codegen/box/reflection/call/bound/extensionFunction.kt +++ b/compiler/testData/codegen/box/reflection/call/bound/extensionFunction.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/call/protectedMembers.kt b/compiler/testData/codegen/box/reflection/call/protectedMembers.kt index 2ce90787aa7..6cc6f489d92 100644 --- a/compiler/testData/codegen/box/reflection/call/protectedMembers.kt +++ b/compiler/testData/codegen/box/reflection/call/protectedMembers.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/callBy/boundExtensionFunction.kt b/compiler/testData/codegen/box/reflection/callBy/boundExtensionFunction.kt index 430048c1a14..1f00cd8d0c0 100644 --- a/compiler/testData/codegen/box/reflection/callBy/boundExtensionFunction.kt +++ b/compiler/testData/codegen/box/reflection/callBy/boundExtensionFunction.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/callBy/boundJvmStaticInObject.kt b/compiler/testData/codegen/box/reflection/callBy/boundJvmStaticInObject.kt index 57ff15ee6ea..6309c443e5e 100644 --- a/compiler/testData/codegen/box/reflection/callBy/boundJvmStaticInObject.kt +++ b/compiler/testData/codegen/box/reflection/callBy/boundJvmStaticInObject.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/callBy/companionObject.kt b/compiler/testData/codegen/box/reflection/callBy/companionObject.kt index 61ff02269de..746709a800f 100644 --- a/compiler/testData/codegen/box/reflection/callBy/companionObject.kt +++ b/compiler/testData/codegen/box/reflection/callBy/companionObject.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/callBy/jvmStaticInCompanionObject.kt b/compiler/testData/codegen/box/reflection/callBy/jvmStaticInCompanionObject.kt index aab4c36c505..9aade3091ee 100644 --- a/compiler/testData/codegen/box/reflection/callBy/jvmStaticInCompanionObject.kt +++ b/compiler/testData/codegen/box/reflection/callBy/jvmStaticInCompanionObject.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/callBy/jvmStaticInObject.kt b/compiler/testData/codegen/box/reflection/callBy/jvmStaticInObject.kt index 04af9454253..603a1f086c2 100644 --- a/compiler/testData/codegen/box/reflection/callBy/jvmStaticInObject.kt +++ b/compiler/testData/codegen/box/reflection/callBy/jvmStaticInObject.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/callBy/manyArgumentsOnlyOneDefault.kt b/compiler/testData/codegen/box/reflection/callBy/manyArgumentsOnlyOneDefault.kt index 33a252b52b8..f60b4650998 100644 --- a/compiler/testData/codegen/box/reflection/callBy/manyArgumentsOnlyOneDefault.kt +++ b/compiler/testData/codegen/box/reflection/callBy/manyArgumentsOnlyOneDefault.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/callBy/manyMaskArguments.kt b/compiler/testData/codegen/box/reflection/callBy/manyMaskArguments.kt index 50886accbd4..7c2ff687523 100644 --- a/compiler/testData/codegen/box/reflection/callBy/manyMaskArguments.kt +++ b/compiler/testData/codegen/box/reflection/callBy/manyMaskArguments.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/callBy/nonDefaultParameterOmitted.kt b/compiler/testData/codegen/box/reflection/callBy/nonDefaultParameterOmitted.kt index 9f036301883..51a03692991 100644 --- a/compiler/testData/codegen/box/reflection/callBy/nonDefaultParameterOmitted.kt +++ b/compiler/testData/codegen/box/reflection/callBy/nonDefaultParameterOmitted.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/classes/companionObject.kt b/compiler/testData/codegen/box/reflection/classes/companionObject.kt index a03b179b459..d35ca4b9ac3 100644 --- a/compiler/testData/codegen/box/reflection/classes/companionObject.kt +++ b/compiler/testData/codegen/box/reflection/classes/companionObject.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/classes/createInstance.kt b/compiler/testData/codegen/box/reflection/classes/createInstance.kt index 2ffcc4ef228..1948fd22331 100644 --- a/compiler/testData/codegen/box/reflection/classes/createInstance.kt +++ b/compiler/testData/codegen/box/reflection/classes/createInstance.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/classes/declaredMembers.kt b/compiler/testData/codegen/box/reflection/classes/declaredMembers.kt index ed119169d4a..70a22cfb28c 100644 --- a/compiler/testData/codegen/box/reflection/classes/declaredMembers.kt +++ b/compiler/testData/codegen/box/reflection/classes/declaredMembers.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/classes/objectInstance.kt b/compiler/testData/codegen/box/reflection/classes/objectInstance.kt index cfee0acb053..5571440a8fd 100644 --- a/compiler/testData/codegen/box/reflection/classes/objectInstance.kt +++ b/compiler/testData/codegen/box/reflection/classes/objectInstance.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/classes/sealedSubclasses.kt b/compiler/testData/codegen/box/reflection/classes/sealedSubclasses.kt index b520d4f700a..79950206131 100644 --- a/compiler/testData/codegen/box/reflection/classes/sealedSubclasses.kt +++ b/compiler/testData/codegen/box/reflection/classes/sealedSubclasses.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/constructors/classesWithoutConstructors.kt b/compiler/testData/codegen/box/reflection/constructors/classesWithoutConstructors.kt index 4c9a5e84c6d..6e700336a5d 100644 --- a/compiler/testData/codegen/box/reflection/constructors/classesWithoutConstructors.kt +++ b/compiler/testData/codegen/box/reflection/constructors/classesWithoutConstructors.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/constructors/enumEntry.kt b/compiler/testData/codegen/box/reflection/constructors/enumEntry.kt index 00df38fe8b9..6db2ae33063 100644 --- a/compiler/testData/codegen/box/reflection/constructors/enumEntry.kt +++ b/compiler/testData/codegen/box/reflection/constructors/enumEntry.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR, JS, NATIVE // WITH_REFLECT package test diff --git a/compiler/testData/codegen/box/reflection/constructors/primaryConstructor.kt b/compiler/testData/codegen/box/reflection/constructors/primaryConstructor.kt index 59f7bb06c5f..970a2735a12 100644 --- a/compiler/testData/codegen/box/reflection/constructors/primaryConstructor.kt +++ b/compiler/testData/codegen/box/reflection/constructors/primaryConstructor.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/createAnnotation/enumKClassAnnotation.kt b/compiler/testData/codegen/box/reflection/createAnnotation/enumKClassAnnotation.kt index 1670be5533d..efcf12ee6a1 100644 --- a/compiler/testData/codegen/box/reflection/createAnnotation/enumKClassAnnotation.kt +++ b/compiler/testData/codegen/box/reflection/createAnnotation/enumKClassAnnotation.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/createAnnotation/equalsHashCodeToString.kt b/compiler/testData/codegen/box/reflection/createAnnotation/equalsHashCodeToString.kt index 8d69307ad77..465ab646209 100644 --- a/compiler/testData/codegen/box/reflection/createAnnotation/equalsHashCodeToString.kt +++ b/compiler/testData/codegen/box/reflection/createAnnotation/equalsHashCodeToString.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/createAnnotation/floatingPointParameters.kt b/compiler/testData/codegen/box/reflection/createAnnotation/floatingPointParameters.kt index 7c1d61b81b0..c7eb53151c7 100644 --- a/compiler/testData/codegen/box/reflection/createAnnotation/floatingPointParameters.kt +++ b/compiler/testData/codegen/box/reflection/createAnnotation/floatingPointParameters.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/createAnnotation/parameterNamedEquals.kt b/compiler/testData/codegen/box/reflection/createAnnotation/parameterNamedEquals.kt index e1d7db6bb95..c4408c94458 100644 --- a/compiler/testData/codegen/box/reflection/createAnnotation/parameterNamedEquals.kt +++ b/compiler/testData/codegen/box/reflection/createAnnotation/parameterNamedEquals.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/createAnnotation/primitivesAndArrays.kt b/compiler/testData/codegen/box/reflection/createAnnotation/primitivesAndArrays.kt index 9d72da020dc..a7ce7e9266e 100644 --- a/compiler/testData/codegen/box/reflection/createAnnotation/primitivesAndArrays.kt +++ b/compiler/testData/codegen/box/reflection/createAnnotation/primitivesAndArrays.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/functions/declaredVsInheritedFunctions.kt b/compiler/testData/codegen/box/reflection/functions/declaredVsInheritedFunctions.kt index 3aa74129c5d..1c5cd723b1f 100644 --- a/compiler/testData/codegen/box/reflection/functions/declaredVsInheritedFunctions.kt +++ b/compiler/testData/codegen/box/reflection/functions/declaredVsInheritedFunctions.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/functions/genericOverriddenFunction.kt b/compiler/testData/codegen/box/reflection/functions/genericOverriddenFunction.kt index 199814765a8..ad23d520c8b 100644 --- a/compiler/testData/codegen/box/reflection/functions/genericOverriddenFunction.kt +++ b/compiler/testData/codegen/box/reflection/functions/genericOverriddenFunction.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/mapping/fakeOverrides/javaFieldGetterSetter.kt b/compiler/testData/codegen/box/reflection/mapping/fakeOverrides/javaFieldGetterSetter.kt index ae3c3460629..b23c3b6ecf5 100644 --- a/compiler/testData/codegen/box/reflection/mapping/fakeOverrides/javaFieldGetterSetter.kt +++ b/compiler/testData/codegen/box/reflection/mapping/fakeOverrides/javaFieldGetterSetter.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/mapping/jvmStatic/companionObjectFunction.kt b/compiler/testData/codegen/box/reflection/mapping/jvmStatic/companionObjectFunction.kt index 4a0af6c4403..d7e0d3aeccf 100644 --- a/compiler/testData/codegen/box/reflection/mapping/jvmStatic/companionObjectFunction.kt +++ b/compiler/testData/codegen/box/reflection/mapping/jvmStatic/companionObjectFunction.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/mapping/topLevelFunctionOtherFile.kt b/compiler/testData/codegen/box/reflection/mapping/topLevelFunctionOtherFile.kt index 0dd80d6a1d1..d9c37acb38e 100644 --- a/compiler/testData/codegen/box/reflection/mapping/topLevelFunctionOtherFile.kt +++ b/compiler/testData/codegen/box/reflection/mapping/topLevelFunctionOtherFile.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/mapping/types/annotationConstructorParameters.kt b/compiler/testData/codegen/box/reflection/mapping/types/annotationConstructorParameters.kt index 9df32849854..80ef351b5b4 100644 --- a/compiler/testData/codegen/box/reflection/mapping/types/annotationConstructorParameters.kt +++ b/compiler/testData/codegen/box/reflection/mapping/types/annotationConstructorParameters.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/mapping/types/genericArrayElementType.kt b/compiler/testData/codegen/box/reflection/mapping/types/genericArrayElementType.kt index dc5789e8dbb..d8c06d8cfcd 100644 --- a/compiler/testData/codegen/box/reflection/mapping/types/genericArrayElementType.kt +++ b/compiler/testData/codegen/box/reflection/mapping/types/genericArrayElementType.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/mapping/types/innerGenericTypeArgument.kt b/compiler/testData/codegen/box/reflection/mapping/types/innerGenericTypeArgument.kt index 455461c89dd..6277c1abcfe 100644 --- a/compiler/testData/codegen/box/reflection/mapping/types/innerGenericTypeArgument.kt +++ b/compiler/testData/codegen/box/reflection/mapping/types/innerGenericTypeArgument.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/mapping/types/parameterizedTypeArgument.kt b/compiler/testData/codegen/box/reflection/mapping/types/parameterizedTypeArgument.kt index d086bef8284..e4d47a93bbf 100644 --- a/compiler/testData/codegen/box/reflection/mapping/types/parameterizedTypeArgument.kt +++ b/compiler/testData/codegen/box/reflection/mapping/types/parameterizedTypeArgument.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/mapping/types/supertypes.kt b/compiler/testData/codegen/box/reflection/mapping/types/supertypes.kt index fa910609576..8e052a45b9d 100644 --- a/compiler/testData/codegen/box/reflection/mapping/types/supertypes.kt +++ b/compiler/testData/codegen/box/reflection/mapping/types/supertypes.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/mapping/types/withNullability.kt b/compiler/testData/codegen/box/reflection/mapping/types/withNullability.kt index 034dca0e73b..f55c3bf041b 100644 --- a/compiler/testData/codegen/box/reflection/mapping/types/withNullability.kt +++ b/compiler/testData/codegen/box/reflection/mapping/types/withNullability.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/methodsFromAny/fakeOverrideToString.kt b/compiler/testData/codegen/box/reflection/methodsFromAny/fakeOverrideToString.kt index a1c8a5bc78a..200837cf811 100644 --- a/compiler/testData/codegen/box/reflection/methodsFromAny/fakeOverrideToString.kt +++ b/compiler/testData/codegen/box/reflection/methodsFromAny/fakeOverrideToString.kt @@ -1,4 +1,4 @@ -// IGNORE_BACKEND: JVM_IR, JS_IR, JS, NATIVE +// IGNORE_BACKEND: JS_IR, JS, NATIVE // WITH_REFLECT package test diff --git a/compiler/testData/codegen/box/reflection/methodsFromAny/functionToString.kt b/compiler/testData/codegen/box/reflection/methodsFromAny/functionToString.kt index 5dbe9d814e1..a817ef22cca 100644 --- a/compiler/testData/codegen/box/reflection/methodsFromAny/functionToString.kt +++ b/compiler/testData/codegen/box/reflection/methodsFromAny/functionToString.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/methodsFromAny/memberExtensionToString.kt b/compiler/testData/codegen/box/reflection/methodsFromAny/memberExtensionToString.kt index d7a3ddda788..5ba0a75207e 100644 --- a/compiler/testData/codegen/box/reflection/methodsFromAny/memberExtensionToString.kt +++ b/compiler/testData/codegen/box/reflection/methodsFromAny/memberExtensionToString.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/methodsFromAny/typeEqualsHashCode.kt b/compiler/testData/codegen/box/reflection/methodsFromAny/typeEqualsHashCode.kt index 5271afdd89a..8ee3fc10e14 100644 --- a/compiler/testData/codegen/box/reflection/methodsFromAny/typeEqualsHashCode.kt +++ b/compiler/testData/codegen/box/reflection/methodsFromAny/typeEqualsHashCode.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/methodsFromAny/typeParametersToString.kt b/compiler/testData/codegen/box/reflection/methodsFromAny/typeParametersToString.kt index 58a6cae6b91..38e19316f5a 100644 --- a/compiler/testData/codegen/box/reflection/methodsFromAny/typeParametersToString.kt +++ b/compiler/testData/codegen/box/reflection/methodsFromAny/typeParametersToString.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/methodsFromAny/typeToStringInnerGeneric.kt b/compiler/testData/codegen/box/reflection/methodsFromAny/typeToStringInnerGeneric.kt index 53730537621..04dcb2a4eb2 100644 --- a/compiler/testData/codegen/box/reflection/methodsFromAny/typeToStringInnerGeneric.kt +++ b/compiler/testData/codegen/box/reflection/methodsFromAny/typeToStringInnerGeneric.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/modifiers/classModality.kt b/compiler/testData/codegen/box/reflection/modifiers/classModality.kt index 7a988ab8f1c..1a0296ded28 100644 --- a/compiler/testData/codegen/box/reflection/modifiers/classModality.kt +++ b/compiler/testData/codegen/box/reflection/modifiers/classModality.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/modifiers/classVisibility.kt b/compiler/testData/codegen/box/reflection/modifiers/classVisibility.kt index 7e62b33b63d..ecfaee7b75d 100644 --- a/compiler/testData/codegen/box/reflection/modifiers/classVisibility.kt +++ b/compiler/testData/codegen/box/reflection/modifiers/classVisibility.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/modifiers/classes.kt b/compiler/testData/codegen/box/reflection/modifiers/classes.kt index 86c87fcb63a..31e798ed5b1 100644 --- a/compiler/testData/codegen/box/reflection/modifiers/classes.kt +++ b/compiler/testData/codegen/box/reflection/modifiers/classes.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/modifiers/typeParameters.kt b/compiler/testData/codegen/box/reflection/modifiers/typeParameters.kt index 69fb3da8868..cb8b6a17210 100644 --- a/compiler/testData/codegen/box/reflection/modifiers/typeParameters.kt +++ b/compiler/testData/codegen/box/reflection/modifiers/typeParameters.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/parameters/boundInnerClassConstructor.kt b/compiler/testData/codegen/box/reflection/parameters/boundInnerClassConstructor.kt index 613de5fdd44..af473c291ba 100644 --- a/compiler/testData/codegen/box/reflection/parameters/boundInnerClassConstructor.kt +++ b/compiler/testData/codegen/box/reflection/parameters/boundInnerClassConstructor.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/parameters/boundObjectMemberReferences.kt b/compiler/testData/codegen/box/reflection/parameters/boundObjectMemberReferences.kt index 5f0526858c4..f82d78a51cd 100644 --- a/compiler/testData/codegen/box/reflection/parameters/boundObjectMemberReferences.kt +++ b/compiler/testData/codegen/box/reflection/parameters/boundObjectMemberReferences.kt @@ -1,5 +1,4 @@ // TODO: investigate should it be ran for JS or not -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/parameters/findParameterByName.kt b/compiler/testData/codegen/box/reflection/parameters/findParameterByName.kt index 02ef4b41ce0..855595efa7a 100644 --- a/compiler/testData/codegen/box/reflection/parameters/findParameterByName.kt +++ b/compiler/testData/codegen/box/reflection/parameters/findParameterByName.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/properties/accessors/memberExtensions.kt b/compiler/testData/codegen/box/reflection/properties/accessors/memberExtensions.kt index ef52d4509a5..888c8802c7f 100644 --- a/compiler/testData/codegen/box/reflection/properties/accessors/memberExtensions.kt +++ b/compiler/testData/codegen/box/reflection/properties/accessors/memberExtensions.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/properties/allVsDeclared.kt b/compiler/testData/codegen/box/reflection/properties/allVsDeclared.kt index 73da1f3ac28..fdf521eab76 100644 --- a/compiler/testData/codegen/box/reflection/properties/allVsDeclared.kt +++ b/compiler/testData/codegen/box/reflection/properties/allVsDeclared.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/properties/declaredVsInheritedProperties.kt b/compiler/testData/codegen/box/reflection/properties/declaredVsInheritedProperties.kt index 9fd89b35b03..6409aaee666 100644 --- a/compiler/testData/codegen/box/reflection/properties/declaredVsInheritedProperties.kt +++ b/compiler/testData/codegen/box/reflection/properties/declaredVsInheritedProperties.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/properties/getExtensionPropertiesMutableVsReadonly.kt b/compiler/testData/codegen/box/reflection/properties/getExtensionPropertiesMutableVsReadonly.kt index e223b37b810..24344043b3e 100644 --- a/compiler/testData/codegen/box/reflection/properties/getExtensionPropertiesMutableVsReadonly.kt +++ b/compiler/testData/codegen/box/reflection/properties/getExtensionPropertiesMutableVsReadonly.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/properties/memberAndMemberExtensionWithSameName.kt b/compiler/testData/codegen/box/reflection/properties/memberAndMemberExtensionWithSameName.kt index 9378a7f8320..7a8ad1ff851 100644 --- a/compiler/testData/codegen/box/reflection/properties/memberAndMemberExtensionWithSameName.kt +++ b/compiler/testData/codegen/box/reflection/properties/memberAndMemberExtensionWithSameName.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/properties/privateToThisAccessors.kt b/compiler/testData/codegen/box/reflection/properties/privateToThisAccessors.kt index 2a678bc8553..21eb7df89a3 100644 --- a/compiler/testData/codegen/box/reflection/properties/privateToThisAccessors.kt +++ b/compiler/testData/codegen/box/reflection/properties/privateToThisAccessors.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/properties/simpleGetProperties.kt b/compiler/testData/codegen/box/reflection/properties/simpleGetProperties.kt index f515a4951b1..c9058988996 100644 --- a/compiler/testData/codegen/box/reflection/properties/simpleGetProperties.kt +++ b/compiler/testData/codegen/box/reflection/properties/simpleGetProperties.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/supertypes/builtInClassSupertypes.kt b/compiler/testData/codegen/box/reflection/supertypes/builtInClassSupertypes.kt index 871644c1f69..51c7a202d6a 100644 --- a/compiler/testData/codegen/box/reflection/supertypes/builtInClassSupertypes.kt +++ b/compiler/testData/codegen/box/reflection/supertypes/builtInClassSupertypes.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/supertypes/simpleSupertypes.kt b/compiler/testData/codegen/box/reflection/supertypes/simpleSupertypes.kt index bb7ac8bf0e7..785c7a4f62c 100644 --- a/compiler/testData/codegen/box/reflection/supertypes/simpleSupertypes.kt +++ b/compiler/testData/codegen/box/reflection/supertypes/simpleSupertypes.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/typeParameters/declarationSiteVariance.kt b/compiler/testData/codegen/box/reflection/typeParameters/declarationSiteVariance.kt index 9726d266e3b..494522c21aa 100644 --- a/compiler/testData/codegen/box/reflection/typeParameters/declarationSiteVariance.kt +++ b/compiler/testData/codegen/box/reflection/typeParameters/declarationSiteVariance.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/typeParameters/typeParametersAndNames.kt b/compiler/testData/codegen/box/reflection/typeParameters/typeParametersAndNames.kt index 992848faa10..f08da123cc0 100644 --- a/compiler/testData/codegen/box/reflection/typeParameters/typeParametersAndNames.kt +++ b/compiler/testData/codegen/box/reflection/typeParameters/typeParametersAndNames.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/typeParameters/upperBounds.kt b/compiler/testData/codegen/box/reflection/typeParameters/upperBounds.kt index 68413d3a6b2..2fdc4cea305 100644 --- a/compiler/testData/codegen/box/reflection/typeParameters/upperBounds.kt +++ b/compiler/testData/codegen/box/reflection/typeParameters/upperBounds.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/types/classifierIsClass.kt b/compiler/testData/codegen/box/reflection/types/classifierIsClass.kt index 1d0b234c434..d7e5396cbd9 100644 --- a/compiler/testData/codegen/box/reflection/types/classifierIsClass.kt +++ b/compiler/testData/codegen/box/reflection/types/classifierIsClass.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/types/classifierIsTypeParameter.kt b/compiler/testData/codegen/box/reflection/types/classifierIsTypeParameter.kt index a769155f3a2..c996a57bebb 100644 --- a/compiler/testData/codegen/box/reflection/types/classifierIsTypeParameter.kt +++ b/compiler/testData/codegen/box/reflection/types/classifierIsTypeParameter.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/types/classifiersOfBuiltInTypes.kt b/compiler/testData/codegen/box/reflection/types/classifiersOfBuiltInTypes.kt index e899f3526ce..cb7a4b70b99 100644 --- a/compiler/testData/codegen/box/reflection/types/classifiersOfBuiltInTypes.kt +++ b/compiler/testData/codegen/box/reflection/types/classifiersOfBuiltInTypes.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/types/createType/typeParameter.kt b/compiler/testData/codegen/box/reflection/types/createType/typeParameter.kt index dc29156dcd7..02f5002a603 100644 --- a/compiler/testData/codegen/box/reflection/types/createType/typeParameter.kt +++ b/compiler/testData/codegen/box/reflection/types/createType/typeParameter.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/types/innerGenericArguments.kt b/compiler/testData/codegen/box/reflection/types/innerGenericArguments.kt index 55f39b61311..4ba5a9d8c80 100644 --- a/compiler/testData/codegen/box/reflection/types/innerGenericArguments.kt +++ b/compiler/testData/codegen/box/reflection/types/innerGenericArguments.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/types/jvmErasureOfClass.kt b/compiler/testData/codegen/box/reflection/types/jvmErasureOfClass.kt index 01c927eabbc..bea77ac9c0f 100644 --- a/compiler/testData/codegen/box/reflection/types/jvmErasureOfClass.kt +++ b/compiler/testData/codegen/box/reflection/types/jvmErasureOfClass.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/types/platformTypeNotEqualToKotlinType.kt b/compiler/testData/codegen/box/reflection/types/platformTypeNotEqualToKotlinType.kt index da00d3c6cdd..d4a033b063f 100644 --- a/compiler/testData/codegen/box/reflection/types/platformTypeNotEqualToKotlinType.kt +++ b/compiler/testData/codegen/box/reflection/types/platformTypeNotEqualToKotlinType.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/types/subtyping/platformType.kt b/compiler/testData/codegen/box/reflection/types/subtyping/platformType.kt index e14f13a955e..f9932a50a7d 100644 --- a/compiler/testData/codegen/box/reflection/types/subtyping/platformType.kt +++ b/compiler/testData/codegen/box/reflection/types/subtyping/platformType.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/reflection/types/subtyping/simpleGenericTypes.kt b/compiler/testData/codegen/box/reflection/types/subtyping/simpleGenericTypes.kt index 019e398f7b7..56898204b25 100644 --- a/compiler/testData/codegen/box/reflection/types/subtyping/simpleGenericTypes.kt +++ b/compiler/testData/codegen/box/reflection/types/subtyping/simpleGenericTypes.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/types/subtyping/simpleSubtypeSupertype.kt b/compiler/testData/codegen/box/reflection/types/subtyping/simpleSubtypeSupertype.kt index ea9e6b20e48..ce82270a60e 100644 --- a/compiler/testData/codegen/box/reflection/types/subtyping/simpleSubtypeSupertype.kt +++ b/compiler/testData/codegen/box/reflection/types/subtyping/simpleSubtypeSupertype.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/types/subtyping/typeProjection.kt b/compiler/testData/codegen/box/reflection/types/subtyping/typeProjection.kt index f31f9bd4cdf..29863590942 100644 --- a/compiler/testData/codegen/box/reflection/types/subtyping/typeProjection.kt +++ b/compiler/testData/codegen/box/reflection/types/subtyping/typeProjection.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/types/useSiteVariance.kt b/compiler/testData/codegen/box/reflection/types/useSiteVariance.kt index b4364479cd7..d6b0fc3fc1f 100644 --- a/compiler/testData/codegen/box/reflection/types/useSiteVariance.kt +++ b/compiler/testData/codegen/box/reflection/types/useSiteVariance.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/reflection/types/withNullability.kt b/compiler/testData/codegen/box/reflection/types/withNullability.kt index 6a7d4861f75..f1f2aae2ad7 100644 --- a/compiler/testData/codegen/box/reflection/types/withNullability.kt +++ b/compiler/testData/codegen/box/reflection/types/withNullability.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_REFLECT diff --git a/compiler/testData/codegen/box/vararg/assigningArrayToVarargInAnnotation.kt b/compiler/testData/codegen/box/vararg/assigningArrayToVarargInAnnotation.kt index 03f3fd345f9..d8519bbb06a 100644 --- a/compiler/testData/codegen/box/vararg/assigningArrayToVarargInAnnotation.kt +++ b/compiler/testData/codegen/box/vararg/assigningArrayToVarargInAnnotation.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // WITH_REFLECT // TARGET_BACKEND: JVM diff --git a/compiler/testData/codegen/boxAgainstJava/multiplatform/annotationsViaActualTypeAliasFromBinary.kt b/compiler/testData/codegen/boxAgainstJava/multiplatform/annotationsViaActualTypeAliasFromBinary.kt index 2be68b72930..635fb7d069a 100644 --- a/compiler/testData/codegen/boxAgainstJava/multiplatform/annotationsViaActualTypeAliasFromBinary.kt +++ b/compiler/testData/codegen/boxAgainstJava/multiplatform/annotationsViaActualTypeAliasFromBinary.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // !LANGUAGE: +MultiPlatformProjects // WITH_REFLECT // FILE: main.kt diff --git a/compiler/testData/codegen/bytecodeText/mangling/parentheses.kt b/compiler/testData/codegen/bytecodeText/mangling/parentheses.kt index 5a22d0c0de6..eb55d11b41d 100644 --- a/compiler/testData/codegen/bytecodeText/mangling/parentheses.kt +++ b/compiler/testData/codegen/bytecodeText/mangling/parentheses.kt @@ -1,5 +1,4 @@ // !SANITIZE_PARENTHESES -// IGNORE_BACKEND: JVM_IR class `(X)` { fun `(Y)`(): String { diff --git a/compiler/testData/codegen/bytecodeText/mangling/parenthesesNoSanitize.kt b/compiler/testData/codegen/bytecodeText/mangling/parenthesesNoSanitize.kt index 822e25df3df..7e164d29c2f 100644 --- a/compiler/testData/codegen/bytecodeText/mangling/parenthesesNoSanitize.kt +++ b/compiler/testData/codegen/bytecodeText/mangling/parenthesesNoSanitize.kt @@ -1,5 +1,3 @@ -// IGNORE_BACKEND: JVM_IR - class `(X)` { fun `(Y)`() {} }