From 69295f2cf0fba0f4cd28747ac9d0413489108b43 Mon Sep 17 00:00:00 2001 From: Alexander Korepanov Date: Tue, 15 Mar 2022 05:34:19 +0000 Subject: [PATCH] [JS IR] IC invalidation refactoring - Huge refactoring for IC - Update hash combination logic - Introduce value class for IC hashes - Calc md5 directly by function IR - Split IC logic by classes - Move JsIrLinkerLoader into separate file - CacheUpdateStatus is a sealed class - Render TYPE_PARAMETER reified flag ^KT-51081 Fixed ^KT-51084 Fixed --- .../jetbrains/kotlin/cli/js/K2JsIrCompiler.kt | 36 +- .../kotlin/ir/backend/js/compilerWithIC.kt | 22 +- .../kotlin/ir/backend/js/ic/ArtifactCache.kt | 33 + .../kotlin/ir/backend/js/ic/CacheInfo.kt | 36 - .../ir/backend/js/ic/CacheLazyLoader.kt | 86 -- .../ir/backend/js/ic/HashCalculatorForIC.kt | 101 +++ .../ir/backend/js/ic/IncrementalCache.kt | 308 +++++++ .../ir/backend/js/ic/InlineGraphTracker.kt | 164 ++-- .../ir/backend/js/ic/JsIrLinkerLoader.kt | 99 +++ .../kotlin/ir/backend/js/ic/fileUtils.kt | 35 + .../kotlin/ir/backend/js/ic/invalidation.kt | 840 ++++++------------ .../kotlin/ir/util/RenderIrElement.kt | 3 +- .../kotlin/ir/backend/js/ic/CacheAccessors.kt | 350 -------- .../codegen/box/smartCasts/kt44814.fir.ir.txt | 2 +- .../codegen/box/smartCasts/kt44814.ir.txt | 2 +- .../testData/ir/irJsText/scripting/fun.txt | 4 +- .../testData/ir/irText/classes/47424.ir.txt | 4 +- .../clashingFakeOverrideSignatures.ir.txt | 10 +- .../dataClassWithArrayMembers.fir.ir.txt | 2 +- .../dataClassWithArrayMembers.ir.txt | 2 +- .../dataClasses/dataClassesGeneric.fir.ir.txt | 6 +- .../dataClasses/dataClassesGeneric.ir.txt | 6 +- .../delegatedGenericImplementation.fir.ir.txt | 28 +- .../delegatedGenericImplementation.ir.txt | 28 +- ...uctorCallToTypeAliasConstructor.fir.ir.txt | 4 +- ...nstructorCallToTypeAliasConstructor.ir.txt | 4 +- .../inlineClassSyntheticMethods.fir.ir.txt | 4 +- .../inlineClassSyntheticMethods.ir.txt | 4 +- .../ir/irText/classes/kt45934.fir.ir.txt | 2 +- .../genericAnnotationClasses.ir.txt | 16 +- .../typeParametersWithAnnotations.ir.txt | 2 +- .../fromKEEP/compareTo.ir.txt | 8 +- .../fromKEEP/functionalType.ir.txt | 2 +- .../fromKEEP/monoidSum.ir.txt | 6 +- .../genericOuterClass.fir.ir.txt | 4 +- .../contextReceivers/genericOuterClass.ir.txt | 4 +- .../declarations/contextReceivers/lazy.ir.txt | 8 +- .../thisWithCustomLabel.ir.txt | 2 +- .../typeParameterAsContextReceiver.fir.ir.txt | 2 +- .../typeParameterAsContextReceiver.ir.txt | 2 +- .../declarations/fakeOverrides.fir.ir.txt | 2 +- .../irText/declarations/fakeOverrides.ir.txt | 2 +- .../fileWithTypeAliasesOnly.ir.txt | 2 +- .../genericDelegatedProperty.fir.ir.txt | 6 +- .../genericDelegatedProperty.ir.txt | 6 +- .../ir/irText/declarations/kt27005.ir.txt | 2 +- .../ir/irText/declarations/kt35550.fir.ir.txt | 4 +- .../ir/irText/declarations/kt35550.ir.txt | 4 +- .../declarations/parameters/class.ir.txt | 10 +- .../parameters/constructor.fir.ir.txt | 8 +- .../parameters/constructor.ir.txt | 8 +- .../parameters/dataClassMembers.fir.ir.txt | 2 +- .../parameters/dataClassMembers.ir.txt | 2 +- .../defaultPropertyAccessors.ir.txt | 2 +- .../parameters/delegatedMembers.fir.ir.txt | 8 +- .../parameters/delegatedMembers.ir.txt | 8 +- .../irText/declarations/parameters/fun.ir.txt | 4 +- .../parameters/genericInnerClass.ir.txt | 4 +- .../declarations/parameters/localFun.ir.txt | 4 +- .../parameters/propertyAccessors.ir.txt | 14 +- .../typeParameterBeforeBound.fir.ir.txt | 16 +- .../typeParameterBeforeBound.ir.txt | 16 +- .../typeParameterBoundedBySubclass.ir.txt | 6 +- .../argumentMappedWithError.ir.txt | 2 +- .../ir/irText/expressions/bangbang.fir.ir.txt | 4 +- .../ir/irText/expressions/bangbang.ir.txt | 4 +- .../boundInnerGenericConstructor.ir.txt | 8 +- ...cLocalClassConstructorReference.fir.ir.txt | 18 +- ...nericLocalClassConstructorReference.ir.txt | 18 +- .../callableReferences/genericMember.ir.txt | 2 +- .../callableReferences/kt46069.fir.ir.txt | 6 +- .../callableReferences/kt46069.ir.txt | 6 +- .../typeArguments.fir.ir.txt | 6 +- .../callableReferences/typeArguments.ir.txt | 6 +- .../expressions/castToTypeParameter.ir.txt | 14 +- ...ructorWithOwnTypeParametersCall.fir.ir.txt | 4 +- ...onstructorWithOwnTypeParametersCall.ir.txt | 4 +- ...ructorWithOwnTypeParametersCall__J1.ir.txt | 8 +- ...ameterWithPrimitiveNumericSupertype.ir.txt | 18 +- .../expressions/funImportedFromObject.ir.txt | 2 +- .../funInterface/partialSam.fir.ir.txt | 4 +- .../funInterface/partialSam.ir.txt | 4 +- .../samConversionsWithSmartCasts.fir.ir.txt | 10 +- .../samConversionsWithSmartCasts.ir.txt | 10 +- ...unInterfaceConstructorReference.fir.ir.txt | 4 +- .../funInterfaceConstructorReference.ir.txt | 4 +- ...onstructorCallWithTypeArguments.fir.ir.txt | 4 +- ...ricConstructorCallWithTypeArguments.ir.txt | 4 +- .../expressions/genericPropertyCall.ir.txt | 2 +- .../expressions/genericPropertyRef.fir.ir.txt | 10 +- .../expressions/genericPropertyRef.ir.txt | 10 +- .../expressions/implicitCastToNonNull.ir.txt | 10 +- .../implicitCastToTypeParameter.fir.ir.txt | 8 +- .../implicitCastToTypeParameter.ir.txt | 8 +- .../ir/irText/expressions/in.fir.ir.txt | 4 +- .../testData/ir/irText/expressions/in.ir.txt | 4 +- ...aSyntheticGenericPropretyAccess.fir.ir.txt | 2 +- .../javaSyntheticGenericPropretyAccess.ir.txt | 2 +- .../ir/irText/expressions/kt30796.fir.ir.txt | 4 +- .../ir/irText/expressions/kt30796.ir.txt | 4 +- .../ir/irText/expressions/kt36956.fir.ir.txt | 2 +- .../ir/irText/expressions/kt36956.ir.txt | 2 +- .../ir/irText/expressions/kt42321.ir.txt | 2 +- .../ir/irText/expressions/kt44993.ir.txt | 2 +- .../ir/irText/expressions/kt47082.ir.txt | 14 +- .../ir/irText/expressions/kt47328.fir.ir.txt | 2 +- .../ir/irText/expressions/kt47328.ir.txt | 2 +- .../expressions/memberTypeArguments.ir.txt | 2 +- .../nullCheckOnGenericLambdaReturn.ir.txt | 6 +- .../nullCheckOnLambdaReturn.fir.ir.txt | 2 +- .../nullCheckOnLambdaReturn.ir.txt | 2 +- ...mConversionInGenericConstructorCall.ir.txt | 4 +- .../sam/samConversionToGeneric.fir.ir.txt | 4 +- .../sam/samConversionToGeneric.ir.txt | 4 +- ...ializedTypeAliasConstructorCall.fir.ir.txt | 2 +- ...specializedTypeAliasConstructorCall.ir.txt | 2 +- ...ConversionOnArbitraryExpression.fir.ir.txt | 14 +- ...pendConversionOnArbitraryExpression.ir.txt | 14 +- .../thisOfGenericOuterClass.fir.ir.txt | 2 +- .../thisOfGenericOuterClass.ir.txt | 2 +- .../typeParameterClassLiteral.ir.txt | 24 +- .../expressions/useImportedMember.fir.ir.txt | 14 +- .../expressions/useImportedMember.ir.txt | 14 +- ...iableAsFunctionCallWithGenerics.fir.ir.txt | 4 +- .../variableAsFunctionCallWithGenerics.ir.txt | 4 +- .../firProblems/AbstractMutableMap.fir.ir.txt | 4 +- .../firProblems/AbstractMutableMap.ir.txt | 4 +- .../firProblems/AllCandidates.fir.ir.txt | 4 +- .../irText/firProblems/AllCandidates.ir.txt | 4 +- .../firProblems/ArrayListOverrides.fir.ir.txt | 4 +- .../firProblems/ArrayListOverrides.ir.txt | 4 +- .../ir/irText/firProblems/ArrayMap.fir.ir.txt | 8 +- .../ir/irText/firProblems/ArrayMap.ir.txt | 9 +- .../ClashResolutionDescriptor.fir.ir.txt | 6 +- .../ClashResolutionDescriptor.ir.txt | 6 +- .../firProblems/DeepCopyIrTree.fir.ir.txt | 2 +- .../irText/firProblems/DeepCopyIrTree.ir.txt | 2 +- .../irText/firProblems/FirBuilder.fir.ir.txt | 8 +- .../ir/irText/firProblems/FirBuilder.ir.txt | 8 +- .../ImplicitReceiverStack.fir.ir.txt | 6 +- .../firProblems/ImplicitReceiverStack.ir.txt | 6 +- .../ir/irText/firProblems/JCTree.fir.ir.txt | 2 +- .../ir/irText/firProblems/JCTree.ir.txt | 2 +- .../ir/irText/firProblems/Modality.fir.ir.txt | 2 +- .../ir/irText/firProblems/Modality.ir.txt | 2 +- .../irText/firProblems/MultiList.fir.ir.txt | 10 +- .../ir/irText/firProblems/MultiList.ir.txt | 10 +- .../firProblems/TypeParameterBounds.ir.txt | 18 +- .../firProblems/candidateSymbol.fir.ir.txt | 6 +- .../irText/firProblems/candidateSymbol.ir.txt | 6 +- .../ir/irText/firProblems/kt43342.fir.ir.txt | 4 +- .../ir/irText/firProblems/kt43342.ir.txt | 4 +- .../irText/firProblems/putIfAbsent.fir.ir.txt | 2 +- .../ir/irText/firProblems/putIfAbsent.ir.txt | 2 +- .../firProblems/readWriteProperty.fir.ir.txt | 10 +- .../firProblems/readWriteProperty.ir.txt | 10 +- ...CapturedTypeInPropertyReference.fir.ir.txt | 4 +- ...siveCapturedTypeInPropertyReference.ir.txt | 4 +- .../regressions/integerCoercionToT.fir.ir.txt | 8 +- .../regressions/integerCoercionToT.ir.txt | 8 +- .../ir/irText/regressions/kt45236.fir.ir.txt | 8 +- .../ir/irText/regressions/kt45236.ir.txt | 8 +- .../newInferenceFixationOrder1.ir.txt | 12 +- .../typeAliasCtorForGenericClass.fir.ir.txt | 6 +- .../typeAliasCtorForGenericClass.ir.txt | 6 +- .../typeParametersInImplicitCast.fir.ir.txt | 2 +- .../typeParametersInImplicitCast.ir.txt | 2 +- .../ir/irText/stubs/builtinMap.fir.ir.txt | 4 +- .../ir/irText/stubs/builtinMap.ir.txt | 4 +- .../genericClassInDifferentModule.fir.ir.txt | 16 +- .../genericClassInDifferentModule.ir.txt | 16 +- ...vaConstructorWithTypeParameters__J1.ir.txt | 8 +- .../irText/types/abbreviatedTypes.fir.ir.txt | 2 +- .../ir/irText/types/abbreviatedTypes.ir.txt | 2 +- .../ir/irText/types/asOnPlatformType.ir.txt | 4 +- .../castsInsideCoroutineInference.fir.ir.txt | 32 +- .../castsInsideCoroutineInference.ir.txt | 32 +- .../irText/types/definitelyNonNull.fir.ir.txt | 2 +- .../ir/irText/types/definitelyNonNull.ir.txt | 2 +- .../definitelyNonNullOverride.fir.ir.txt | 8 +- .../types/definitelyNonNullOverride.ir.txt | 8 +- .../types/definitelyNonNullSAM.fir.ir.txt | 14 +- .../irText/types/definitelyNonNullSAM.ir.txt | 14 +- .../definitelyNonNullWithJava.fir.ir.txt | 2 +- .../types/definitelyNonNullWithJava.ir.txt | 2 +- .../definitelyNotNullAsArgument.fir.ir.txt | 14 +- .../types/definitelyNotNullAsArgument.ir.txt | 14 +- .../types/definitelyNotNullAsReceiver.ir.txt | 4 +- ...initelyNotNullWithIntersection1.fir.ir.txt | 8 +- .../definitelyNotNullWithIntersection1.ir.txt | 8 +- .../genericDelegatedDeepProperty.fir.ir.txt | 30 +- .../types/genericDelegatedDeepProperty.ir.txt | 30 +- .../types/genericFunWithStar.fir.ir.txt | 6 +- .../ir/irText/types/genericFunWithStar.ir.txt | 6 +- .../genericPropertyReferenceType.fir.ir.txt | 6 +- .../types/genericPropertyReferenceType.ir.txt | 6 +- .../inStarProjectionInReceiverType.ir.txt | 2 +- .../irText/types/intersectionType1.fir.ir.txt | 8 +- .../ir/irText/types/intersectionType1.ir.txt | 8 +- .../irText/types/intersectionType2.fir.ir.txt | 4 +- .../ir/irText/types/intersectionType2.ir.txt | 4 +- .../ir/irText/types/intersectionType3.ir.txt | 8 +- .../intersectionTypeInSamType.fir.ir.txt | 12 +- .../types/intersectionTypeInSamType.ir.txt | 12 +- ...localVariableOfIntersectionType.fir.ir.txt | 6 +- .../localVariableOfIntersectionType.ir.txt | 6 +- ...bilityInDestructuringAssignment.fir.ir.txt | 4 +- ...ullabilityInDestructuringAssignment.ir.txt | 4 +- .../nnStringVsT.ir.txt | 2 +- .../nnStringVsTAny.ir.txt | 2 +- .../nnStringVsTConstrained.ir.txt | 2 +- .../nnStringVsTXArray.ir.txt | 2 +- .../nnStringVsTXString.ir.txt | 2 +- .../nullCheckOnLambdaResult/stringVsT.ir.txt | 2 +- .../stringVsTAny.ir.txt | 2 +- .../stringVsTConstrained.ir.txt | 2 +- .../stringVsTXArray.ir.txt | 2 +- .../stringVsTXString.ir.txt | 2 +- ...xedNullableAndNotNullableBounds.fir.ir.txt | 2 +- ...thMixedNullableAndNotNullableBounds.ir.txt | 2 +- ...erWithMultipleNotNullableBounds.fir.ir.txt | 2 +- ...ameterWithMultipleNotNullableBounds.ir.txt | 2 +- ...meterWithMultipleNullableBounds.fir.ir.txt | 2 +- ...ParameterWithMultipleNullableBounds.ir.txt | 2 +- .../types/rawTypeInSignature.fir.ir.txt | 6 +- .../ir/irText/types/rawTypeInSignature.ir.txt | 6 +- ...smartCastOnFakeOverrideReceiver.fir.ir.txt | 6 +- .../smartCastOnFakeOverrideReceiver.ir.txt | 6 +- .../smartCastOnReceiverOfGenericType.ir.txt | 8 +- .../ir/irText/types/starProjection.ir.txt | 2 +- .../typeAliasWithUnsafeVariance.fir.ir.txt | 4 +- .../types/typeAliasWithUnsafeVariance.ir.txt | 4 +- .../types/typeCheckOnDefinitelyNotNull.ir.txt | 6 +- .../incremental/AbstractInvalidationTest.kt | 77 +- .../test/utils/JsIrIncrementalDataProvider.kt | 126 +-- .../genericInlineFunctions/lib1/l1.kt.6.txt | 1 - .../genericInlineFunctions/lib1/l1.kt.7.txt | 1 - .../libProxy/module.info | 4 + .../genericInlineFunctions/main/module.info | 6 + .../inlineFunctionAsParam/lib1/l1.kt.6.txt | 3 +- .../inlineFunctionAsParam/lib1/l1.kt.7.txt | 3 + .../inlineFunctionAsParam/lib1/l1.kt.8.txt | 3 + .../inlineFunctionAsParam/lib1/l1.kt.9.txt | 3 + .../inlineFunctionAsParam/lib1/module.info | 15 + .../inlineFunctionAsParam/main/module.info | 10 + .../inlineFunctionAsParam/project.info | 6 + 246 files changed, 1724 insertions(+), 2048 deletions(-) create mode 100644 compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/ArtifactCache.kt delete mode 100644 compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/CacheInfo.kt delete mode 100644 compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/CacheLazyLoader.kt create mode 100644 compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/HashCalculatorForIC.kt create mode 100644 compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/IncrementalCache.kt create mode 100644 compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/JsIrLinkerLoader.kt create mode 100644 compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/fileUtils.kt delete mode 100644 compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/ic/CacheAccessors.kt create mode 100644 js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/lib1/l1.kt.7.txt create mode 100644 js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/lib1/l1.kt.8.txt create mode 100644 js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/lib1/l1.kt.9.txt diff --git a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JsIrCompiler.kt b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JsIrCompiler.kt index 831ad4db9ca..7c4bc247b93 100644 --- a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JsIrCompiler.kt +++ b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JsIrCompiler.kt @@ -210,22 +210,37 @@ class K2JsIrCompiler : CLICompiler() { var start = System.currentTimeMillis() - actualizeCaches( + val cacheUpdater = CacheUpdater( includes, - configurationJs, libraries, + configurationJs, cacheDirectories, { IrFactoryImplForJsIC(WholeWorldStageController()) }, mainCallArguments, - ::buildCacheForModuleFiles, - ) { updateStatus, updatedModule -> + ::buildCacheForModuleFiles + ) + cacheUpdater.actualizeCaches { updateStatus, updatedModule -> val now = System.currentTimeMillis() - val strStatus = when (updateStatus) { - CacheUpdateStatus.FAST_PATH -> "up-to-date; fast check" - CacheUpdateStatus.NO_DIRTY_FILES -> "up-to-date; full check" - CacheUpdateStatus.DIRTY -> "dirty; cache building" + fun reportCacheStatus(status: String, removed: Set = emptySet(), updated: Set = emptySet()) { + messageCollector.report(INFO, "IC per-file is $status duration ${now - start}ms; module [${File(updatedModule).name}]") + removed.forEach { messageCollector.report(INFO, " Removed: $it") } + updated.forEach { messageCollector.report(INFO, " Updated: $it") } + } + when (updateStatus) { + is CacheUpdateStatus.FastPath -> reportCacheStatus("up-to-date; fast check") + is CacheUpdateStatus.NoDirtyFiles -> reportCacheStatus("up-to-date; full check", updateStatus.removed) + is CacheUpdateStatus.Dirty -> { + var updated = updateStatus.updated + val status = StringBuilder("dirty").apply { + if (updateStatus.updatedAll) { + append("; all ${updated.size} sources updated") + updated = emptySet() + } + append("; cache building") + }.toString() + reportCacheStatus(status, updateStatus.removed, updated) + } } - messageCollector.report(INFO, "IC per-file is $strStatus duration ${now - start}ms; module [${File(updatedModule).name}]") start = now } } else emptyList() @@ -274,7 +289,6 @@ class K2JsIrCompiler : CLICompiler() { val beforeIc2Js = System.currentTimeMillis() - val caches = loadModuleCaches(icCaches) val moduleKind = configurationJs[JSConfigurationKeys.MODULE_KIND]!! val translationMode = TranslationMode.fromFlags(false, arguments.irPerModule) @@ -284,7 +298,7 @@ class K2JsIrCompiler : CLICompiler() { moduleKind, SourceMapsInfo.from(configurationJs), setOf(translationMode), - caches, + icCaches, relativeRequirePath = true ) diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/compilerWithIC.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/compilerWithIC.kt index 0422b4a36de..7188563dce0 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/compilerWithIC.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/compilerWithIC.kt @@ -9,8 +9,8 @@ import org.jetbrains.kotlin.backend.common.phaser.PhaseConfig import org.jetbrains.kotlin.backend.common.phaser.PhaserState import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI -import org.jetbrains.kotlin.ir.backend.js.ic.ModuleCache -import org.jetbrains.kotlin.ir.backend.js.ic.PersistentCacheConsumer +import org.jetbrains.kotlin.ir.backend.js.ic.ArtifactCache +import org.jetbrains.kotlin.ir.backend.js.ic.KLibArtifact import org.jetbrains.kotlin.ir.backend.js.lower.collectNativeImplementations import org.jetbrains.kotlin.ir.backend.js.lower.generateJsTests import org.jetbrains.kotlin.ir.backend.js.lower.moveBodilessDeclarationsToSeparatePlace @@ -49,7 +49,7 @@ fun compileWithIC( safeExternalBoolean: Boolean = false, safeExternalBooleanDiagnostic: RuntimeDiagnostic? = null, filesToLower: Set?, - cacheConsumer: PersistentCacheConsumer, + artifactCache: ArtifactCache, ) { val mainModule = module @@ -101,7 +101,7 @@ fun compileWithIC( val ast = transformer.generateBinaryAst(dirtyFiles, allModules) - ast.entries.forEach { (path, bytes) -> cacheConsumer.commitBinaryAst(path, bytes) } + ast.entries.forEach { (path, bytes) -> artifactCache.saveBinaryAst(path, bytes) } } fun lowerPreservingTags(modules: Iterable, context: JsIrBackendContext, phaseConfig: PhaseConfig, controller: WholeWorldStageController) { @@ -125,16 +125,18 @@ fun generateJsFromAst( moduleKind: ModuleKind, sourceMapsInfo: SourceMapsInfo?, translationModes: Set, - caches: Map, + caches: List, relativeRequirePath: Boolean = false, ): CompilerResult { fun compilationOutput(multiModule: Boolean): CompilationOutputs { val deserializer = JsIrAstDeserializer() - val jsIrProgram = JsIrProgram(caches.values.map { + val jsIrProgram = JsIrProgram(caches.map { cacheArtifact -> JsIrModule( - it.name.safeModuleName, - sanitizeName(it.name.safeModuleName), - it.asts.values.sortedBy { it.name }.mapNotNull { it.ast?.let { deserializer.deserialize(ByteArrayInputStream(it)) } }) + cacheArtifact.moduleName.safeModuleName, + sanitizeName(cacheArtifact.moduleName.safeModuleName), + cacheArtifact.fileArtifacts.sortedBy { it.srcFilePath }.mapNotNull { srcFileArtifact -> + srcFileArtifact.astFileArtifact.fetchBinaryAst()?.let { deserializer.deserialize(ByteArrayInputStream(it)) } + }) }) return generateWrappedModuleBody( @@ -149,4 +151,4 @@ fun generateJsFromAst( } return CompilerResult(translationModes.associate { it to compilationOutput(it.perModule) }, null) -} \ No newline at end of file +} diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/ArtifactCache.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/ArtifactCache.kt new file mode 100644 index 00000000000..90bb4f5d646 --- /dev/null +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/ArtifactCache.kt @@ -0,0 +1,33 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * 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.backend.js.ic + +import java.io.File + +class SrcFileArtifact(val srcFilePath: String, astArtifactFilePath: String, astBinaryData: ByteArray?) { + class Artifact(private val artifactFilePath: String, private var binaryData: ByteArray?) { + fun fetchBinaryAst(): ByteArray? { + if (binaryData == null) { + binaryData = File(artifactFilePath).ifExists { readBytes() } + } + return binaryData + } + } + + val astFileArtifact = Artifact(astArtifactFilePath, astBinaryData) +} + +class KLibArtifact(val moduleName: String, val fileArtifacts: List) + +abstract class ArtifactCache { + protected val binaryAsts = mutableMapOf() + + fun saveBinaryAst(srcPath: String, astData: ByteArray) { + binaryAsts[srcPath] = astData + } + + abstract fun fetchArtifacts(): KLibArtifact +} diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/CacheInfo.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/CacheInfo.kt deleted file mode 100644 index 5b7ec175ee4..00000000000 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/CacheInfo.kt +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. - * 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.backend.js.ic - -import java.io.File - -// TODO md5 hash -data class CacheInfo( - val path: String, - val libPath: String, - val moduleName: String?, - var flatHash: ULong, - var transHash: ULong, - var configHash: ULong -) { - companion object { - fun load(path: String): CacheInfo? { - val info = File(File(path), "info") - - if (!info.exists()) return null - - val (libPath, moduleName, flatHash, transHash, configHash) = info.readLines() - - // safe cast for the backward compatibility with the cache from the previous compiler versions - val configHashULong = configHash.toULongOrNull(16) ?: 0UL - return CacheInfo(path, libPath, moduleName, flatHash.toULong(16), transHash.toULong(16), configHashULong) - } - - fun loadOrCreate(path: String, libPath: String): CacheInfo { - return load(path) ?: CacheInfo(path, libPath, null, 0UL, 0UL, 0UL) - } - } -} diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/CacheLazyLoader.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/CacheLazyLoader.kt deleted file mode 100644 index e199001bb5e..00000000000 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/CacheLazyLoader.kt +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. - * 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.backend.js.ic - -import org.jetbrains.kotlin.backend.common.serialization.IdSignatureDeserializer -import org.jetbrains.kotlin.backend.common.serialization.IrLibraryBytesSource -import org.jetbrains.kotlin.backend.common.serialization.IrLibraryFileFromBytes -import org.jetbrains.kotlin.backend.common.serialization.codedInputStream -import org.jetbrains.kotlin.backend.common.serialization.proto.IrFile -import org.jetbrains.kotlin.ir.util.IdSignature -import org.jetbrains.kotlin.library.KotlinLibrary -import org.jetbrains.kotlin.protobuf.ExtensionRegistryLite - - -class CacheLazyLoader(private val cacheProvider: PersistentCacheProvider, private val library: KotlinLibrary) { - private val graphInlineCache = mutableMapOf>>() - private val fingerPrintCache = mutableMapOf() - - val signatureReadersList: List> by lazy { - library.filesAndSigReaders() - } - - private val signatureReadersMap: Map by lazy { - signatureReadersList.toMap() - } - - val allInlineFunctionHashes: Map by lazy { - cacheProvider.allInlineHashes { librarySrc, index -> - val libReader = signatureReadersMap[librarySrc] ?: error("No module reader for lib $librarySrc") - libReader.deserializeIdSignature(index) - } - } - - fun getInlineHashesByFile() = signatureReadersList.associateTo(mutableMapOf()) { - it.first to cacheProvider.inlineHashes(it.first) { index -> it.second.deserializeIdSignature(index) } - } - - fun getInlineGraphForFile(srcFile: String) = graphInlineCache.getOrPut(srcFile) { - val fileReader = signatureReadersMap[srcFile] ?: error("Cannot find signature reader for $srcFile") - cacheProvider.inlineGraphForFile(srcFile) { index -> fileReader.deserializeIdSignature(index) } - } - - fun getFileFingerPrint(srcFile: String) = fingerPrintCache.getOrPut(srcFile) { - cacheProvider.fileFingerPrint(srcFile) - } - - fun getFilePaths() = cacheProvider.filePaths() - - fun clearCaches() { - graphInlineCache.clear() - fingerPrintCache.clear() - } - - private fun KotlinLibrary.filesAndSigReaders(): List> { - val fileSize = fileCount() - val result = ArrayList>(fileSize) - val extReg = ExtensionRegistryLite.newInstance() - - for (i in 0 until fileSize) { - val fileStream = file(i).codedInputStream - val fileProto = IrFile.parseFrom(fileStream, extReg) - val sigReader = IdSignatureDeserializer(IrLibraryFileFromBytes(object : IrLibraryBytesSource() { - private fun err(): Nothing = error("Not supported") - override fun irDeclaration(index: Int): ByteArray = err() - - override fun type(index: Int): ByteArray = err() - - override fun signature(index: Int): ByteArray = signature(index, i) - - override fun string(index: Int): ByteArray = string(index, i) - - override fun body(index: Int): ByteArray = err() - - override fun debugInfo(index: Int): ByteArray? = null - }), null) - - result.add(fileProto.fileEntry.name to sigReader) - } - - return result - } -} - diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/HashCalculatorForIC.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/HashCalculatorForIC.kt new file mode 100644 index 00000000000..f12967c91fe --- /dev/null +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/HashCalculatorForIC.kt @@ -0,0 +1,101 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * 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.backend.js.ic + +import org.jetbrains.kotlin.config.CompilerConfiguration +import org.jetbrains.kotlin.ir.IrElement +import org.jetbrains.kotlin.ir.util.DumpIrTreeVisitor +import org.jetbrains.kotlin.js.config.JSConfigurationKeys +import org.jetbrains.kotlin.library.KotlinLibrary +import org.jetbrains.kotlin.protobuf.CodedInputStream +import org.jetbrains.kotlin.protobuf.CodedOutputStream +import java.io.File +import java.security.MessageDigest + +@JvmInline +value class ICHash(private val value: ULong = 0UL) { + fun combineWith(other: ICHash) = ICHash(value xor (other.value + 0x9e3779b97f4a7c15UL + (value shl 12) + (value shr 4))) + + override fun toString() = value.toString(16) + + fun toProtoStream(out: CodedOutputStream) = out.writeFixed64NoTag(value.toLong()) + + companion object { + fun fromProtoStream(input: CodedInputStream) = ICHash(input.readFixed64().toULong()) + } +} + +private class HashCalculatorForIC { + private companion object { + private val md5 = MessageDigest.getInstance("MD5") + } + + init { + md5.reset() + } + + fun update(data: ByteArray) = md5.update(data) + fun update(data: String) = md5.update(data.toByteArray()) + + private fun bytesToULong(d: ByteArray, offset: Int): ULong { + var hash = 0UL + repeat(8) { + hash = hash or ((d[it + offset].toULong() and 0xFFUL) shl (it * 8)) + } + return hash + } + + fun finalize(): ICHash { + val d = md5.digest() + return ICHash(bytesToULong(d, 0)).combineWith(ICHash(bytesToULong(d, 8))) + } +} + +internal fun File.fileHashForIC(): ICHash { + val md5 = HashCalculatorForIC() + fun File.process(prefix: String = "") { + if (isDirectory) { + this.listFiles()!!.sortedBy { it.name }.forEach { + md5.update(prefix + it.name) + it.process(prefix + it.name + "/") + } + } else { + md5.update(readBytes()) + } + } + this.process() + return md5.finalize() +} + +internal fun CompilerConfiguration.configHashForIC() = HashCalculatorForIC().apply { + val importantBooleanSettingKeys = listOf(JSConfigurationKeys.PROPERTY_LAZY_INITIALIZATION) + for (key in importantBooleanSettingKeys) { + update(key.toString()) + update(getBoolean(key).toString()) + } +}.finalize() + +internal fun IrElement.irElementHashForIC() = HashCalculatorForIC().also { + accept( + visitor = DumpIrTreeVisitor( + out = object : Appendable { + override fun append(csq: CharSequence) = this.apply { it.update(csq.toString()) } + override fun append(csq: CharSequence, start: Int, end: Int) = append(csq.subSequence(start, end)) + override fun append(c: Char) = this.apply { it.update(c.toString()) } + } + ), data = "" + ) +}.finalize() + +internal fun String.stringHashForIC() = HashCalculatorForIC().also { it.update(this) }.finalize() + +internal fun KotlinLibrary.fingerprint(fileIndex: Int) = HashCalculatorForIC().apply { + update(types(fileIndex)) + update(signatures(fileIndex)) + update(strings(fileIndex)) + update(declarations(fileIndex)) + update(bodies(fileIndex)) +}.finalize() diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/IncrementalCache.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/IncrementalCache.kt new file mode 100644 index 00000000000..3f22554dc3d --- /dev/null +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/IncrementalCache.kt @@ -0,0 +1,308 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * 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.backend.js.ic + +import org.jetbrains.kotlin.backend.common.serialization.IdSignatureDeserializer +import org.jetbrains.kotlin.backend.common.serialization.IrLibraryBytesSource +import org.jetbrains.kotlin.backend.common.serialization.IrLibraryFileFromBytes +import org.jetbrains.kotlin.backend.common.serialization.codedInputStream +import org.jetbrains.kotlin.backend.common.serialization.proto.IrFile +import org.jetbrains.kotlin.ir.util.IdSignature +import org.jetbrains.kotlin.library.KotlinLibrary +import org.jetbrains.kotlin.protobuf.CodedInputStream +import org.jetbrains.kotlin.protobuf.CodedOutputStream +import org.jetbrains.kotlin.protobuf.ExtensionRegistryLite +import java.io.File + + +class IncrementalCache(private val library: KotlinLibrary, cachePath: String) : ArtifactCache() { + companion object { + private const val cacheFullInfoFile = "cache.full.info" + private const val cacheFastInfoFile = "cache.fast.info" + private const val binaryAstSuffix = "binary.ast" + } + + class CacheFastInfo( + var moduleName: String? = null, + var flatHash: ICHash = ICHash(), + var transHash: ICHash = ICHash(), + var configHash: ICHash = ICHash(), + var initialFlatHash: ICHash = ICHash() + ) + + private enum class CacheState { NON_LOADED, FETCHED_FOR_DEPENDENCY, FETCHED_FULL } + + private var state = CacheState.NON_LOADED + + private val cacheDir = File(cachePath) + private val signatureToIdMapping = mutableMapOf>() + + private val fingerprints = mutableMapOf() + private val usedInlineFunctions = mutableMapOf>() + private val implementedInlineFunctions = mutableMapOf>() + + private var cacheFastInfo = CacheFastInfo().apply { + File(cacheDir, cacheFastInfoFile).useCodedInputIfExists { + moduleName = readString() + flatHash = ICHash.fromProtoStream(this) + transHash = ICHash.fromProtoStream(this) + configHash = ICHash.fromProtoStream(this) + } + initialFlatHash = flatHash + } + + val srcFingerprints: Map get() = fingerprints + val usedFunctions: Map> get() = usedInlineFunctions + val implementedFunctions: Collection> get() = implementedInlineFunctions.values + + val klibUpdated: Boolean get() = cacheFastInfo.run { initialFlatHash == ICHash() || initialFlatHash != flatHash } + + val klibTransitiveHash: ICHash get() = cacheFastInfo.transHash + + var srcFilesInOrderFromKLib: List = emptyList() + private set + + var deletedSrcFiles: Set = emptySet() + private set + + fun updateSignatureToIdMapping(srcPath: String, mapping: Map) { + signatureToIdMapping[srcPath] = mapping + } + + fun updateHashes( + srcPath: String, fingerprint: ICHash, usedFunctions: Map?, implementedFunctions: Map? + ) { + fingerprints[srcPath] = fingerprint + usedFunctions?.let { usedInlineFunctions[srcPath] = it } + implementedFunctions?.let { implementedInlineFunctions[srcPath] = it } + } + + fun invalidateCacheForNewConfig(configHash: ICHash) { + if (cacheFastInfo.configHash != configHash) { + invalidate() + cacheFastInfo.configHash = configHash + } + } + + fun checkAndUpdateCacheFastInfo(flatHash: ICHash, transHash: ICHash): Boolean { + if (cacheFastInfo.transHash != transHash) { + cacheFastInfo.flatHash = flatHash + cacheFastInfo.transHash = transHash + return false + } + return true + } + + private fun commitCacheFastInfo(klibModuleName: String? = null): Unit = cacheFastInfo.run { + moduleName = klibModuleName ?: moduleName + val name = moduleName ?: error("Internal error: uninitialized fast cache info for ${library.libraryName}") + File(cacheDir, cacheFastInfoFile).useCodedOutput { + writeStringNoTag(name) + flatHash.toProtoStream(this) + transHash.toProtoStream(this) + configHash.toProtoStream(this) + } + } + + private fun CodedInputStream.readFunctionHashes( + deserializer: IdSignatureDeserializer, signatureToId: MutableMap? = null + ): Map? { + val functions = readInt32() + if (functions == 0) { + return null + } + val result = mutableMapOf() + for (funIndex in 0 until functions) { + val sigId = readInt32() + val hash = ICHash.fromProtoStream(this) + try { + val signature = deserializer.deserializeIdSignature(sigId) + result[signature] = hash + signatureToId?.let { it[signature] = sigId } + } catch (ex: IndexOutOfBoundsException) { + // Signature has been removed + } + } + return result + } + + fun fetchFullCacheData() { + when (state) { + CacheState.FETCHED_FULL -> return + CacheState.FETCHED_FOR_DEPENDENCY -> + error("Internal error: cache for ${library.libraryName} has been already fetched for dependency") + CacheState.NON_LOADED -> { + state = CacheState.FETCHED_FULL + val signatureReaders = library.filesAndSigReaders() + srcFilesInOrderFromKLib = signatureReaders.map { it.first } + + File(cacheDir, cacheFullInfoFile).useCodedInputIfExists { + val deleted = mutableSetOf() + + val signatureReadersMap = signatureReaders.toMap() + val srcFiles = readInt32() + for (srcIndex in 0 until srcFiles) { + val srcPath = readString() + val fingerprint = ICHash.fromProtoStream(this) + + val deserializer = signatureReadersMap[srcPath] + if (deserializer != null) { + fingerprints[srcPath] = fingerprint + val signatureToId = mutableMapOf() + readFunctionHashes(deserializer, signatureToId)?.let { implementedInlineFunctions[srcPath] = it } + readFunctionHashes(deserializer, signatureToId)?.let { usedInlineFunctions[srcPath] = it } + if (signatureToId.isNotEmpty()) { + signatureToIdMapping[srcPath] = signatureToId + } + } else { + deleted.add(srcPath) + skipFunctionHashes() + skipFunctionHashes() + } + } + + deletedSrcFiles = deleted + } + } + } + } + + private fun CodedInputStream.skipFunctionHashes() { + val functions = readInt32() + for (funIndex in 0 until functions) { + readInt32() // skip sigid + readFixed64() // skip hash + } + } + + fun fetchCacheDataForDependency() = File(cacheDir, cacheFullInfoFile).useCodedInputIfExists { + if (state == CacheState.NON_LOADED) { + state = CacheState.FETCHED_FOR_DEPENDENCY + val signatureReadersMap = library.filesAndSigReaders().toMap() + + val srcFiles = readInt32() + for (srcIndex in 0 until srcFiles) { + val srcPath = readString() + val fingerprint = ICHash.fromProtoStream(this) + + val deserializer = signatureReadersMap[srcPath] + if (deserializer != null) { + fingerprints[srcPath] = fingerprint + readFunctionHashes(deserializer)?.let { implementedInlineFunctions[srcPath] = it } + } + skipFunctionHashes() + } + } + } + + private fun getBinaryAstPath(srcFile: String): File { + val binaryAstFileName = "${File(srcFile).name}.${srcFile.stringHashForIC()}.$binaryAstSuffix" + return File(cacheDir, binaryAstFileName) + } + + private fun CodedOutputStream.writeFunctionHashes(sigToIndexMap: Map, hashes: Map) { + writeInt32NoTag(hashes.size) + for ((sig, functionHash) in hashes) { + val sigId = sigToIndexMap[sig] ?: error("No index found for sig $sig") + writeInt32NoTag(sigId) + functionHash.toProtoStream(this) + } + } + + private fun commitCacheFullInfo() { + if (state != CacheState.FETCHED_FULL) { + error("Internal error: cache for ${library.libraryName} has not been fetched fully") + } + + File(cacheDir, cacheFullInfoFile).useCodedOutput { + writeInt32NoTag(fingerprints.size) + for ((srcPath, fingerprint) in fingerprints) { + writeStringNoTag(srcPath) + fingerprint.toProtoStream(this) + + val sigToIndexMap = signatureToIdMapping[srcPath] ?: emptyMap() + writeFunctionHashes(sigToIndexMap, implementedInlineFunctions[srcPath] ?: emptyMap()) + writeFunctionHashes(sigToIndexMap, usedInlineFunctions[srcPath] ?: emptyMap()) + } + } + } + + private fun clearCacheAfterCommit() { + state = CacheState.FETCHED_FOR_DEPENDENCY + signatureToIdMapping.clear() + usedInlineFunctions.clear() + srcFilesInOrderFromKLib = emptyList() + deletedSrcFiles = emptySet() + } + + fun commitCacheForRemovedSrcFiles() { + commitCacheFastInfo() + if (deletedSrcFiles.isNotEmpty()) { + commitCacheFullInfo() + } + clearCacheAfterCommit() + } + + fun commitCacheForRebuiltSrcFiles(klibModuleName: String) { + commitCacheFastInfo(klibModuleName) + commitCacheFullInfo() + for ((srcPath, ast) in binaryAsts) { + getBinaryAstPath(srcPath).apply { recreate() }.writeBytes(ast) + } + clearCacheAfterCommit() + } + + override fun fetchArtifacts() = KLibArtifact( + moduleName = cacheFastInfo.moduleName ?: error("Internal error: missing module name"), + fileArtifacts = fingerprints.keys.map { + SrcFileArtifact(it, getBinaryAstPath(it).absolutePath, binaryAsts[it]) + }) + + fun invalidate() { + cacheDir.deleteRecursively() + signatureToIdMapping.clear() + implementedInlineFunctions.clear() + usedInlineFunctions.clear() + fingerprints.clear() + binaryAsts.clear() + cacheFastInfo = CacheFastInfo() + srcFilesInOrderFromKLib = emptyList() + deletedSrcFiles = emptySet() + } + + fun invalidateForSrcFile(srcPath: String) { + getBinaryAstPath(srcPath).delete() + signatureToIdMapping.remove(srcPath) + implementedInlineFunctions.remove(srcPath) + usedInlineFunctions.remove(srcPath) + fingerprints.remove(srcPath) + binaryAsts.remove(srcPath) + } + + private fun KotlinLibrary.filesAndSigReaders(): List> { + val fileSize = fileCount() + val result = ArrayList>(fileSize) + val extReg = ExtensionRegistryLite.newInstance() + + for (i in 0 until fileSize) { + val fileStream = file(i).codedInputStream + val fileProto = IrFile.parseFrom(fileStream, extReg) + val sigReader = IdSignatureDeserializer(IrLibraryFileFromBytes(object : IrLibraryBytesSource() { + private fun err(): Nothing = error("Not supported") + override fun irDeclaration(index: Int): ByteArray = err() + override fun type(index: Int): ByteArray = err() + override fun signature(index: Int): ByteArray = signature(index, i) + override fun string(index: Int): ByteArray = string(index, i) + override fun body(index: Int): ByteArray = err() + override fun debugInfo(index: Int): ByteArray? = null + }), null) + + result.add(fileProto.fileEntry.name to sigReader) + } + + return result + } +} diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/InlineGraphTracker.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/InlineGraphTracker.kt index 64539b7ef24..4dca8a68146 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/InlineGraphTracker.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/InlineGraphTracker.kt @@ -10,63 +10,39 @@ import org.jetbrains.kotlin.ir.declarations.IrFile import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction import org.jetbrains.kotlin.ir.expressions.IrCall import org.jetbrains.kotlin.ir.util.IdSignature -import org.jetbrains.kotlin.ir.util.dump import org.jetbrains.kotlin.ir.util.file import org.jetbrains.kotlin.ir.util.render import org.jetbrains.kotlin.ir.visitors.IrElementVisitor import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid -import org.jetbrains.kotlin.utils.DFS -import java.security.MessageDigest -fun ByteArray.md5(): Hash { - val d = MessageDigest.getInstance("MD5").digest(this)!! - return ((d[0].toLong() and 0xFFL) - or ((d[1].toLong() and 0xFFL) shl 8) - or ((d[2].toLong() and 0xFFL) shl 16) - or ((d[3].toLong() and 0xFFL) shl 24) - or ((d[4].toLong() and 0xFFL) shl 32) - or ((d[5].toLong() and 0xFFL) shl 40) - or ((d[6].toLong() and 0xFFL) shl 48) - or ((d[7].toLong() and 0xFFL) shl 56)) -} class InlineFunctionFlatHashBuilder : IrElementVisitorVoid { override fun visitElement(element: IrElement) { element.acceptChildren(this, null) } - - private val fileToHash: MutableMap> = mutableMapOf() - - private var currentMap: MutableMap? = null - - override fun visitFile(declaration: IrFile) { - currentMap = fileToHash.getOrPut(declaration) { mutableMapOf() } - declaration.acceptChildren(this, null) - currentMap = null - } - override fun visitSimpleFunction(declaration: IrSimpleFunction) { if (declaration.isInline) { - val m = currentMap ?: error("No graph map set for ${declaration.render()}") - m[declaration] = declaration.dump().toByteArray().md5() + flatHashes[declaration] = declaration.irElementHashForIC() } - // do not go deeper since local declaration cannot be public api + // go deeper since local inline special declarations (like a reference adaptor) may appear + declaration.acceptChildren(this, null) } - val idToHashMap: Map get() = fileToHash.values.flatMap { it.entries }.map { it.key to it.value }.toMap() + private val flatHashes = mutableMapOf() + fun getFlatHashes() = flatHashes } interface InlineFunctionHashProvider { - fun hashForExternalFunction(declaration: IrSimpleFunction): TransHash? + fun hashForExternalFunction(declaration: IrSimpleFunction): ICHash? } class InlineFunctionHashBuilder( private val hashProvider: InlineFunctionHashProvider, - private val flatHashes: Map + private val flatHashes: Map ) { - private val inlineGraph: MutableMap> = mutableMapOf() + private val inlineFunctionCallGraph: MutableMap> = mutableMapOf() private inner class GraphBuilder : IrElementVisitor> { @@ -76,7 +52,7 @@ class InlineFunctionHashBuilder( override fun visitSimpleFunction(declaration: IrSimpleFunction, data: MutableSet) { val newGraph = mutableSetOf() - inlineGraph[declaration] = newGraph + inlineFunctionCallGraph[declaration] = newGraph declaration.acceptChildren(this, newGraph) } @@ -92,95 +68,69 @@ class InlineFunctionHashBuilder( } } + private inner class InlineFunctionHashProcessor { + private val computedHashes = mutableMapOf() + private val processingFunctions = mutableSetOf() - private fun topologicalOrder(): List { - return DFS.topologicalOrder(inlineGraph.keys) { - inlineGraph[it]?.filter { f -> f in inlineGraph } ?: run { -// assert() not in current module - emptySet() + private fun processInlineFunction(f: IrSimpleFunction): ICHash = computedHashes.getOrPut(f) { + if (!processingFunctions.add(f)) { + error("Inline circle through function ${f.render()} detected") } + val callees = inlineFunctionCallGraph[f] ?: error("Internal error: Inline function is missed in inline graph ${f.render()}") + val flatHash = flatHashes[f] ?: error("Internal error: No flat hash for ${f.render()}") + var functionInlineHash = flatHash + for (callee in callees) { + functionInlineHash = functionInlineHash.combineWith(processCallee(callee)) + } + processingFunctions.remove(f) + functionInlineHash + } + + private fun processCallee(callee: IrSimpleFunction): ICHash { + if (callee in flatHashes) { + return processInlineFunction(callee) + } + return hashProvider.hashForExternalFunction(callee) ?: error("Internal error: No hash found for ${callee.render()}") + } + + fun process(): Map { + for ((f, callees) in inlineFunctionCallGraph.entries) { + if (f.isInline) { + processInlineFunction(f) + } else { + callees.forEach(::processCallee) + } + } + return computedHashes } } - private fun checkCircles() { - - val visited = mutableSetOf() - - // TODO: check whether algorithm is correct - for (f in inlineGraph.keys) { - - fun walk(current: IrSimpleFunction) { - if (!visited.add(current)) { - error("Inline circle detected: ${current.render()} into ${f.render()}") - } - - inlineGraph[current]?.let { - it.forEach { callee -> walk(callee) } - } - - visited.remove(current) - } - - walk(f) - - assert(visited.isEmpty()) - } - } - - - fun buildHashes(dirtyFiles: Collection): Map { - + fun buildHashes(dirtyFiles: Collection): Map { dirtyFiles.forEach { it.acceptChildren(GraphBuilder(), mutableSetOf()) } - - checkCircles() - - val rpo = topologicalOrder() - - val computedHashes = mutableMapOf() - - fun transHash(callee: IrSimpleFunction): TransHash { - return computedHashes[callee] ?: hashProvider.hashForExternalFunction(callee) - ?: error("Internal error: No has found for ${callee.render()}") - } - - for (f in rpo.asReversed()) { - if (!f.isInline) continue - val stringHash = buildString { - val callees = inlineGraph[f] - ?: error("Expected to be in") - // TODO: should it be a kind of stable order? - for (callee in callees) { - val hash = transHash(callee) - append(hash.toString(Character.MAX_RADIX)) - } - - append(flatHashes[f] ?: error("Internal error: No flat hash for ${f.render()}")) - } - - computedHashes[f] = stringHash.toByteArray().md5() - } - - return computedHashes + return InlineFunctionHashProcessor().process() } - fun buildInlineGraph(computedHashed: Map): Map>> { - val perFileInlineGraph = inlineGraph.entries.groupBy({ it.key.file }) { + fun buildInlineGraph(computedHashed: Map): Map> { + val perFileInlineGraph = inlineFunctionCallGraph.entries.groupBy({ it.key.file }) { it.value } - return perFileInlineGraph.map { - it.key to it.value.flatMap { edges -> - edges.mapNotNull { callee -> - // TODO: use resolved FO + return perFileInlineGraph.entries.associate { + val usedInlineFunctions = mutableMapOf() + it.value.forEach { edges -> + edges.forEach { callee -> if (!callee.isFakeOverride) { val signature = callee.symbol.signature // ?: error("Expecting signature for ${callee.render()}") if (signature?.visibleCrossFile == true) { - signature to (computedHashed[callee] ?: hashProvider.hashForExternalFunction(callee) - ?: error("Internal error: No has found for ${callee.render()}")) - } else null - } else null + val calleeHash = computedHashed[callee] + ?: hashProvider.hashForExternalFunction(callee) + ?: error("Internal error: No has found for ${callee.render()}") + usedInlineFunctions[signature] = calleeHash + } + } } } - }.toMap() + it.key to usedInlineFunctions + } } } diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/JsIrLinkerLoader.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/JsIrLinkerLoader.kt new file mode 100644 index 00000000000..99a7a3e1aac --- /dev/null +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/JsIrLinkerLoader.kt @@ -0,0 +1,99 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * 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.backend.js.ic + +import org.jetbrains.kotlin.backend.common.serialization.signature.IdSignatureDescriptor +import org.jetbrains.kotlin.config.CompilerConfiguration +import org.jetbrains.kotlin.config.languageVersionSettings +import org.jetbrains.kotlin.descriptors.ModuleDescriptor +import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl +import org.jetbrains.kotlin.incremental.components.LookupTracker +import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI +import org.jetbrains.kotlin.ir.backend.js.JsFactories +import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsIrLinker +import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsManglerDesc +import org.jetbrains.kotlin.ir.declarations.IrFactory +import org.jetbrains.kotlin.ir.declarations.IrModuleFragment +import org.jetbrains.kotlin.ir.descriptors.IrBuiltInsOverDescriptors +import org.jetbrains.kotlin.ir.util.ExternalDependenciesGenerator +import org.jetbrains.kotlin.ir.util.IrMessageLogger +import org.jetbrains.kotlin.ir.util.SymbolTable +import org.jetbrains.kotlin.library.KotlinLibrary +import org.jetbrains.kotlin.library.unresolvedDependencies +import org.jetbrains.kotlin.psi2ir.generators.TypeTranslatorImpl +import org.jetbrains.kotlin.storage.LockBasedStorageManager + + +internal class JsIrLinkerLoader( + private val compilerConfiguration: CompilerConfiguration, + private val library: KotlinLibrary, + private val dependencyGraph: Map>, + private val irFactory: IrFactory +) { + @OptIn(ObsoleteDescriptorBasedAPI::class) + private fun createLinker(loadedModules: Map): JsIrLinker { + val logger = compilerConfiguration[IrMessageLogger.IR_MESSAGE_LOGGER] ?: IrMessageLogger.None + val signaturer = IdSignatureDescriptor(JsManglerDesc) + val symbolTable = SymbolTable(signaturer, irFactory) + val moduleDescriptor = loadedModules.keys.last() + val typeTranslator = TypeTranslatorImpl(symbolTable, compilerConfiguration.languageVersionSettings, moduleDescriptor) + val irBuiltIns = IrBuiltInsOverDescriptors(moduleDescriptor.builtIns, typeTranslator, symbolTable) + return JsIrLinker(null, logger, irBuiltIns, symbolTable, null) + } + + private fun loadModules(): Map { + val descriptors = mutableMapOf() + var runtimeModule: ModuleDescriptorImpl? = null + + // TODO: deduplicate this code using part from klib.kt + fun getModuleDescriptor(current: KotlinLibrary): ModuleDescriptorImpl = descriptors.getOrPut(current) { + val isBuiltIns = current.unresolvedDependencies.isEmpty() + + val lookupTracker = LookupTracker.DO_NOTHING + val md = JsFactories.DefaultDeserializedDescriptorFactory.createDescriptorOptionalBuiltIns( + current, + compilerConfiguration.languageVersionSettings, + LockBasedStorageManager.NO_LOCKS, + runtimeModule?.builtIns, + packageAccessHandler = null, // TODO: This is a speed optimization used by Native. Don't bother for now. + lookupTracker = lookupTracker + ) + if (isBuiltIns) runtimeModule = md + + val dependencies = dependencyGraph[current]!!.map { getModuleDescriptor(it) } + md.setDependencies(listOf(md) + dependencies) + md + } + + return dependencyGraph.keys.associateBy { klib -> getModuleDescriptor(klib) } + } + + fun processJsIrLinker(dirtyFiles: Collection?): Triple> { + val loadedModules = loadModules() + val jsIrLinker = createLinker(loadedModules) + val irModules = ArrayList>(loadedModules.size) + + // TODO: modules deserialized here have to be reused for cache building further + for ((descriptor, loadedLibrary) in loadedModules) { + if (library == loadedLibrary) { + if (dirtyFiles != null) { + irModules.add(jsIrLinker.deserializeDirtyFiles(descriptor, loadedLibrary, dirtyFiles) to loadedLibrary) + } else { + irModules.add(jsIrLinker.deserializeFullModule(descriptor, loadedLibrary) to loadedLibrary) + } + } else { + irModules.add(jsIrLinker.deserializeHeadersWithInlineBodies(descriptor, loadedLibrary) to loadedLibrary) + } + } + + jsIrLinker.init(null, emptyList()) + ExternalDependenciesGenerator(jsIrLinker.symbolTable, listOf(jsIrLinker)).generateUnboundSymbolsAsDependencies() + jsIrLinker.postProcess() + + val currentIrModule = irModules.find { it.second == library }?.first!! + return Triple(jsIrLinker, currentIrModule, irModules.map { it.first }) + } +} diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/fileUtils.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/fileUtils.kt new file mode 100644 index 00000000000..9b8f7316268 --- /dev/null +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/fileUtils.kt @@ -0,0 +1,35 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * 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.backend.js.ic + +import org.jetbrains.kotlin.protobuf.CodedInputStream +import org.jetbrains.kotlin.protobuf.CodedOutputStream +import java.io.File +import java.io.FileInputStream +import java.io.FileOutputStream + +internal inline fun File.ifExists(f: File.() -> T): T? = if (exists()) f() else null + +internal fun File.recreate() { + if (exists()) { + delete() + } + createNewFile() +} + +internal inline fun File.useCodedInputIfExists(f: CodedInputStream.() -> Unit) = ifExists { + CodedInputStream.newInstance(FileInputStream(this)).f() +} + +internal inline fun File.useCodedOutput(f: CodedOutputStream.() -> Unit) { + parentFile?.mkdirs() + recreate() + FileOutputStream(this).use { + val out = CodedOutputStream.newInstance(it) + out.f() + out.flush() + } +} diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/invalidation.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/invalidation.kt index 9065e3c1f78..fe51c86f574 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/invalidation.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/invalidation.kt @@ -5,279 +5,20 @@ package org.jetbrains.kotlin.ir.backend.js.ic -import org.jetbrains.kotlin.backend.common.serialization.signature.IdSignatureDescriptor import org.jetbrains.kotlin.config.CompilerConfiguration -import org.jetbrains.kotlin.config.LanguageVersionSettings -import org.jetbrains.kotlin.config.languageVersionSettings -import org.jetbrains.kotlin.descriptors.ModuleDescriptor -import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl -import org.jetbrains.kotlin.incremental.components.LookupTracker -import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.backend.js.* import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsIrLinker -import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsManglerDesc import org.jetbrains.kotlin.ir.declarations.IrFactory import org.jetbrains.kotlin.ir.declarations.IrModuleFragment import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction -import org.jetbrains.kotlin.ir.descriptors.IrBuiltInsOverDescriptors import org.jetbrains.kotlin.ir.util.* import org.jetbrains.kotlin.ir.visitors.acceptVoid import org.jetbrains.kotlin.js.config.JSConfigurationKeys import org.jetbrains.kotlin.konan.properties.propertyList import org.jetbrains.kotlin.library.KLIB_PROPERTY_DEPENDS import org.jetbrains.kotlin.library.KotlinLibrary -import org.jetbrains.kotlin.library.unresolvedDependencies import org.jetbrains.kotlin.name.FqName -import org.jetbrains.kotlin.psi2ir.generators.TypeTranslatorImpl -import org.jetbrains.kotlin.storage.LockBasedStorageManager import java.io.File -import java.security.MessageDigest - -private fun KotlinLibrary.fingerprint(fileIndex: Int): Hash { - return ((((types(fileIndex).md5() * 31) + signatures(fileIndex).md5()) * 31 + strings(fileIndex).md5()) * 31 + declarations(fileIndex).md5()) * 31 + bodies( - fileIndex - ).md5() -} - -private fun invalidateCacheForModule( - library: KotlinLibrary, - libraryFiles: List, - externalHashes: Map, - cachedInlineHashesForFile: MutableMap>, - cacheProvider: CacheLazyLoader, - cacheConsumer: PersistentCacheConsumer, - fileFingerPrints: MutableMap -): Pair, Collection> { - - val dirtyFiles = mutableSetOf() - - for ((index, file) in libraryFiles.withIndex()) { - - // 1. get cached fingerprints - val fileOldFingerprint = cacheProvider.getFileFingerPrint(file) - - // 2. calculate new fingerprints - val fileNewFingerprint = library.fingerprint(index) - - if (fileOldFingerprint != fileNewFingerprint) { - fileFingerPrints[file] = fileNewFingerprint - cachedInlineHashesForFile.remove(file) - - // 3. form initial dirty set - dirtyFiles.add(file) - } - } - - // 4. extend dirty set with inline functions - do { - if (dirtyFiles.size == libraryFiles.size) break - - val oldSize = dirtyFiles.size - for (file in libraryFiles) { - - if (file in dirtyFiles) continue - - // check for clean file - val inlineGraph = cacheProvider.getInlineGraphForFile(file) - - for ((sig, oldHash) in inlineGraph) { - val actualHash = externalHashes[sig] ?: cachedInlineHashesForFile.values.firstNotNullOfOrNull { it[sig] } - // null means inline function is from dirty file, could be a bit more optimal - if (actualHash == null || oldHash != actualHash) { - cachedInlineHashesForFile.remove(file) - dirtyFiles.add(file) - fileFingerPrints[file] = cacheProvider.getFileFingerPrint(file) - break - } - } - } - } while (oldSize != dirtyFiles.size) - - // 5. invalidate file caches - for (dirty in dirtyFiles) { - cacheConsumer.invalidateForFile(dirty) - } - - val cachedFiles = cacheProvider.getFilePaths() - val deletedFiles = cachedFiles - libraryFiles.toSet() - - for (deleted in deletedFiles) { - cacheConsumer.invalidateForFile(deleted) - } - - cacheProvider.clearCaches() - return dirtyFiles to deletedFiles -} - -private fun CacheInfo.commitLibraryInfo(cacheConsumer: PersistentCacheConsumer, newModuleName: String? = null) { - cacheConsumer.commitLibraryInfo( - libPath.toCanonicalPath(), - newModuleName ?: moduleName ?: error("Cannot find module name for $libPath module"), - flatHash, - transHash, - configHash - ) -} - -private fun buildCacheForModule( - configuration: CompilerConfiguration, - irModule: IrModuleFragment, - deserializer: JsIrLinker, - dependencies: Collection, - dirtyFiles: Collection, - deletedFiles: Collection, - cleanInlineHashes: Map, - cacheConsumer: PersistentCacheConsumer, - signatureDeserializers: Map>, - fileFingerPrints: Map, - mainArguments: List?, - cacheExecutor: CacheExecutor -) { - val dirtyIrFiles = irModule.files.filter { it.fileEntry.name in dirtyFiles } - - val flatHasher = InlineFunctionFlatHashBuilder() - - dirtyIrFiles.forEach { it.acceptVoid(flatHasher) } - - val flatHashes = flatHasher.idToHashMap - - val hashProvider = object : InlineFunctionHashProvider { - override fun hashForExternalFunction(declaration: IrSimpleFunction): TransHash? { - return declaration.symbol.signature?.let { cleanInlineHashes[it] } - } - } - - val hashBuilder = InlineFunctionHashBuilder(hashProvider, flatHashes) - - val hashes = hashBuilder.buildHashes(dirtyIrFiles) - - val splitPerFiles = - hashes.entries.filter { !it.key.isFakeOverride && (it.key.symbol.signature?.visibleCrossFile ?: false) }.groupBy({ it.key.file }) { - val signature = it.key.symbol.signature ?: error("Unexpected private inline fun ${it.key.render()}") - signature to it.value - } - - val inlineGraph = hashBuilder.buildInlineGraph(hashes) - - dirtyIrFiles.forEach { irFile -> - val fileName = irFile.fileEntry.name - val sigToIndexMap = signatureDeserializers[fileName] ?: error("No sig2id mapping found for $fileName") - val indexResolver: (IdSignature) -> Int = { sigToIndexMap[it] ?: error("No index found for sig $it") } - val inlineHashes = splitPerFiles[irFile] ?: emptyList() - cacheConsumer.commitInlineFunctions(fileName, inlineHashes, indexResolver) - val fileInlineGraph = inlineGraph[irFile] ?: emptyList() - cacheConsumer.commitInlineGraph(fileName, fileInlineGraph, indexResolver) - cacheConsumer.commitFileFingerPrint(fileName, fileFingerPrints[fileName] ?: error("No fingerprint found for file $fileName")) - } - - // TODO: actual way of building a cache could change in future - - cacheExecutor.execute( - irModule, - dependencies, - deserializer, - configuration, - dirtyFiles, - deletedFiles, - cacheConsumer, - emptySet(), - mainArguments - ) -} - -private fun loadModules( - languageVersionSettings: LanguageVersionSettings, - dependencyGraph: Map> -): Map { - val descriptors = mutableMapOf() - - var runtimeModule: ModuleDescriptorImpl? = null - - // TODO: deduplicate this code using part from klib.kt - fun getModuleDescriptor(current: KotlinLibrary): ModuleDescriptorImpl = descriptors.getOrPut(current) { - val isBuiltIns = current.unresolvedDependencies.isEmpty() - - val lookupTracker = LookupTracker.DO_NOTHING - val md = JsFactories.DefaultDeserializedDescriptorFactory.createDescriptorOptionalBuiltIns( - current, - languageVersionSettings, - LockBasedStorageManager.NO_LOCKS, - runtimeModule?.builtIns, - packageAccessHandler = null, // TODO: This is a speed optimization used by Native. Don't bother for now. - lookupTracker = lookupTracker - ) - if (isBuiltIns) runtimeModule = md - - val dependencies = dependencyGraph[current]!!.map { getModuleDescriptor(it) } - md.setDependencies(listOf(md) + dependencies) - md - } - - - return dependencyGraph.keys.associateBy { klib -> getModuleDescriptor(klib) } -} - -@OptIn(ObsoleteDescriptorBasedAPI::class) -private fun createLinker( - configuration: CompilerConfiguration, - loadedModules: Map, - irFactory: IrFactory -): JsIrLinker { - val logger = configuration[IrMessageLogger.IR_MESSAGE_LOGGER] ?: IrMessageLogger.None - val signaturer = IdSignatureDescriptor(JsManglerDesc) - val symbolTable = SymbolTable(signaturer, irFactory) - val moduleDescriptor = loadedModules.keys.last() - val typeTranslator = TypeTranslatorImpl(symbolTable, configuration.languageVersionSettings, moduleDescriptor) - val irBuiltIns = IrBuiltInsOverDescriptors(moduleDescriptor.builtIns, typeTranslator, symbolTable) - return JsIrLinker(null, logger, irBuiltIns, symbolTable, null) -} - - -fun Map>.transitiveClosure(library: KotlinLibrary): Collection { - val visited = mutableSetOf() - - fun walk(lib: KotlinLibrary) { - if (visited.add(lib)) { - get(lib)?.let { it.forEach { d -> walk(d) } } - } - } - - walk(library) - - return visited -} - -private fun createCacheProvider(path: String): PersistentCacheProvider { - return PersistentCacheProviderImpl(path) -} - -private fun createCacheConsumer(path: String): PersistentCacheConsumer { - return PersistentCacheConsumerImpl(path) -} - -fun loadCacheInfo(cachePaths: Collection): MutableMap { - val caches = cachePaths.map { CacheInfo.load(it) ?: error("Cannot load IC cache from $it") } - val result = mutableMapOf() - return caches.associateByTo(result) { it.libPath.toCanonicalPath() } -} - -fun String.toCanonicalPath(): String = File(this).canonicalPath - -private fun KotlinLibrary.moduleCanonicalName() = libraryFile.path.toCanonicalPath() - -private fun loadLibraries(configuration: CompilerConfiguration, dependencies: Collection): Map { - val allResolvedDependencies = jsResolveLibraries( - dependencies, - configuration[JSConfigurationKeys.REPOSITORIES] ?: emptyList(), - configuration[IrMessageLogger.IR_MESSAGE_LOGGER].toResolverLogger() - ) - - return allResolvedDependencies.getFullList().associateBy { it.moduleCanonicalName() } -} - -typealias ModuleName = String -typealias ModulePath = String -typealias FilePath = String fun interface CacheExecutor { @@ -287,345 +28,295 @@ fun interface CacheExecutor { deserializer: JsIrLinker, configuration: CompilerConfiguration, dirtyFiles: Collection?, // if null consider the whole module dirty - deletedFiles: Collection, - cacheConsumer: PersistentCacheConsumer, + artifactCache: ArtifactCache, exportedDeclarations: Set, mainArguments: List?, ) } -private fun calcMD5(feeder: (MessageDigest) -> Unit): ULong { - val md5 = MessageDigest.getInstance("MD5") - feeder(md5) - - val d = md5.digest() - return ((d[0].toULong() and 0xFFUL) - or ((d[1].toULong() and 0xFFUL) shl 8) - or ((d[2].toULong() and 0xFFUL) shl 16) - or ((d[3].toULong() and 0xFFUL) shl 24) - or ((d[4].toULong() and 0xFFUL) shl 32) - or ((d[5].toULong() and 0xFFUL) shl 40) - or ((d[6].toULong() and 0xFFUL) shl 48) - or ((d[7].toULong() and 0xFFUL) shl 56) - ) +sealed class CacheUpdateStatus { + object FastPath : CacheUpdateStatus() + class NoDirtyFiles(val removed: Set) : CacheUpdateStatus() + class Dirty(val removed: Set, val updated: Set, val updatedAll: Boolean) : CacheUpdateStatus() } -private fun File.md5(): ULong { - fun File.process(md5: MessageDigest, prefix: String = "") { - if (isDirectory) { - this.listFiles()!!.sortedBy { it.name }.forEach { - md5.update((prefix + it.name).toByteArray()) - it.process(md5, prefix + it.name + "/") - } - } else { - md5.update(readBytes()) - } - } - return calcMD5 { this.process(it) } -} - -private fun CompilerConfiguration.calcMD5(): ULong { - val importantBooleanSettingKeys = listOf(JSConfigurationKeys.PROPERTY_LAZY_INITIALIZATION) - return calcMD5 { - for (key in importantBooleanSettingKeys) { - it.update(key.toString().toByteArray()) - it.update(getBoolean(key).toString().toByteArray()) - } - } -} - -private fun checkLibrariesHash( - currentLib: KotlinLibrary, - dependencyGraph: Map>, - currentCache: CacheInfo, - icCacheMap: Map, - modulePath: ModulePath -): Boolean { - val flatHash = File(modulePath).md5() - - val dependencies = dependencyGraph[currentLib] ?: error("Cannot find dependencies for ${currentLib.libraryName}") - - var transHash = flatHash - - for (dep in dependencies) { - val depCache = icCacheMap[dep.libraryFile.canonicalPath] ?: error("Cannot cache info for ${dep.libraryName}") - transHash += depCache.transHash - } - - if (currentCache.transHash != transHash) { - currentCache.flatHash = flatHash - currentCache.transHash = transHash - return false - } - - return true -} - -private fun CacheInfo.invalidateCacheForNewConfig(configMD5: ULong, cacheConsumer: PersistentCacheConsumer) { - if (configHash != configMD5) { - cacheConsumer.invalidate() - flatHash = 0UL - transHash = 0UL - configHash = configMD5 - } -} - -enum class CacheUpdateStatus(val upToDate: Boolean) { - DIRTY(upToDate = false), - NO_DIRTY_FILES(upToDate = true), - FAST_PATH(upToDate = true) -} - -fun actualizeCaches( - includes: String, - compilerConfiguration: CompilerConfiguration, - dependencies: Collection, - icCachePaths: Collection, - irFactory: () -> IrFactory, - mainArguments: List?, - executor: CacheExecutor, - callback: (CacheUpdateStatus, String) -> Unit -): List { - val (libraries, dependencyGraph, configMD5) = CacheConfiguration(dependencies, compilerConfiguration) - val cacheMap = libraries.values.zip(icCachePaths).toMap() - - val icCacheMap = mutableMapOf() - val resultCaches = mutableListOf() - val persistentCacheProviders = mutableMapOf() - - val visitedLibraries = mutableSetOf() - fun visitDependency(library: KotlinLibrary) { - if (library in visitedLibraries) return - visitedLibraries.add(library) - - val libraryDeps = dependencyGraph[library] ?: error("Unknown library ${library.libraryName}") - libraryDeps.forEach { visitDependency(it) } - - val cachePath = cacheMap[library] ?: error("Unknown cache for library ${library.libraryName}") - resultCaches.add(cachePath) - - val modulePath = library.moduleCanonicalName() - val cacheInfo = CacheInfo.loadOrCreate(cachePath, modulePath) - icCacheMap[modulePath] = cacheInfo - - val cacheConsumer = createCacheConsumer(cachePath) - persistentCacheProviders[library] = CacheLazyLoader(createCacheProvider(cachePath), library) - - cacheInfo.invalidateCacheForNewConfig(configMD5, cacheConsumer) - val updateStatus = when { - checkLibrariesHash(library, dependencyGraph, cacheInfo, icCacheMap, modulePath) -> CacheUpdateStatus.FAST_PATH - else -> actualizeCacheForModule( - library = library, - libraryInfo = cacheInfo, - configuration = compilerConfiguration, - dependencyGraph = getDependencySubGraphFor(library, dependencyGraph), - persistentCacheProviders = persistentCacheProviders, - persistentCacheConsumer = cacheConsumer, - irFactory = irFactory(), - mainArguments = mainArguments, - cacheExecutor = executor, - ) - } - - callback(updateStatus, modulePath) - } - - val canonicalIncludes = includes.toCanonicalPath() - val mainLibrary = libraries[canonicalIncludes] ?: error("Main library not found in libraries: $canonicalIncludes") - visitDependency(mainLibrary) - return resultCaches -} - -private fun getDependencySubGraphFor( - targetLib: KotlinLibrary, - dependencyGraph: Map> -): Map> { - val subGraph = mutableMapOf>() - - fun addDependsFor(library: KotlinLibrary) { - if (library in subGraph) { - return - } - val dependencies = dependencyGraph[library] ?: error("Cannot find dependencies for ${library.libraryName}") - subGraph[library] = dependencies - for (dependency in dependencies) { - addDependsFor(dependency) - } - } - addDependsFor(targetLib) - return subGraph -} - -class CacheConfiguration( - private val dependencies: Collection, - val compilerConfiguration: CompilerConfiguration +class CacheUpdater( + private val rootModule: String, + private val allModules: Collection, + private val compilerConfiguration: CompilerConfiguration, + private val icCachePaths: Collection, + private val irFactory: () -> IrFactory, + private val mainArguments: List?, + private val executor: CacheExecutor ) { - val libraries: Map = loadLibraries(compilerConfiguration, dependencies) + private fun KotlinLibrary.moduleCanonicalName() = libraryFile.canonicalPath - val dependencyGraph: Map> - get() { - val nameToKotlinLibrary: Map = libraries.values.associateBy { it.moduleName } + private inner class KLibCacheUpdater( + private val library: KotlinLibrary, + private val dependencyGraph: Map>, + private val incrementalCache: IncrementalCache, + private val klibIncrementalCaches: Map + ) { + private fun invalidateCacheForModule(externalHashes: Map): Pair, Map> { + val fileFingerPrints = mutableMapOf() + val dirtyFiles = mutableSetOf() - return libraries.values.associateWith { - it.manifestProperties.propertyList(KLIB_PROPERTY_DEPENDS, escapeInQuotes = true).map { depName -> - nameToKotlinLibrary[depName] ?: error("No Library found for $depName") + if (incrementalCache.klibUpdated) { + for ((index, file) in incrementalCache.srcFilesInOrderFromKLib.withIndex()) { + // 1. get cached fingerprints + val fileOldFingerprint = incrementalCache.srcFingerprints[file] ?: 0 + + // 2. calculate new fingerprints + val fileNewFingerprint = library.fingerprint(index) + + if (fileOldFingerprint != fileNewFingerprint) { + fileFingerPrints[file] = fileNewFingerprint + incrementalCache.invalidateForSrcFile(file) + + // 3. form initial dirty set + dirtyFiles.add(file) + } } } + + // 4. extend dirty set with inline functions + do { + if (dirtyFiles.size == incrementalCache.srcFilesInOrderFromKLib.size) break + + val oldSize = dirtyFiles.size + for (file in incrementalCache.srcFilesInOrderFromKLib) { + + if (file in dirtyFiles) continue + + // check for clean file + val usedInlineFunctions = incrementalCache.usedFunctions[file] ?: emptyMap() + + for ((sig, oldHash) in usedInlineFunctions) { + val actualHash = externalHashes[sig] ?: incrementalCache.implementedFunctions.firstNotNullOfOrNull { it[sig] } + // null means inline function is from dirty file, could be a bit more optimal + if (actualHash == null || oldHash != actualHash) { + fileFingerPrints[file] = incrementalCache.srcFingerprints[file] ?: error("Cannot find fingerprint for $file") + incrementalCache.invalidateForSrcFile(file) + dirtyFiles.add(file) + break + } + } + } + } while (oldSize != dirtyFiles.size) + + // 5. invalidate file caches + for (deleted in incrementalCache.deletedSrcFiles) { + incrementalCache.invalidateForSrcFile(deleted) + } + + return dirtyFiles to fileFingerPrints } - val configMD5 - get() = compilerConfiguration.calcMD5() + private fun getDependencySubGraph(): Map> { + val subGraph = mutableMapOf>() - operator fun component1() = libraries - operator fun component2() = dependencyGraph - operator fun component3() = configMD5 + fun addDependsFor(library: KotlinLibrary) { + if (library in subGraph) { + return + } + val dependencies = dependencyGraph[library] ?: error("Cannot find dependencies for ${library.libraryName}") + subGraph[library] = dependencies + for (dependency in dependencies) { + addDependsFor(dependency) + } + } + addDependsFor(library) + return subGraph + } + + private fun buildCacheForModule( + irModule: IrModuleFragment, + deserializer: JsIrLinker, + dependencies: Collection, + dirtyFiles: Collection, + cleanInlineHashes: Map, + fileFingerPrints: Map + ) { + val dirtyIrFiles = irModule.files.filter { it.fileEntry.name in dirtyFiles } + + val flatHashes = InlineFunctionFlatHashBuilder().apply { + dirtyIrFiles.forEach { it.acceptVoid(this) } + }.getFlatHashes() + + val hashProvider = object : InlineFunctionHashProvider { + override fun hashForExternalFunction(declaration: IrSimpleFunction): ICHash? { + return declaration.symbol.signature?.let { cleanInlineHashes[it] } + } + } + + val hashBuilder = InlineFunctionHashBuilder(hashProvider, flatHashes) + + val hashes = hashBuilder.buildHashes(dirtyIrFiles) + + val splitPerFiles = hashes.entries.filter { !it.key.isFakeOverride && (it.key.symbol.signature?.visibleCrossFile ?: false) } + .groupBy({ it.key.file }) { + val signature = it.key.symbol.signature ?: error("Unexpected private inline fun ${it.key.render()}") + signature to it.value + } + + val inlineGraph = hashBuilder.buildInlineGraph(hashes) + + dirtyIrFiles.forEach { irFile -> + val fileName = irFile.fileEntry.name + incrementalCache.updateHashes( + srcPath = fileName, + fingerprint = fileFingerPrints[fileName] ?: error("No fingerprint found for file $fileName"), + usedFunctions = inlineGraph[irFile], + implementedFunctions = splitPerFiles[irFile]?.toMap() + ) + } + + // TODO: actual way of building a cache could change in future + executor.execute( + irModule, dependencies, deserializer, compilerConfiguration, dirtyFiles, incrementalCache, emptySet(), mainArguments + ) + } + + fun checkLibrariesHash(): Boolean { + val flatHash = File(library.moduleCanonicalName()).fileHashForIC() + val dependencies = dependencyGraph[library] ?: error("Cannot find dependencies for ${library.libraryName}") + + var transHash = flatHash + for (dep in dependencies) { + val depCache = klibIncrementalCaches[dep] ?: error("Cannot cache info for ${dep.libraryName}") + transHash = transHash.combineWith(depCache.klibTransitiveHash) + } + return incrementalCache.checkAndUpdateCacheFastInfo(flatHash, transHash) + } + + fun actualizeCacheForModule(): CacheUpdateStatus { + // 1. Invalidate + val dependencies = dependencyGraph[library]!! + + val incrementalCache = klibIncrementalCaches[library] ?: error("No cache provider for $library") + + val sigHashes = mutableMapOf() + dependencies.forEach { lib -> + klibIncrementalCaches[lib]?.let { libCache -> + libCache.fetchCacheDataForDependency() + libCache.implementedFunctions.forEach { sigHashes.putAll(it) } + } + } + + incrementalCache.fetchFullCacheData() + val (dirtySet, fileFingerPrints) = invalidateCacheForModule(sigHashes) + val removed = incrementalCache.deletedSrcFiles + + if (dirtySet.isEmpty()) { + // up-to-date + incrementalCache.commitCacheForRemovedSrcFiles() + return CacheUpdateStatus.NoDirtyFiles(removed) + } + + // 2. Build + val jsIrLinkerProcessor = JsIrLinkerLoader(compilerConfiguration, library, getDependencySubGraph(), irFactory()) + val (jsIrLinker, currentIrModule, irModules) = jsIrLinkerProcessor.processJsIrLinker(dirtySet) + + val currentModuleDeserializer = jsIrLinker.moduleDeserializer(currentIrModule.descriptor) + + incrementalCache.implementedFunctions.forEach { sigHashes.putAll(it) } + + for (dirtySrcFile in dirtySet) { + val signatureMapping = currentModuleDeserializer.signatureDeserializerForFile(dirtySrcFile).signatureToIndexMapping() + incrementalCache.updateSignatureToIdMapping(dirtySrcFile, signatureMapping) + } + + buildCacheForModule(currentIrModule, jsIrLinker, irModules, dirtySet, sigHashes, fileFingerPrints) + + val updatedAll = dirtySet.size == incrementalCache.srcFilesInOrderFromKLib.size + incrementalCache.commitCacheForRebuiltSrcFiles(currentIrModule.name.asString()) + // invalidated and re-built + return CacheUpdateStatus.Dirty(removed, dirtySet, updatedAll) + } + } + + private fun loadLibraries(): Map { + val allResolvedDependencies = jsResolveLibraries( + allModules, + compilerConfiguration[JSConfigurationKeys.REPOSITORIES] ?: emptyList(), + compilerConfiguration[IrMessageLogger.IR_MESSAGE_LOGGER].toResolverLogger() + ) + + return allResolvedDependencies.getFullList().associateBy { it.moduleCanonicalName() } + } + + private fun buildDependenciesGraph(libraries: Map): Map> { + val nameToKotlinLibrary: Map = libraries.values.associateBy { it.moduleName } + return libraries.values.associateWith { + it.manifestProperties.propertyList(KLIB_PROPERTY_DEPENDS, escapeInQuotes = true).map { depName -> + nameToKotlinLibrary[depName] ?: error("No Library found for $depName") + } + } + } + + fun actualizeCaches(callback: (CacheUpdateStatus, String) -> Unit): List { + val libraries = loadLibraries() + val dependencyGraph = buildDependenciesGraph(libraries) + val configHash = compilerConfiguration.configHashForIC() + + val cacheMap = libraries.values.zip(icCachePaths).toMap() + + val klibIncrementalCaches = mutableMapOf() + + val visitedLibraries = mutableSetOf() + fun visitDependency(library: KotlinLibrary) { + if (library in visitedLibraries) return + visitedLibraries.add(library) + + val libraryDeps = dependencyGraph[library] ?: error("Unknown library ${library.libraryName}") + libraryDeps.forEach { visitDependency(it) } + + val cachePath = cacheMap[library] ?: error("Unknown cache for library ${library.libraryName}") + val incrementalCache = IncrementalCache(library, cachePath) + klibIncrementalCaches[library] = incrementalCache + + incrementalCache.invalidateCacheForNewConfig(configHash) + val cacheUpdater = KLibCacheUpdater(library, dependencyGraph, incrementalCache, klibIncrementalCaches) + val updateStatus = when { + cacheUpdater.checkLibrariesHash() -> CacheUpdateStatus.FastPath + else -> cacheUpdater.actualizeCacheForModule() + } + callback(updateStatus, library.libraryFile.path) + } + + val rootModuleCanonical = File(rootModule).canonicalPath + val mainLibrary = libraries[rootModuleCanonical] ?: error("Main library not found in libraries: $rootModuleCanonical") + visitDependency(mainLibrary) + return klibIncrementalCaches.map { it.value.fetchArtifacts() } + } } -private fun actualizeCacheForModule( - library: KotlinLibrary, - libraryInfo: CacheInfo, - configuration: CompilerConfiguration, - dependencyGraph: Map>, - persistentCacheProviders: Map, - persistentCacheConsumer: PersistentCacheConsumer, - irFactory: IrFactory, - mainArguments: List?, - cacheExecutor: CacheExecutor, -): CacheUpdateStatus { - // 1. Invalidate - val dependencies = dependencyGraph[library]!! - - val currentLibraryCacheProvider = persistentCacheProviders[library] ?: error("No cache provider for $library") - val libraryFiles = currentLibraryCacheProvider.signatureReadersList.map { it.first } - - val sigHashes = mutableMapOf() - dependencies.forEach { lib -> - persistentCacheProviders[lib]?.let { provider -> - sigHashes.putAll(provider.allInlineFunctionHashes) - } - } - - val fileFingerPrints = mutableMapOf() - val fileCachedInlineHashes = currentLibraryCacheProvider.getInlineHashesByFile() - - val (dirtySet, deletedFiles) = invalidateCacheForModule( - library, - libraryFiles, - sigHashes, - fileCachedInlineHashes, - currentLibraryCacheProvider, - persistentCacheConsumer, - fileFingerPrints - ) - - if (dirtySet.isEmpty()) { - // up-to-date - libraryInfo.commitLibraryInfo(persistentCacheConsumer) - return CacheUpdateStatus.NO_DIRTY_FILES - } - - // 2. Build - - val loadedModules = loadModules(configuration.languageVersionSettings, dependencyGraph) - - val jsIrLinker = createLinker(configuration, loadedModules, irFactory) - - val irModules = ArrayList>(loadedModules.size) - - // TODO: modules deserialized here have to be reused for cache building further - for ((descriptor, loadedLibrary) in loadedModules) { - if (library == loadedLibrary) { - irModules.add(jsIrLinker.deserializeDirtyFiles(descriptor, loadedLibrary, dirtySet) to loadedLibrary) - } else { - irModules.add(jsIrLinker.deserializeHeadersWithInlineBodies(descriptor, loadedLibrary) to loadedLibrary) - } - } - - jsIrLinker.init(null, emptyList()) - - ExternalDependenciesGenerator(jsIrLinker.symbolTable, listOf(jsIrLinker)).generateUnboundSymbolsAsDependencies() - - jsIrLinker.postProcess() - - val currentIrModule = irModules.find { it.second == library }?.first!! - val currentModuleDeserializer = jsIrLinker.moduleDeserializer(currentIrModule.descriptor) - - for (hashes in fileCachedInlineHashes.values) { - sigHashes.putAll(hashes) - } - - val deserializers = dirtySet.associateWith { currentModuleDeserializer.signatureDeserializerForFile(it).signatureToIndexMapping() } - - buildCacheForModule( - configuration, - currentIrModule, - jsIrLinker, - irModules.map { it.first }, - dirtySet, - deletedFiles, - sigHashes, - persistentCacheConsumer, - deserializers, - fileFingerPrints, - mainArguments, - cacheExecutor - ) - - libraryInfo.commitLibraryInfo(persistentCacheConsumer, currentIrModule.name.asString()) - return CacheUpdateStatus.DIRTY // invalidated and re-built -} // Used for tests only fun rebuildCacheForDirtyFiles( library: KotlinLibrary, configuration: CompilerConfiguration, - dependencyGraph: Map>, + dependencyGraph: Map>, dirtyFiles: Collection?, - cacheConsumer: PersistentCacheConsumer, + artifactCache: ArtifactCache, irFactory: IrFactory, exportedDeclarations: Set, mainArguments: List?, -) { - val loadedModules = loadModules(configuration.languageVersionSettings, dependencyGraph) - - val jsIrLinker = createLinker(configuration, loadedModules, irFactory) - - val irModules = ArrayList>(loadedModules.size) - - // TODO: modules deserialized here have to be reused for cache building further - for ((descriptor, loadedLibrary) in loadedModules) { - if (library == loadedLibrary) { - if (dirtyFiles != null) { - irModules.add(jsIrLinker.deserializeDirtyFiles(descriptor, loadedLibrary, dirtyFiles) to loadedLibrary) - } else { - irModules.add(jsIrLinker.deserializeFullModule(descriptor, loadedLibrary) to loadedLibrary) - } - } else { - irModules.add(jsIrLinker.deserializeHeadersWithInlineBodies(descriptor, loadedLibrary) to loadedLibrary) - } - } - - jsIrLinker.init(null, emptyList()) - - ExternalDependenciesGenerator(jsIrLinker.symbolTable, listOf(jsIrLinker)).generateUnboundSymbolsAsDependencies() - - jsIrLinker.postProcess() - - val currentIrModule = irModules.find { it.second == library }?.first!! - - cacheConsumer.commitLibraryInfo(library.moduleCanonicalName(), currentIrModule.name.asString(), 0UL, 0UL, 0UL) +): String { + val jsIrLinkerProcessor = JsIrLinkerLoader(configuration, library, dependencyGraph, irFactory) + val (jsIrLinker, currentIrModule, irModules) = jsIrLinkerProcessor.processJsIrLinker(dirtyFiles) buildCacheForModuleFiles( currentIrModule, - irModules.map { it.first }, + irModules, jsIrLinker, configuration, dirtyFiles, - emptyList(), - cacheConsumer, + artifactCache, exportedDeclarations, mainArguments ) + return currentIrModule.name.asString() } @Suppress("UNUSED_PARAMETER") @@ -635,8 +326,7 @@ fun buildCacheForModuleFiles( deserializer: JsIrLinker, configuration: CompilerConfiguration, dirtyFiles: Collection?, // if null consider the whole module dirty - deletedFiles: Collection, - cacheConsumer: PersistentCacheConsumer, + artifactCache: ArtifactCache, exportedDeclarations: Set, mainArguments: List?, ) { @@ -648,24 +338,6 @@ fun buildCacheForModuleFiles( mainArguments = mainArguments, exportedDeclarations = exportedDeclarations, filesToLower = dirtyFiles?.toSet(), - cacheConsumer = cacheConsumer, + artifactCache = artifactCache, ) - -// println("creating caches for module ${currentModule.name}") -// println("Store them into $cacheConsumer") -// val dirtyS = if (dirtyFiles == null) "[ALL]" else dirtyFiles.joinToString(",", "[", "]") { it } -// println("Dirty files -> $dirtyS") -} - - -fun loadModuleCaches(icCachePaths: Collection): Map { - val icCacheMap: Map = loadCacheInfo(icCachePaths) - - return icCacheMap.entries.associate { (lib, cache) -> - val provider = createCacheProvider(cache.path) - val files = provider.filePaths() - lib to ModuleCache(provider.moduleName(), files.associate { f -> - f to FileCache(f, provider.binaryAst(f), provider.dts(f), provider.sourceMap(f)) - }) - } } diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt index b92ee78d7e0..af106e66891 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt @@ -506,7 +506,8 @@ class RenderIrElementVisitor(private val normalizeNames: Boolean = false, privat declaration.runTrimEnd { "TYPE_PARAMETER ${renderOriginIfNonTrivial()}" + "name:$name index:$index variance:$variance " + - "superTypes:[${superTypes.joinToString(separator = "; ") { it.render() }}]" + "superTypes:[${superTypes.joinToString(separator = "; ") { it.render() }}] " + + "reified:$isReified" } override fun visitValueParameter(declaration: IrValueParameter, data: Nothing?): String = diff --git a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/ic/CacheAccessors.kt b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/ic/CacheAccessors.kt deleted file mode 100644 index aa727503476..00000000000 --- a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/ic/CacheAccessors.kt +++ /dev/null @@ -1,350 +0,0 @@ -/* - * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. - * 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.backend.js.ic - -import org.jetbrains.kotlin.ir.util.IdSignature -import java.io.File -import java.io.PrintWriter -import java.security.MessageDigest - - -private const val inlineGraphFile = "inline.graph" -private const val inlineFunctionsFile = "inline.functions" -private const val fileInfoFile = "file.info" -private const val fileBinaryAst = "binary.ast" -private const val fileBinaryDts = "binary.dst" -private const val fileSourceMap = "source.map" - -typealias Hash = Long // Any long hash -typealias FlatHash = Hash // Hash of inline function without its underlying inline call tree -typealias TransHash = Hash // Hash of inline function including its underlying inline call tree - -private val md5 = MessageDigest.getInstance("MD5") - -private fun ByteArray.toHex(): String = joinToString(separator = "") { eachByte -> "%02x".format(eachByte) } - -private fun createFileCacheId(fileName: String): String = md5.digest(fileName.encodeToByteArray()).toHex() - -class ICCache() - -class FileCache(val name: String, var ast: ByteArray?, var dts: ByteArray?, var sourceMap: ByteArray?) -class ModuleCache(val name: String, val asts: Map) - -interface PersistentCacheProvider { - fun fileFingerPrint(path: String): Hash - - fun inlineGraphForFile(path: String, sigResolver: (Int) -> IdSignature): Collection> - - fun inlineHashes(path: String, sigResolver: (Int) -> IdSignature): Map - - fun allInlineHashes(sigResolver: (String, Int) -> IdSignature): Map - - fun binaryAst(path: String): ByteArray? - - fun dts(path: String): ByteArray? - - fun sourceMap(path: String): ByteArray? - - fun filePaths(): Iterable - - fun moduleName(): String - - companion object { - val EMPTY = object : PersistentCacheProvider { - override fun fileFingerPrint(path: String): Hash { - return 0 - } - - override fun inlineGraphForFile(path: String, sigResolver: (Int) -> IdSignature): Collection> { - return emptyList() - } - - override fun inlineHashes(path: String, sigResolver: (Int) -> IdSignature): Map { - return emptyMap() - } - - override fun allInlineHashes(sigResolver: (String, Int) -> IdSignature): Map { - return emptyMap() - } - - override fun binaryAst(path: String): ByteArray { - return ByteArray(0) - } - - override fun dts(path: String): ByteArray? { - return null - } - - override fun sourceMap(path: String): ByteArray? { - return null - } - - override fun filePaths(): Iterable = emptyList() - - override fun moduleName(): String { - TODO("Not yet implemented") - } - } - } -} - - -class PersistentCacheProviderImpl(private val cachePath: String) : PersistentCacheProvider { - - private val String.fileDir: File - get() { - val fileId = createFileCacheId(this) - return File(File(cachePath), fileId) - } - - private fun String.parseHash(): Hash = java.lang.Long.parseUnsignedLong(this, 16) - - override fun fileFingerPrint(path: String): Hash { - val dataFile = File(path.fileDir, fileInfoFile) - return if (dataFile.exists()) { - val hashLine = dataFile.readLines()[1] - hashLine.parseHash() - } else 0 - } - - private fun parseHashList( - fileDir: File, - fileName: String, - sigResolver: (Int) -> IdSignature - ): Collection> { - val inlineGraphFile = File(fileDir, fileName) - - if (inlineGraphFile.exists()) { - - return inlineGraphFile.readLines().mapNotNull { line -> - val (sigIdS, hashString) = line.split(":") - val sigId = Integer.parseInt(sigIdS) - try { - val idSig = sigResolver(sigId) - val tHash = hashString.parseHash() - idSig to tHash - } catch (ex: IndexOutOfBoundsException) { - // println("Signature [$sigId] has been removed") - null - } - } - } - - return emptyList() - } - - override fun inlineGraphForFile(path: String, sigResolver: (Int) -> IdSignature): Collection> { - return parseHashList(path.fileDir, inlineGraphFile, sigResolver) - } - - override fun inlineHashes(path: String, sigResolver: (Int) -> IdSignature): Map { - return parseHashList(path.fileDir, inlineFunctionsFile, sigResolver).toMap() - } - - override fun allInlineHashes(sigResolver: (String, Int) -> IdSignature): Map { - val result = mutableMapOf() - val cachePath = File(cachePath) - cachePath.listFiles { file: File -> file.isDirectory }!!.forEach { f -> - val fileInfo = File(f, fileInfoFile) - if (fileInfo.exists()) { - val fileName = fileInfo.readLines()[0] - parseHashList(f, inlineFunctionsFile) { id -> sigResolver(fileName, id) }.forEach { (sig, hash) -> - result[sig] = hash - } - } - } - return result - } - - private fun readBytesFromCacheFile(fileName: String, cacheName: String): ByteArray? { - val cachePath = fileName.fileDir - val cacheFile = File(cachePath, cacheName) - if (cacheFile.exists()) return cacheFile.readBytes() - return null - } - - override fun binaryAst(path: String): ByteArray? { - return readBytesFromCacheFile(path, fileBinaryAst) - } - - override fun dts(path: String): ByteArray? { - return readBytesFromCacheFile(path, fileBinaryDts) - } - - override fun sourceMap(path: String): ByteArray? { - return readBytesFromCacheFile(path, fileSourceMap) - } - - override fun filePaths(): Iterable { - val files = File(cachePath).listFiles() ?: return emptyList() - return files.filter { it.isDirectory }.mapNotNull { f -> - val fileInfo = File(f, fileInfoFile) - if (fileInfo.exists()) { - fileInfo.readLines()[0] - } else null - } - } - - override fun moduleName(): String { - val infoFile = File(File(cachePath), "info") - return infoFile.readLines()[1] - } -} - -interface PersistentCacheConsumer { - fun commitInlineFunctions(path: String, hashes: Collection>, sigResolver: (IdSignature) -> Int) - fun commitFileFingerPrint(path: String, fingerprint: Hash) - fun commitInlineGraph(path: String, hashes: Collection>, sigResolver: (IdSignature) -> Int) - fun commitBinaryAst(path: String, astData: ByteArray) - fun commitBinaryDts(path: String, dstData: ByteArray) - fun commitSourceMap(path: String, mapData: ByteArray) - fun invalidateForFile(path: String) - fun invalidate() - - fun commitLibraryInfo(libraryPath: String, moduleName: String, flatHash: ULong, transHash: ULong, configHash: ULong) - - companion object { - val EMPTY = object : PersistentCacheConsumer { - override fun commitInlineFunctions( - path: String, - hashes: Collection>, - sigResolver: (IdSignature) -> Int - ) { - } - - override fun commitFileFingerPrint(path: String, fingerprint: Hash) { - } - - override fun commitInlineGraph( - path: String, - hashes: Collection>, - sigResolver: (IdSignature) -> Int - ) { - } - - override fun invalidateForFile(path: String) { - } - - override fun invalidate() { - } - - override fun commitBinaryAst(path: String, astData: ByteArray) { - - } - - override fun commitLibraryInfo(libraryPath: String, moduleName: String, flatHash: ULong, transHash: ULong, configHash: ULong) { - - } - - override fun commitBinaryDts(path: String, dstData: ByteArray) { - - } - - override fun commitSourceMap(path: String, mapData: ByteArray) { - - } - } - } -} - - -class PersistentCacheConsumerImpl(private val cachePath: String) : PersistentCacheConsumer { - - private fun commitFileHashMapping( - path: String, - cacheDst: String, - hashes: Collection>, - sigResolver: (IdSignature) -> Int - ) { - val fileId = createFileCacheId(path) - val fileDir = File(File(cachePath), fileId) - val destination = File(fileDir, cacheDst) - fileDir.mkdirs() - destination.createNewFile() - PrintWriter(destination).use { - for (hashData in hashes) { - val (sig, hash) = hashData - val sigId = sigResolver(sig) - val hashString = hash.toULong().toString(16) - it.println("$sigId:$hashString") - } - } - } - - override fun commitInlineFunctions(path: String, hashes: Collection>, sigResolver: (IdSignature) -> Int) { - commitFileHashMapping(path, inlineFunctionsFile, hashes, sigResolver) - } - - override fun commitFileFingerPrint(path: String, fingerprint: Hash) { - val fileId = createFileCacheId(path) - val fileDir = File(File(cachePath), fileId) - fileDir.mkdirs() - val infoFile = File(fileDir, fileInfoFile) - if (infoFile.exists()) infoFile.delete() - infoFile.createNewFile() - PrintWriter(infoFile).use { - it.println(path) - it.println(fingerprint.toULong().toString(16)) - } - } - - override fun commitInlineGraph(path: String, hashes: Collection>, sigResolver: (IdSignature) -> Int) { - commitFileHashMapping(path, inlineGraphFile, hashes, sigResolver) - } - - override fun invalidateForFile(path: String) { - val fileId = createFileCacheId(path) - val cacheDir = File(cachePath) - val fileDir = File(cacheDir, fileId) - File(fileDir, inlineFunctionsFile).delete() - File(fileDir, inlineGraphFile).delete() - File(fileDir, fileInfoFile).delete() - File(fileDir, fileBinaryAst).delete() - // TODO: once per-file invalidation is integrated into IC delete the whole directory including PIR parts - //fileDir.deleteRecursively() - } - - override fun invalidate() { - File(cachePath).deleteRecursively() - } - - private fun commitByteArrayToCacheFile(fileName: String, cacheName: String, data: ByteArray) { - val fileId = createFileCacheId(fileName) - val cacheDir = File(File(cachePath), fileId) - val cacheFile = File(cacheDir, cacheName) - if (cacheFile.exists()) cacheFile.delete() - cacheFile.createNewFile() - cacheFile.writeBytes(data) - } - - override fun commitBinaryAst(path: String, astData: ByteArray) { - commitByteArrayToCacheFile(path, fileBinaryAst, astData) - } - - override fun commitBinaryDts(path: String, dstData: ByteArray) { - commitByteArrayToCacheFile(path, fileBinaryDts, dstData) - } - - override fun commitSourceMap(path: String, mapData: ByteArray) { - commitByteArrayToCacheFile(path, fileSourceMap, mapData) - } - - override fun commitLibraryInfo(libraryPath: String, moduleName: String, flatHash: ULong, transHash: ULong, configHash: ULong) { - val infoFile = File(File(cachePath), "info") - if (infoFile.exists()) { - infoFile.delete() - } - infoFile.createNewFile() - - PrintWriter(infoFile).use { - it.println(libraryPath) - it.println(moduleName) - it.println(flatHash.toString(16)) - it.println(transHash.toString(16)) - it.println(configHash.toString(16)) - } - } -} diff --git a/compiler/testData/codegen/box/smartCasts/kt44814.fir.ir.txt b/compiler/testData/codegen/box/smartCasts/kt44814.fir.ir.txt index 1eceb47c10f..0f00a913d19 100644 --- a/compiler/testData/codegen/box/smartCasts/kt44814.fir.ir.txt +++ b/compiler/testData/codegen/box/smartCasts/kt44814.fir.ir.txt @@ -375,7 +375,7 @@ FILE fqName: fileName:/kt44814.kt CLASS CLASS name:FirPsiModifier modality:FINAL visibility:public superTypes:[.FirModifier<.ASTNode>] CLASS CLASS name:FirLightModifier modality:FINAL visibility:public superTypes:[.FirModifier<.LighterASTNode>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.FirModifier.FirModifier> - TYPE_PARAMETER name:Node index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:Node index:0 variance: superTypes:[kotlin.Any] reified:false CONSTRUCTOR visibility:protected <> (node:Node of .FirModifier, token:.KtModifierKeywordToken) returnType:.FirModifier.FirModifier> [primary] VALUE_PARAMETER name:node index:0 type:Node of .FirModifier VALUE_PARAMETER name:token index:1 type:.KtModifierKeywordToken diff --git a/compiler/testData/codegen/box/smartCasts/kt44814.ir.txt b/compiler/testData/codegen/box/smartCasts/kt44814.ir.txt index 25b1fd51a41..349ebd9ffe7 100644 --- a/compiler/testData/codegen/box/smartCasts/kt44814.ir.txt +++ b/compiler/testData/codegen/box/smartCasts/kt44814.ir.txt @@ -375,7 +375,7 @@ FILE fqName: fileName:/kt44814.kt CLASS CLASS name:FirPsiModifier modality:FINAL visibility:public superTypes:[.FirModifier<.ASTNode>] CLASS CLASS name:FirLightModifier modality:FINAL visibility:public superTypes:[.FirModifier<.LighterASTNode>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.FirModifier.FirModifier> - TYPE_PARAMETER name:Node index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:Node index:0 variance: superTypes:[kotlin.Any] reified:false CONSTRUCTOR visibility:protected <> (node:Node of .FirModifier, token:.KtModifierKeywordToken) returnType:.FirModifier.FirModifier> [primary] VALUE_PARAMETER name:node index:0 type:Node of .FirModifier VALUE_PARAMETER name:token index:1 type:.KtModifierKeywordToken diff --git a/compiler/testData/ir/irJsText/scripting/fun.txt b/compiler/testData/ir/irJsText/scripting/fun.txt index 21a08d03622..86a32b2c368 100644 --- a/compiler/testData/ir/irJsText/scripting/fun.txt +++ b/compiler/testData/ir/irJsText/scripting/fun.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/fun.kts SCRIPT FUN name:test1 visibility:public modality:FINAL ($this:.Fun, i:kotlin.Int, j:T of .Fun.test1) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Fun VALUE_PARAMETER name:i index:0 type:kotlin.Int VALUE_PARAMETER name:j index:1 type:T of .Fun.test1 @@ -38,7 +38,7 @@ FILE fqName: fileName:/fun.kts VALUE_PARAMETER name:j index:1 type:kotlin.String BLOCK_BODY FUN name:testMembetExt2 visibility:public modality:FINAL ($this:.Fun.Host, $receiver:kotlin.String, i:kotlin.Int, j:T of .Fun.Host.testMembetExt2) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Fun.Host $receiver: VALUE_PARAMETER name: type:kotlin.String VALUE_PARAMETER name:i index:0 type:kotlin.Int diff --git a/compiler/testData/ir/irText/classes/47424.ir.txt b/compiler/testData/ir/irText/classes/47424.ir.txt index 8998fb458e8..65b4b312d2b 100644 --- a/compiler/testData/ir/irText/classes/47424.ir.txt +++ b/compiler/testData/ir/irText/classes/47424.ir.txt @@ -16,7 +16,7 @@ FILE fqName:com.example fileName:/47424.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:Ab modality:ABSTRACT visibility:public superTypes:[com.example.Aa] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:com.example.Ab - TYPE_PARAMETER name:T index:0 variance: superTypes:[com.example.Ab] + TYPE_PARAMETER name:T index:0 variance: superTypes:[com.example.Ab] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in com.example.Aa @@ -47,7 +47,7 @@ FILE fqName:com.example fileName:/47424.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:Bb modality:ABSTRACT visibility:public superTypes:[com.example.Ab; com.example.Ba] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:com.example.Bb - TYPE_PARAMETER name:T index:0 variance: superTypes:[com.example.Bb] + TYPE_PARAMETER name:T index:0 variance: superTypes:[com.example.Bb] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in com.example.Ab diff --git a/compiler/testData/ir/irText/classes/clashingFakeOverrideSignatures.ir.txt b/compiler/testData/ir/irText/classes/clashingFakeOverrideSignatures.ir.txt index bcadd32caf1..596fed182a2 100644 --- a/compiler/testData/ir/irText/classes/clashingFakeOverrideSignatures.ir.txt +++ b/compiler/testData/ir/irText/classes/clashingFakeOverrideSignatures.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/clashingFakeOverrideSignatures.kt CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base.Base> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.Base.Base> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -163,8 +163,8 @@ FILE fqName: fileName:/clashingFakeOverrideSignatures.kt y: CONST String type=kotlin.String value="" CLASS CLASS name:BaseXY modality:OPEN visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.BaseXY.BaseXY, Y of .BaseXY> - TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:Y index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:Y index:1 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.BaseXY.BaseXY, Y of .BaseXY> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -229,7 +229,7 @@ FILE fqName: fileName:/clashingFakeOverrideSignatures.kt BLOCK_BODY CLASS CLASS name:LocalBase modality:OPEN visibility:local superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.outerFun.LocalBase.outerFun.LocalBase> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.outerFun.LocalBase.outerFun.LocalBase> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -391,7 +391,7 @@ FILE fqName: fileName:/clashingFakeOverrideSignatures.kt y: CONST String type=kotlin.String value="" CLASS CLASS name:Outer modality:OPEN visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Outer> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.Outer.Outer> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' diff --git a/compiler/testData/ir/irText/classes/dataClasses/dataClassWithArrayMembers.fir.ir.txt b/compiler/testData/ir/irText/classes/dataClasses/dataClassWithArrayMembers.fir.ir.txt index e71a6efdfe4..e567ce82ad1 100644 --- a/compiler/testData/ir/irText/classes/dataClasses/dataClassWithArrayMembers.fir.ir.txt +++ b/compiler/testData/ir/irText/classes/dataClasses/dataClassWithArrayMembers.fir.ir.txt @@ -461,7 +461,7 @@ FILE fqName: fileName:/dataClassWithArrayMembers.kt CONST String type=kotlin.String value=")" CLASS CLASS name:Test2 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2.Test2> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (genericArray:kotlin.Array.Test2>) returnType:.Test2.Test2> [primary] VALUE_PARAMETER name:genericArray index:0 type:kotlin.Array.Test2> BLOCK_BODY diff --git a/compiler/testData/ir/irText/classes/dataClasses/dataClassWithArrayMembers.ir.txt b/compiler/testData/ir/irText/classes/dataClasses/dataClassWithArrayMembers.ir.txt index 58b8c98f251..c72f7189983 100644 --- a/compiler/testData/ir/irText/classes/dataClasses/dataClassWithArrayMembers.ir.txt +++ b/compiler/testData/ir/irText/classes/dataClasses/dataClassWithArrayMembers.ir.txt @@ -461,7 +461,7 @@ FILE fqName: fileName:/dataClassWithArrayMembers.kt CONST Boolean type=kotlin.Boolean value=true CLASS CLASS name:Test2 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2.Test2> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (genericArray:kotlin.Array.Test2>) returnType:.Test2.Test2> [primary] VALUE_PARAMETER name:genericArray index:0 type:kotlin.Array.Test2> BLOCK_BODY diff --git a/compiler/testData/ir/irText/classes/dataClasses/dataClassesGeneric.fir.ir.txt b/compiler/testData/ir/irText/classes/dataClasses/dataClassesGeneric.fir.ir.txt index fa5d743a162..6abd4067041 100644 --- a/compiler/testData/ir/irText/classes/dataClasses/dataClassesGeneric.fir.ir.txt +++ b/compiler/testData/ir/irText/classes/dataClasses/dataClassesGeneric.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/dataClassesGeneric.kt CLASS CLASS name:Test1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1.Test1> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (x:T of .Test1) returnType:.Test1.Test1> [primary] VALUE_PARAMETER name:x index:0 type:T of .Test1 BLOCK_BODY @@ -101,7 +101,7 @@ FILE fqName: fileName:/dataClassesGeneric.kt CONST String type=kotlin.String value=")" CLASS CLASS name:Test2 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2.Test2> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false CONSTRUCTOR visibility:public <> (x:T of .Test2) returnType:.Test2.Test2> [primary] VALUE_PARAMETER name:x index:0 type:T of .Test2 BLOCK_BODY @@ -192,7 +192,7 @@ FILE fqName: fileName:/dataClassesGeneric.kt CONST String type=kotlin.String value=")" CLASS CLASS name:Test3 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test3.Test3> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (x:kotlin.collections.List.Test3>) returnType:.Test3.Test3> [primary] VALUE_PARAMETER name:x index:0 type:kotlin.collections.List.Test3> BLOCK_BODY diff --git a/compiler/testData/ir/irText/classes/dataClasses/dataClassesGeneric.ir.txt b/compiler/testData/ir/irText/classes/dataClasses/dataClassesGeneric.ir.txt index b82acb78003..f5b9f781801 100644 --- a/compiler/testData/ir/irText/classes/dataClasses/dataClassesGeneric.ir.txt +++ b/compiler/testData/ir/irText/classes/dataClasses/dataClassesGeneric.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/dataClassesGeneric.kt CLASS CLASS name:Test1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1.Test1> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (x:T of .Test1) returnType:.Test1.Test1> [primary] VALUE_PARAMETER name:x index:0 type:T of .Test1 BLOCK_BODY @@ -101,7 +101,7 @@ FILE fqName: fileName:/dataClassesGeneric.kt CONST Boolean type=kotlin.Boolean value=true CLASS CLASS name:Test2 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2.Test2> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false CONSTRUCTOR visibility:public <> (x:T of .Test2) returnType:.Test2.Test2> [primary] VALUE_PARAMETER name:x index:0 type:T of .Test2 BLOCK_BODY @@ -192,7 +192,7 @@ FILE fqName: fileName:/dataClassesGeneric.kt CONST Boolean type=kotlin.Boolean value=true CLASS CLASS name:Test3 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test3.Test3> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (x:kotlin.collections.List.Test3>) returnType:.Test3.Test3> [primary] VALUE_PARAMETER name:x index:0 type:kotlin.collections.List.Test3> BLOCK_BODY diff --git a/compiler/testData/ir/irText/classes/delegatedGenericImplementation.fir.ir.txt b/compiler/testData/ir/irText/classes/delegatedGenericImplementation.fir.ir.txt index 9f2366c9fac..2bce7c20e8f 100644 --- a/compiler/testData/ir/irText/classes/delegatedGenericImplementation.fir.ir.txt +++ b/compiler/testData/ir/irText/classes/delegatedGenericImplementation.fir.ir.txt @@ -1,27 +1,27 @@ FILE fqName: fileName:/delegatedGenericImplementation.kt CLASS INTERFACE name:IBase modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IBase.IBase> - TYPE_PARAMETER name:A index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:A index:0 variance: superTypes:[kotlin.Any?] reified:false FUN name:foo visibility:public modality:ABSTRACT ($this:.IBase.IBase>, a:A of .IBase, b:B of .IBase.foo) returnType:kotlin.Unit - TYPE_PARAMETER name:B index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:B index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.IBase.IBase> VALUE_PARAMETER name:a index:0 type:A of .IBase VALUE_PARAMETER name:b index:1 type:B of .IBase.foo PROPERTY name:id visibility:public modality:ABSTRACT [val] FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:.IBase.IBase>, $receiver:C of .IBase.) returnType:kotlin.collections.Map.IBase, C of .IBase.>? correspondingProperty: PROPERTY name:id visibility:public modality:ABSTRACT [val] - TYPE_PARAMETER name:C index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:C index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.IBase.IBase> $receiver: VALUE_PARAMETER name: type:C of .IBase. PROPERTY name:x visibility:public modality:ABSTRACT [var] FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:.IBase.IBase>, $receiver:kotlin.collections.List.IBase.>) returnType:D of .IBase.? correspondingProperty: PROPERTY name:x visibility:public modality:ABSTRACT [var] - TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.IBase.IBase> $receiver: VALUE_PARAMETER name: type:kotlin.collections.List.IBase.> FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:.IBase.IBase>, $receiver:kotlin.collections.List.IBase.>, :D of .IBase.?) returnType:kotlin.Unit correspondingProperty: PROPERTY name:x visibility:public modality:ABSTRACT [var] - TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.IBase.IBase> $receiver: VALUE_PARAMETER name: type:kotlin.collections.List.IBase.> VALUE_PARAMETER name: index:0 type:D of .IBase.? @@ -40,7 +40,7 @@ FILE fqName: fileName:/delegatedGenericImplementation.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[.IBase.Test1>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1.Test1> - TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (i:.IBase.Test1>) returnType:.Test1.Test1> [primary] VALUE_PARAMETER name:i index:0 type:.IBase.Test1> BLOCK_BODY @@ -49,7 +49,7 @@ FILE fqName: fileName:/delegatedGenericImplementation.kt FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN ($this:.Test1.Test1>, a:E of .Test1, b:B of .Test1.foo) returnType:kotlin.Unit overridden: public abstract fun foo (a: A of .IBase, b: B of .IBase.foo): kotlin.Unit declared in .IBase - TYPE_PARAMETER name:B index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:B index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Test1.Test1> VALUE_PARAMETER name:a index:0 type:E of .Test1 VALUE_PARAMETER name:b index:1 type:B of .Test1.foo @@ -67,7 +67,7 @@ FILE fqName: fileName:/delegatedGenericImplementation.kt correspondingProperty: PROPERTY DELEGATED_MEMBER name:id visibility:public modality:OPEN [val] overridden: public abstract fun (): kotlin.collections.Map.IBase, C of .IBase.>? declared in .IBase - TYPE_PARAMETER name:C index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:C index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Test1.Test1> $receiver: VALUE_PARAMETER name: type:C of .Test1. BLOCK_BODY @@ -84,7 +84,7 @@ FILE fqName: fileName:/delegatedGenericImplementation.kt correspondingProperty: PROPERTY DELEGATED_MEMBER name:x visibility:public modality:OPEN [var] overridden: public abstract fun (): D of .IBase.? declared in .IBase - TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Test1.Test1> $receiver: VALUE_PARAMETER name: type:kotlin.collections.List.Test1.> BLOCK_BODY @@ -98,7 +98,7 @@ FILE fqName: fileName:/delegatedGenericImplementation.kt correspondingProperty: PROPERTY DELEGATED_MEMBER name:x visibility:public modality:OPEN [var] overridden: public abstract fun (: D of .IBase.?): kotlin.Unit declared in .IBase - TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Test1.Test1> $receiver: VALUE_PARAMETER name: type:kotlin.collections.List.Test1.> VALUE_PARAMETER name: index:0 type:D of .Test1.? @@ -135,7 +135,7 @@ FILE fqName: fileName:/delegatedGenericImplementation.kt FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN ($this:.Test2, a:kotlin.String, b:B of .Test2.foo) returnType:kotlin.Unit overridden: public abstract fun foo (a: A of .IBase, b: B of .IBase.foo): kotlin.Unit declared in .IBase - TYPE_PARAMETER name:B index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:B index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Test2 VALUE_PARAMETER name:a index:0 type:kotlin.String VALUE_PARAMETER name:b index:1 type:B of .Test2.foo @@ -153,7 +153,7 @@ FILE fqName: fileName:/delegatedGenericImplementation.kt correspondingProperty: PROPERTY DELEGATED_MEMBER name:id visibility:public modality:OPEN [val] overridden: public abstract fun (): kotlin.collections.Map.IBase, C of .IBase.>? declared in .IBase - TYPE_PARAMETER name:C index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:C index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Test2 $receiver: VALUE_PARAMETER name: type:C of .Test2. BLOCK_BODY @@ -170,7 +170,7 @@ FILE fqName: fileName:/delegatedGenericImplementation.kt correspondingProperty: PROPERTY DELEGATED_MEMBER name:x visibility:public modality:OPEN [var] overridden: public abstract fun (): D of .IBase.? declared in .IBase - TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Test2 $receiver: VALUE_PARAMETER name: type:kotlin.collections.List.Test2.> BLOCK_BODY @@ -184,7 +184,7 @@ FILE fqName: fileName:/delegatedGenericImplementation.kt correspondingProperty: PROPERTY DELEGATED_MEMBER name:x visibility:public modality:OPEN [var] overridden: public abstract fun (: D of .IBase.?): kotlin.Unit declared in .IBase - TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Test2 $receiver: VALUE_PARAMETER name: type:kotlin.collections.List.Test2.> VALUE_PARAMETER name: index:0 type:D of .Test2.? diff --git a/compiler/testData/ir/irText/classes/delegatedGenericImplementation.ir.txt b/compiler/testData/ir/irText/classes/delegatedGenericImplementation.ir.txt index 466b13d9d74..9d470a61cb1 100644 --- a/compiler/testData/ir/irText/classes/delegatedGenericImplementation.ir.txt +++ b/compiler/testData/ir/irText/classes/delegatedGenericImplementation.ir.txt @@ -1,27 +1,27 @@ FILE fqName: fileName:/delegatedGenericImplementation.kt CLASS INTERFACE name:IBase modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IBase.IBase> - TYPE_PARAMETER name:A index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:A index:0 variance: superTypes:[kotlin.Any?] reified:false FUN name:foo visibility:public modality:ABSTRACT ($this:.IBase.IBase>, a:A of .IBase, b:B of .IBase.foo) returnType:kotlin.Unit - TYPE_PARAMETER name:B index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:B index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.IBase.IBase> VALUE_PARAMETER name:a index:0 type:A of .IBase VALUE_PARAMETER name:b index:1 type:B of .IBase.foo PROPERTY name:id visibility:public modality:ABSTRACT [val] FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:.IBase.IBase>, $receiver:C of .IBase.) returnType:kotlin.collections.Map.IBase, C of .IBase.>? correspondingProperty: PROPERTY name:id visibility:public modality:ABSTRACT [val] - TYPE_PARAMETER name:C index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:C index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.IBase.IBase> $receiver: VALUE_PARAMETER name: type:C of .IBase. PROPERTY name:x visibility:public modality:ABSTRACT [var] FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:.IBase.IBase>, $receiver:kotlin.collections.List.IBase.>) returnType:D of .IBase.? correspondingProperty: PROPERTY name:x visibility:public modality:ABSTRACT [var] - TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.IBase.IBase> $receiver: VALUE_PARAMETER name: type:kotlin.collections.List.IBase.> FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:.IBase.IBase>, $receiver:kotlin.collections.List.IBase.>, :D of .IBase.?) returnType:kotlin.Unit correspondingProperty: PROPERTY name:x visibility:public modality:ABSTRACT [var] - TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.IBase.IBase> $receiver: VALUE_PARAMETER name: type:kotlin.collections.List.IBase.> VALUE_PARAMETER name: index:0 type:D of .IBase.? @@ -40,7 +40,7 @@ FILE fqName: fileName:/delegatedGenericImplementation.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[.IBase.Test1>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1.Test1> - TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (i:.IBase.Test1>) returnType:.Test1.Test1> [primary] VALUE_PARAMETER name:i index:0 type:.IBase.Test1> BLOCK_BODY @@ -56,7 +56,7 @@ FILE fqName: fileName:/delegatedGenericImplementation.kt correspondingProperty: PROPERTY DELEGATED_MEMBER name:id visibility:public modality:OPEN [val] overridden: public abstract fun (): kotlin.collections.Map.IBase, C of .IBase.>? declared in .IBase - TYPE_PARAMETER name:C index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:C index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Test1.Test1> $receiver: VALUE_PARAMETER name: type:C of .Test1. BLOCK_BODY @@ -73,7 +73,7 @@ FILE fqName: fileName:/delegatedGenericImplementation.kt correspondingProperty: PROPERTY DELEGATED_MEMBER name:x visibility:public modality:OPEN [var] overridden: public abstract fun (): D of .IBase.? declared in .IBase - TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Test1.Test1> $receiver: VALUE_PARAMETER name: type:kotlin.collections.List.Test1.> BLOCK_BODY @@ -87,7 +87,7 @@ FILE fqName: fileName:/delegatedGenericImplementation.kt correspondingProperty: PROPERTY DELEGATED_MEMBER name:x visibility:public modality:OPEN [var] overridden: public abstract fun (: D of .IBase.?): kotlin.Unit declared in .IBase - TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Test1.Test1> $receiver: VALUE_PARAMETER name: type:kotlin.collections.List.Test1.> VALUE_PARAMETER name: index:0 type:D of .Test1.? @@ -101,7 +101,7 @@ FILE fqName: fileName:/delegatedGenericImplementation.kt FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN ($this:.Test1.Test1>, a:E of .Test1, b:B of .Test1.foo) returnType:kotlin.Unit overridden: public abstract fun foo (a: A of .IBase, b: B of .IBase.foo): kotlin.Unit declared in .IBase - TYPE_PARAMETER name:B index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:B index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Test1.Test1> VALUE_PARAMETER name:a index:0 type:E of .Test1 VALUE_PARAMETER name:b index:1 type:B of .Test1.foo @@ -161,7 +161,7 @@ FILE fqName: fileName:/delegatedGenericImplementation.kt correspondingProperty: PROPERTY DELEGATED_MEMBER name:id visibility:public modality:OPEN [val] overridden: public abstract fun (): kotlin.collections.Map.IBase, C of .IBase.>? declared in .IBase - TYPE_PARAMETER name:C index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:C index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Test2 $receiver: VALUE_PARAMETER name: type:C of .Test2. BLOCK_BODY @@ -178,7 +178,7 @@ FILE fqName: fileName:/delegatedGenericImplementation.kt correspondingProperty: PROPERTY DELEGATED_MEMBER name:x visibility:public modality:OPEN [var] overridden: public abstract fun (): D of .IBase.? declared in .IBase - TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Test2 $receiver: VALUE_PARAMETER name: type:kotlin.collections.List.Test2.> BLOCK_BODY @@ -192,7 +192,7 @@ FILE fqName: fileName:/delegatedGenericImplementation.kt correspondingProperty: PROPERTY DELEGATED_MEMBER name:x visibility:public modality:OPEN [var] overridden: public abstract fun (: D of .IBase.?): kotlin.Unit declared in .IBase - TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:D index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Test2 $receiver: VALUE_PARAMETER name: type:kotlin.collections.List.Test2.> VALUE_PARAMETER name: index:0 type:D of .Test2.? @@ -206,7 +206,7 @@ FILE fqName: fileName:/delegatedGenericImplementation.kt FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN ($this:.Test2, a:kotlin.String, b:B of .Test2.foo) returnType:kotlin.Unit overridden: public abstract fun foo (a: A of .IBase, b: B of .IBase.foo): kotlin.Unit declared in .IBase - TYPE_PARAMETER name:B index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:B index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Test2 VALUE_PARAMETER name:a index:0 type:kotlin.String VALUE_PARAMETER name:b index:1 type:B of .Test2.foo diff --git a/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.fir.ir.txt b/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.fir.ir.txt index a989e82da9d..33f11f3c952 100644 --- a/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.fir.ir.txt +++ b/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.fir.ir.txt @@ -1,10 +1,10 @@ FILE fqName: fileName:/delegatingConstructorCallToTypeAliasConstructor.kt TYPEALIAS name:CT visibility:public expandedType:.Cell.CT> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false TYPEALIAS name:CStr visibility:public expandedType:.Cell CLASS CLASS name:Cell modality:OPEN visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Cell.Cell> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (value:T of .Cell) returnType:.Cell.Cell> [primary] VALUE_PARAMETER name:value index:0 type:T of .Cell BLOCK_BODY diff --git a/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.ir.txt b/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.ir.txt index d7d2d7a1969..462dd9baccd 100644 --- a/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.ir.txt +++ b/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/delegatingConstructorCallToTypeAliasConstructor.kt CLASS CLASS name:Cell modality:OPEN visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Cell.Cell> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (value:T of .Cell) returnType:.Cell.Cell> [primary] VALUE_PARAMETER name:value index:0 type:T of .Cell BLOCK_BODY @@ -32,7 +32,7 @@ FILE fqName: fileName:/delegatingConstructorCallToTypeAliasConstructor.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any TYPEALIAS name:CT visibility:public expandedType:.Cell.CT> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false TYPEALIAS name:CStr visibility:public expandedType:.Cell CLASS CLASS name:C1 modality:FINAL visibility:public superTypes:[.Cell{ .CT }] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C1 diff --git a/compiler/testData/ir/irText/classes/inlineClassSyntheticMethods.fir.ir.txt b/compiler/testData/ir/irText/classes/inlineClassSyntheticMethods.fir.ir.txt index 9677e29538b..d2571eec9af 100644 --- a/compiler/testData/ir/irText/classes/inlineClassSyntheticMethods.fir.ir.txt +++ b/compiler/testData/ir/irText/classes/inlineClassSyntheticMethods.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/inlineClassSyntheticMethods.kt CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (t:T of .C) returnType:.C.C> [primary] VALUE_PARAMETER name:t index:0 type:T of .C BLOCK_BODY @@ -38,7 +38,7 @@ FILE fqName: fileName:/inlineClassSyntheticMethods.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:IC modality:FINAL visibility:public [value] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IC.IC> - TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (c:.C.IC>) returnType:.IC.IC> [primary] VALUE_PARAMETER name:c index:0 type:.C.IC> BLOCK_BODY diff --git a/compiler/testData/ir/irText/classes/inlineClassSyntheticMethods.ir.txt b/compiler/testData/ir/irText/classes/inlineClassSyntheticMethods.ir.txt index 917db237cf9..d0c7a8124a8 100644 --- a/compiler/testData/ir/irText/classes/inlineClassSyntheticMethods.ir.txt +++ b/compiler/testData/ir/irText/classes/inlineClassSyntheticMethods.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/inlineClassSyntheticMethods.kt CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (t:T of .C) returnType:.C.C> [primary] VALUE_PARAMETER name:t index:0 type:T of .C BLOCK_BODY @@ -38,7 +38,7 @@ FILE fqName: fileName:/inlineClassSyntheticMethods.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:IC modality:FINAL visibility:public [value] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IC.IC> - TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (c:.C.IC>) returnType:.IC.IC> [primary] VALUE_PARAMETER name:c index:0 type:.C.IC> BLOCK_BODY diff --git a/compiler/testData/ir/irText/classes/kt45934.fir.ir.txt b/compiler/testData/ir/irText/classes/kt45934.fir.ir.txt index 298bec2fe6a..e30b4b18b20 100644 --- a/compiler/testData/ir/irText/classes/kt45934.fir.ir.txt +++ b/compiler/testData/ir/irText/classes/kt45934.fir.ir.txt @@ -9,7 +9,7 @@ FILE fqName: fileName:/kt45934.kt FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN ($this:.C) returnType:@[FlexibleNullability] kotlin.collections.List<@[FlexibleNullability] C of .C.foo?>? overridden: public abstract fun foo (): @[FlexibleNullability] kotlin.collections.List<@[FlexibleNullability] C of .I.foo?>? declared in .I - TYPE_PARAMETER name:C index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] + TYPE_PARAMETER name:C index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.C BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun foo (): @[FlexibleNullability] kotlin.collections.List<@[FlexibleNullability] C of .C.foo?>? declared in .C' diff --git a/compiler/testData/ir/irText/declarations/annotations/genericAnnotationClasses.ir.txt b/compiler/testData/ir/irText/declarations/annotations/genericAnnotationClasses.ir.txt index e42d937169b..866ea69a5e3 100644 --- a/compiler/testData/ir/irText/declarations/annotations/genericAnnotationClasses.ir.txt +++ b/compiler/testData/ir/irText/declarations/annotations/genericAnnotationClasses.ir.txt @@ -1,7 +1,7 @@ FILE fqName:ann fileName:/genericAnnotationClasses.kt CLASS ANNOTATION_CLASS name:Test1 modality:OPEN visibility:public superTypes:[kotlin.Annotation] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:ann.Test1 - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:ann.Test1 [primary] VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY @@ -33,8 +33,8 @@ FILE fqName:ann fileName:/genericAnnotationClasses.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS ANNOTATION_CLASS name:Test2 modality:OPEN visibility:public superTypes:[kotlin.Annotation] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:ann.Test2 - TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any] - TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any] reified:false + TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:ann.Test2 [primary] VALUE_PARAMETER name:x index:0 type:kotlin.Int EXPRESSION_BODY @@ -68,7 +68,7 @@ FILE fqName:ann fileName:/genericAnnotationClasses.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:I modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:ann.I - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -84,8 +84,8 @@ FILE fqName:ann fileName:/genericAnnotationClasses.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS ANNOTATION_CLASS name:Test3 modality:OPEN visibility:public superTypes:[kotlin.Annotation] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:ann.Test3 - TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:T2 index:1 variance: superTypes:[ann.I] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:T2 index:1 variance: superTypes:[ann.I] reified:false CONSTRUCTOR visibility:public <> (x:ann.Test1>) returnType:ann.Test3 [primary] VALUE_PARAMETER name:x index:0 type:ann.Test1> BLOCK_BODY @@ -117,7 +117,7 @@ FILE fqName:ann fileName:/genericAnnotationClasses.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:C modality:FINAL visibility:public superTypes:[ann.I] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:ann.C - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:ann.C [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -187,7 +187,7 @@ FILE fqName:ann fileName:/genericAnnotationClasses.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS ANNOTATION_CLASS name:Test5 modality:OPEN visibility:public superTypes:[kotlin.Annotation] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:ann.Test5 - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (xs:kotlin.Array>>) returnType:ann.Test5 [primary] VALUE_PARAMETER name:xs index:0 type:kotlin.Array>> varargElementType:ann.Test3> [vararg] BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/annotations/typeParametersWithAnnotations.ir.txt b/compiler/testData/ir/irText/declarations/annotations/typeParametersWithAnnotations.ir.txt index 6ac3adb1ca2..246f85be704 100644 --- a/compiler/testData/ir/irText/declarations/annotations/typeParametersWithAnnotations.ir.txt +++ b/compiler/testData/ir/irText/declarations/annotations/typeParametersWithAnnotations.ir.txt @@ -21,7 +21,7 @@ FILE fqName: fileName:/typeParametersWithAnnotations.kt public open fun toString (): kotlin.String [fake_override] declared in kotlin.Annotation $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:foo visibility:public modality:FINAL () returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false annotations: Anno BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/compareTo.ir.txt b/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/compareTo.ir.txt index bdbd5ba3aa0..4af2d69c219 100644 --- a/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/compareTo.ir.txt +++ b/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/compareTo.ir.txt @@ -1,8 +1,8 @@ FILE fqName: fileName:/compareTo.kt CLASS CLASS name:Pair modality:FINAL visibility:public [data] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Pair.Pair, B of .Pair> - TYPE_PARAMETER name:A index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:B index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:A index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:B index:1 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (first:A of .Pair, second:B of .Pair) returnType:.Pair.Pair, B of .Pair> [primary] VALUE_PARAMETER name:first index:0 type:A of .Pair VALUE_PARAMETER name:second index:1 type:B of .Pair @@ -158,7 +158,7 @@ FILE fqName: fileName:/compareTo.kt RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in .Pair' CONST Boolean type=kotlin.Boolean value=true FUN name:compareTo visibility:public modality:FINAL ($receiver:T of .compareTo, :java.util.Comparator.compareTo>{ kotlin.TypeAliasesKt.Comparator.compareTo> }, other:T of .compareTo) returnType:kotlin.Int [operator,infix] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:T of .compareTo VALUE_PARAMETER name: index:0 type:java.util.Comparator.compareTo>{ kotlin.TypeAliasesKt.Comparator.compareTo> } @@ -172,7 +172,7 @@ FILE fqName: fileName:/compareTo.kt PROPERTY name:min visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL ($receiver:.Pair., T of .>, :java.util.Comparator.>{ kotlin.TypeAliasesKt.Comparator.> }) returnType:T of . correspondingProperty: PROPERTY name:min visibility:public modality:FINAL [val] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:.Pair., T of .> VALUE_PARAMETER name: index:0 type:java.util.Comparator.>{ kotlin.TypeAliasesKt.Comparator.> } diff --git a/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/functionalType.ir.txt b/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/functionalType.ir.txt index f954c35434c..a3ba573865f 100644 --- a/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/functionalType.ir.txt +++ b/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/functionalType.ir.txt @@ -79,7 +79,7 @@ FILE fqName: fileName:/functionalType.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:f visibility:public modality:FINAL ($receiver:.K, :.O, g:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<.O, .K, .Param, T of .f>) returnType:T of .f - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:.K VALUE_PARAMETER name: index:0 type:.O diff --git a/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/monoidSum.ir.txt b/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/monoidSum.ir.txt index 6794cefa584..2cbf264a7a5 100644 --- a/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/monoidSum.ir.txt +++ b/compiler/testData/ir/irText/declarations/contextReceivers/fromKEEP/monoidSum.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/monoidSum.kt CLASS INTERFACE name:Semigroup modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Semigroup.Semigroup> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false FUN name:combine visibility:public modality:ABSTRACT <> ($this:.Semigroup.Semigroup>, $receiver:T of .Semigroup, other:T of .Semigroup) returnType:T of .Semigroup [infix] $this: VALUE_PARAMETER name: type:.Semigroup.Semigroup> $receiver: VALUE_PARAMETER name: type:T of .Semigroup @@ -21,7 +21,7 @@ FILE fqName: fileName:/monoidSum.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:Monoid modality:ABSTRACT visibility:public superTypes:[.Semigroup.Monoid>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Monoid.Monoid> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false PROPERTY name:unit visibility:public modality:ABSTRACT [val] FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.Monoid.Monoid>) returnType:T of .Monoid correspondingProperty: PROPERTY name:unit visibility:public modality:ABSTRACT [val] @@ -136,7 +136,7 @@ FILE fqName: fileName:/monoidSum.kt public open fun toString (): kotlin.String [fake_override] declared in .Monoid $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:sum visibility:public modality:FINAL ($receiver:kotlin.collections.List.sum>, :.Monoid.sum>) returnType:T of .sum - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:kotlin.collections.List.sum> VALUE_PARAMETER name: index:0 type:.Monoid.sum> diff --git a/compiler/testData/ir/irText/declarations/contextReceivers/genericOuterClass.fir.ir.txt b/compiler/testData/ir/irText/declarations/contextReceivers/genericOuterClass.fir.ir.txt index 2c2b68a37dd..83149cd7480 100644 --- a/compiler/testData/ir/irText/declarations/contextReceivers/genericOuterClass.fir.ir.txt +++ b/compiler/testData/ir/irText/declarations/contextReceivers/genericOuterClass.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/genericOuterClass.kt CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -21,7 +21,7 @@ FILE fqName: fileName:/genericOuterClass.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:B modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B

.B> - TYPE_PARAMETER name:P index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:P index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.B

.B> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' diff --git a/compiler/testData/ir/irText/declarations/contextReceivers/genericOuterClass.ir.txt b/compiler/testData/ir/irText/declarations/contextReceivers/genericOuterClass.ir.txt index 6b1b460f187..90903c27583 100644 --- a/compiler/testData/ir/irText/declarations/contextReceivers/genericOuterClass.ir.txt +++ b/compiler/testData/ir/irText/declarations/contextReceivers/genericOuterClass.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/genericOuterClass.kt CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false FIELD FIELD_FOR_CLASS_CONTEXT_RECEIVER name:contextReceiverField0 type:T of .A visibility:private [final] CONSTRUCTOR visibility:public <> (:T of .A) returnType:.A.A> [primary] VALUE_PARAMETER name: index:0 type:T of .A @@ -26,7 +26,7 @@ FILE fqName: fileName:/genericOuterClass.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:B modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B

.B> - TYPE_PARAMETER name:P index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:P index:0 variance: superTypes:[kotlin.Any?] reified:false FIELD FIELD_FOR_CLASS_CONTEXT_RECEIVER name:contextReceiverField0 type:kotlin.collections.Collection

.B> visibility:private [final] CONSTRUCTOR visibility:public <> (:kotlin.collections.Collection

.B>) returnType:.B

.B> [primary] VALUE_PARAMETER name: index:0 type:kotlin.collections.Collection

.B> diff --git a/compiler/testData/ir/irText/declarations/contextReceivers/lazy.ir.txt b/compiler/testData/ir/irText/declarations/contextReceivers/lazy.ir.txt index b88f054b926..a9e08379e63 100644 --- a/compiler/testData/ir/irText/declarations/contextReceivers/lazy.ir.txt +++ b/compiler/testData/ir/irText/declarations/contextReceivers/lazy.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/lazy.kt CLASS INTERFACE name:Lazy modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Lazy.Lazy> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -21,19 +21,19 @@ FILE fqName: fileName:/lazy.kt VALUE_PARAMETER name: index:1 type:.Lazy BLOCK_BODY FUN name:test2 visibility:public modality:FINAL ($receiver:.Lazy, :.Lazy.test2>) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:.Lazy VALUE_PARAMETER name: index:0 type:.Lazy.test2> BLOCK_BODY FUN name:test3 visibility:public modality:FINAL ($receiver:.Lazy, :.Lazy<.Lazy.test3>>) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:.Lazy VALUE_PARAMETER name: index:0 type:.Lazy<.Lazy.test3>> BLOCK_BODY FUN name:f visibility:public modality:FINAL (lazy1:.Lazy, lazy2:.Lazy, lazyT:.Lazy.f>, lazyLazyT:.Lazy<.Lazy.f>>) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:lazy1 index:0 type:.Lazy VALUE_PARAMETER name:lazy2 index:1 type:.Lazy VALUE_PARAMETER name:lazyT index:2 type:.Lazy.f> diff --git a/compiler/testData/ir/irText/declarations/contextReceivers/thisWithCustomLabel.ir.txt b/compiler/testData/ir/irText/declarations/contextReceivers/thisWithCustomLabel.ir.txt index 7f3093ebda3..c7b045f4e7d 100644 --- a/compiler/testData/ir/irText/declarations/contextReceivers/thisWithCustomLabel.ir.txt +++ b/compiler/testData/ir/irText/declarations/contextReceivers/thisWithCustomLabel.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/thisWithCustomLabel.kt CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (a:T of .A) returnType:.A.A> [primary] VALUE_PARAMETER name:a index:0 type:T of .A BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/contextReceivers/typeParameterAsContextReceiver.fir.ir.txt b/compiler/testData/ir/irText/declarations/contextReceivers/typeParameterAsContextReceiver.fir.ir.txt index 2e11ebc5d4d..1a52bd7361e 100644 --- a/compiler/testData/ir/irText/declarations/contextReceivers/typeParameterAsContextReceiver.fir.ir.txt +++ b/compiler/testData/ir/irText/declarations/contextReceivers/typeParameterAsContextReceiver.fir.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/typeParameterAsContextReceiver.kt FUN name:useContext visibility:public modality:FINAL (block:kotlin.Function1.useContext, kotlin.Unit>) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:block index:0 type:kotlin.Function1.useContext, kotlin.Unit> BLOCK_BODY FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit diff --git a/compiler/testData/ir/irText/declarations/contextReceivers/typeParameterAsContextReceiver.ir.txt b/compiler/testData/ir/irText/declarations/contextReceivers/typeParameterAsContextReceiver.ir.txt index 6e8357fd931..14c3cb5b280 100644 --- a/compiler/testData/ir/irText/declarations/contextReceivers/typeParameterAsContextReceiver.ir.txt +++ b/compiler/testData/ir/irText/declarations/contextReceivers/typeParameterAsContextReceiver.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/typeParameterAsContextReceiver.kt FUN name:useContext visibility:public modality:FINAL (:T of .useContext, block:kotlin.Function1.useContext, kotlin.Unit>) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false contextReceiverParametersCount: 1 VALUE_PARAMETER name: index:0 type:T of .useContext VALUE_PARAMETER name:block index:1 type:kotlin.Function1.useContext, kotlin.Unit> diff --git a/compiler/testData/ir/irText/declarations/fakeOverrides.fir.ir.txt b/compiler/testData/ir/irText/declarations/fakeOverrides.fir.ir.txt index b9652e9925b..83c6bbd35c6 100644 --- a/compiler/testData/ir/irText/declarations/fakeOverrides.fir.ir.txt +++ b/compiler/testData/ir/irText/declarations/fakeOverrides.fir.ir.txt @@ -38,7 +38,7 @@ FILE fqName: fileName:/fakeOverrides.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:CFoo modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CFoo.CFoo> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.CFoo.CFoo> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' diff --git a/compiler/testData/ir/irText/declarations/fakeOverrides.ir.txt b/compiler/testData/ir/irText/declarations/fakeOverrides.ir.txt index ea00308c76f..9b4701ad48b 100644 --- a/compiler/testData/ir/irText/declarations/fakeOverrides.ir.txt +++ b/compiler/testData/ir/irText/declarations/fakeOverrides.ir.txt @@ -38,7 +38,7 @@ FILE fqName: fileName:/fakeOverrides.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:CFoo modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CFoo.CFoo> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.CFoo.CFoo> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' diff --git a/compiler/testData/ir/irText/declarations/fileWithTypeAliasesOnly.ir.txt b/compiler/testData/ir/irText/declarations/fileWithTypeAliasesOnly.ir.txt index da9bb34b868..e508f609dc8 100644 --- a/compiler/testData/ir/irText/declarations/fileWithTypeAliasesOnly.ir.txt +++ b/compiler/testData/ir/irText/declarations/fileWithTypeAliasesOnly.ir.txt @@ -1,3 +1,3 @@ FILE fqName: fileName:/fileWithTypeAliasesOnly.kt TYPEALIAS name:Bar visibility:public expandedType:kotlin.Function1.Bar, kotlin.String> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false diff --git a/compiler/testData/ir/irText/declarations/genericDelegatedProperty.fir.ir.txt b/compiler/testData/ir/irText/declarations/genericDelegatedProperty.fir.ir.txt index 4a2e50bf8e8..382ec33d913 100644 --- a/compiler/testData/ir/irText/declarations/genericDelegatedProperty.fir.ir.txt +++ b/compiler/testData/ir/irText/declarations/genericDelegatedProperty.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/genericDelegatedProperty.kt CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.C.C> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -57,7 +57,7 @@ FILE fqName: fileName:/genericDelegatedProperty.kt GET_OBJECT 'CLASS OBJECT name:Delegate modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Delegate FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL ($receiver:.C.>) returnType:kotlin.Int correspondingProperty: PROPERTY name:genericDelegatedProperty visibility:public modality:FINAL [delegated,var] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.C.> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' @@ -68,7 +68,7 @@ FILE fqName: fileName:/genericDelegatedProperty.kt <1>: FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL ($receiver:.C.>, :kotlin.Int) returnType:kotlin.Unit correspondingProperty: PROPERTY name:genericDelegatedProperty visibility:public modality:FINAL [delegated,var] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.C.> VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/genericDelegatedProperty.ir.txt b/compiler/testData/ir/irText/declarations/genericDelegatedProperty.ir.txt index b3367c710ef..7a401e6a71b 100644 --- a/compiler/testData/ir/irText/declarations/genericDelegatedProperty.ir.txt +++ b/compiler/testData/ir/irText/declarations/genericDelegatedProperty.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/genericDelegatedProperty.kt CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.C.C> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -57,7 +57,7 @@ FILE fqName: fileName:/genericDelegatedProperty.kt GET_OBJECT 'CLASS OBJECT name:Delegate modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.Delegate FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL ($receiver:.C.>) returnType:kotlin.Int correspondingProperty: PROPERTY name:genericDelegatedProperty visibility:public modality:FINAL [delegated,var] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.C.> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' @@ -68,7 +68,7 @@ FILE fqName: fileName:/genericDelegatedProperty.kt <1>: T of . FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL ($receiver:.C.>, :kotlin.Int) returnType:kotlin.Unit correspondingProperty: PROPERTY name:genericDelegatedProperty visibility:public modality:FINAL [delegated,var] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.C.> VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/kt27005.ir.txt b/compiler/testData/ir/irText/declarations/kt27005.ir.txt index aba726605a8..313addd1a6b 100644 --- a/compiler/testData/ir/irText/declarations/kt27005.ir.txt +++ b/compiler/testData/ir/irText/declarations/kt27005.ir.txt @@ -10,6 +10,6 @@ FILE fqName: fileName:/kt27005.kt CALL 'public final fun baz (): T of .baz [suspend] declared in ' type=kotlin.Any origin=null : kotlin.Any FUN name:baz visibility:public modality:FINAL () returnType:T of .baz [suspend] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false BLOCK_BODY CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin.StandardKt' type=kotlin.Nothing origin=null diff --git a/compiler/testData/ir/irText/declarations/kt35550.fir.ir.txt b/compiler/testData/ir/irText/declarations/kt35550.fir.ir.txt index 8946df8e6d0..3b8a9216faf 100644 --- a/compiler/testData/ir/irText/declarations/kt35550.fir.ir.txt +++ b/compiler/testData/ir/irText/declarations/kt35550.fir.ir.txt @@ -4,7 +4,7 @@ FILE fqName: fileName:/kt35550.kt PROPERTY name:id visibility:public modality:OPEN [val] FUN name: visibility:public modality:OPEN ($this:.I, $receiver:T of .I.) returnType:T of .I. correspondingProperty: PROPERTY name:id visibility:public modality:OPEN [val] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.I $receiver: VALUE_PARAMETER name: type:T of .I. BLOCK_BODY @@ -37,7 +37,7 @@ FILE fqName: fileName:/kt35550.kt correspondingProperty: PROPERTY DELEGATED_MEMBER name:id visibility:public modality:OPEN [val] overridden: public open fun (): T of .I. declared in .I - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.A $receiver: VALUE_PARAMETER name: type:T of .A. BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/kt35550.ir.txt b/compiler/testData/ir/irText/declarations/kt35550.ir.txt index bd9eb2d6880..bd860860ec0 100644 --- a/compiler/testData/ir/irText/declarations/kt35550.ir.txt +++ b/compiler/testData/ir/irText/declarations/kt35550.ir.txt @@ -4,7 +4,7 @@ FILE fqName: fileName:/kt35550.kt PROPERTY name:id visibility:public modality:OPEN [val] FUN name: visibility:public modality:OPEN ($this:.I, $receiver:T of .I.) returnType:T of .I. correspondingProperty: PROPERTY name:id visibility:public modality:OPEN [val] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.I $receiver: VALUE_PARAMETER name: type:T of .I. BLOCK_BODY @@ -40,7 +40,7 @@ FILE fqName: fileName:/kt35550.kt correspondingProperty: PROPERTY DELEGATED_MEMBER name:id visibility:public modality:OPEN [val] overridden: public open fun (): T of .I. declared in .I - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.A $receiver: VALUE_PARAMETER name: type:T of .A. BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/parameters/class.ir.txt b/compiler/testData/ir/irText/declarations/parameters/class.ir.txt index c5df1e69ef9..86b90db8caa 100644 --- a/compiler/testData/ir/irText/declarations/parameters/class.ir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/class.ir.txt @@ -1,10 +1,10 @@ FILE fqName: fileName:/class.kt CLASS INTERFACE name:TestInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInterface.TestInterface> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CLASS INTERFACE name:TestNestedInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInterface.TestNestedInterface.TestInterface.TestNestedInterface> - TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -33,14 +33,14 @@ FILE fqName: fileName:/class.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test.Test> - TYPE_PARAMETER name:T0 index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T0 index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.Test.Test> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[kotlin.Any]' CLASS CLASS name:TestNested modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test.TestNested.Test.TestNested> - TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.Test.TestNested.Test.TestNested> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -60,7 +60,7 @@ FILE fqName: fileName:/class.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:TestInner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test.TestInner.Test.TestInner, T0 of .Test> - TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> ($this:.Test.Test>) returnType:.Test.TestInner.Test.TestInner, T0 of .Test> [primary] $outer: VALUE_PARAMETER name: type:.Test.Test> BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/parameters/constructor.fir.ir.txt b/compiler/testData/ir/irText/declarations/parameters/constructor.fir.ir.txt index 06985b9e57c..537dde5e766 100644 --- a/compiler/testData/ir/irText/declarations/parameters/constructor.fir.ir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/constructor.fir.ir.txt @@ -1,8 +1,8 @@ FILE fqName: fileName:/constructor.kt CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1.Test1, T2 of .Test1> - TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (x:T1 of .Test1, y:T2 of .Test1) returnType:.Test1.Test1, T2 of .Test1> [primary] VALUE_PARAMETER name:x index:0 type:T1 of .Test1 VALUE_PARAMETER name:y index:1 type:T2 of .Test1 @@ -65,7 +65,7 @@ FILE fqName: fileName:/constructor.kt receiver: GET_VAR ': .Test2 declared in .Test2.' type=.Test2 origin=null CLASS CLASS name:TestInner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2.TestInner.Test2.TestInner> - TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> ($this:.Test2, z:Z of .Test2.TestInner) returnType:.Test2.TestInner.Test2.TestInner> [primary] $outer: VALUE_PARAMETER name: type:.Test2 VALUE_PARAMETER name:z index:0 type:Z of .Test2.TestInner @@ -165,7 +165,7 @@ FILE fqName: fileName:/constructor.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:Test4 modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test4.Test4> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test4.Test4> [primary] VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/parameters/constructor.ir.txt b/compiler/testData/ir/irText/declarations/parameters/constructor.ir.txt index bf854551969..944330ff536 100644 --- a/compiler/testData/ir/irText/declarations/parameters/constructor.ir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/constructor.ir.txt @@ -1,8 +1,8 @@ FILE fqName: fileName:/constructor.kt CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1.Test1, T2 of .Test1> - TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (x:T1 of .Test1, y:T2 of .Test1) returnType:.Test1.Test1, T2 of .Test1> [primary] VALUE_PARAMETER name:x index:0 type:T1 of .Test1 VALUE_PARAMETER name:y index:1 type:T2 of .Test1 @@ -65,7 +65,7 @@ FILE fqName: fileName:/constructor.kt receiver: GET_VAR ': .Test2 declared in .Test2.' type=.Test2 origin=null CLASS CLASS name:TestInner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2.TestInner.Test2.TestInner> - TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> ($this:.Test2, z:Z of .Test2.TestInner) returnType:.Test2.TestInner.Test2.TestInner> [primary] $outer: VALUE_PARAMETER name: type:.Test2 VALUE_PARAMETER name:z index:0 type:Z of .Test2.TestInner @@ -165,7 +165,7 @@ FILE fqName: fileName:/constructor.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:Test4 modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test4.Test4> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test4.Test4> [primary] VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.fir.ir.txt b/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.fir.ir.txt index b0b5bdc6aa5..43f65a56ff4 100644 --- a/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.fir.ir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/dataClassMembers.kt CLASS CLASS name:Test modality:FINAL visibility:public [data] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test.Test> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (x:T of .Test, y:kotlin.String) returnType:.Test.Test> [primary] VALUE_PARAMETER name:x index:0 type:T of .Test VALUE_PARAMETER name:y index:1 type:kotlin.String diff --git a/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.ir.txt b/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.ir.txt index 1df2c2ecbbc..c748d7e58c2 100644 --- a/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.ir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/dataClassMembers.kt CLASS CLASS name:Test modality:FINAL visibility:public [data] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test.Test> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (x:T of .Test, y:kotlin.String) returnType:.Test.Test> [primary] VALUE_PARAMETER name:x index:0 type:T of .Test VALUE_PARAMETER name:y index:1 type:kotlin.String diff --git a/compiler/testData/ir/irText/declarations/parameters/defaultPropertyAccessors.ir.txt b/compiler/testData/ir/irText/declarations/parameters/defaultPropertyAccessors.ir.txt index 4ed5f969057..04679722547 100644 --- a/compiler/testData/ir/irText/declarations/parameters/defaultPropertyAccessors.ir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/defaultPropertyAccessors.ir.txt @@ -74,7 +74,7 @@ FILE fqName: fileName:/defaultPropertyAccessors.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:InPrimaryCtor modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.InPrimaryCtor.InPrimaryCtor> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (testInPrimaryCtor1:T of .InPrimaryCtor, testInPrimaryCtor2:kotlin.Int) returnType:.InPrimaryCtor.InPrimaryCtor> [primary] VALUE_PARAMETER name:testInPrimaryCtor1 index:0 type:T of .InPrimaryCtor VALUE_PARAMETER name:testInPrimaryCtor2 index:1 type:kotlin.Int diff --git a/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.fir.ir.txt b/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.fir.ir.txt index fd032ea4022..b064fdf0410 100644 --- a/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.fir.ir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/delegatedMembers.kt CLASS INTERFACE name:IBase modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IBase.IBase> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IBase.IBase>, x:kotlin.Int) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.IBase.IBase> VALUE_PARAMETER name:x index:0 type:kotlin.Int @@ -10,7 +10,7 @@ FILE fqName: fileName:/delegatedMembers.kt correspondingProperty: PROPERTY name:bar visibility:public modality:ABSTRACT [val] $this: VALUE_PARAMETER name: type:.IBase.IBase> FUN name:qux visibility:public modality:ABSTRACT ($this:.IBase.IBase>, t:T of .IBase, x:X of .IBase.qux) returnType:kotlin.Unit - TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.IBase.IBase> VALUE_PARAMETER name:t index:0 type:T of .IBase VALUE_PARAMETER name:x index:1 type:X of .IBase.qux @@ -29,7 +29,7 @@ FILE fqName: fileName:/delegatedMembers.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[.IBase.Test>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test.Test> - TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (impl:.IBase.Test>) returnType:.Test.Test> [primary] VALUE_PARAMETER name:impl index:0 type:.IBase.Test> BLOCK_BODY @@ -48,7 +48,7 @@ FILE fqName: fileName:/delegatedMembers.kt FUN DELEGATED_MEMBER name:qux visibility:public modality:OPEN ($this:.Test.Test>, t:TT of .Test, x:X of .Test.qux) returnType:kotlin.Unit overridden: public abstract fun qux (t: T of .IBase, x: X of .IBase.qux): kotlin.Unit declared in .IBase - TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Test.Test> VALUE_PARAMETER name:t index:0 type:TT of .Test VALUE_PARAMETER name:x index:1 type:X of .Test.qux diff --git a/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.ir.txt b/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.ir.txt index 149edbc26ba..33bdeb983dd 100644 --- a/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.ir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/delegatedMembers.kt CLASS INTERFACE name:IBase modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IBase.IBase> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IBase.IBase>, x:kotlin.Int) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.IBase.IBase> VALUE_PARAMETER name:x index:0 type:kotlin.Int @@ -10,7 +10,7 @@ FILE fqName: fileName:/delegatedMembers.kt correspondingProperty: PROPERTY name:bar visibility:public modality:ABSTRACT [val] $this: VALUE_PARAMETER name: type:.IBase.IBase> FUN name:qux visibility:public modality:ABSTRACT ($this:.IBase.IBase>, t:T of .IBase, x:X of .IBase.qux) returnType:kotlin.Unit - TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.IBase.IBase> VALUE_PARAMETER name:t index:0 type:T of .IBase VALUE_PARAMETER name:x index:1 type:X of .IBase.qux @@ -29,7 +29,7 @@ FILE fqName: fileName:/delegatedMembers.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[.IBase.Test>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test.Test> - TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (impl:.IBase.Test>) returnType:.Test.Test> [primary] VALUE_PARAMETER name:impl index:0 type:.IBase.Test> BLOCK_BODY @@ -64,7 +64,7 @@ FILE fqName: fileName:/delegatedMembers.kt FUN DELEGATED_MEMBER name:qux visibility:public modality:OPEN ($this:.Test.Test>, t:TT of .Test, x:X of .Test.qux) returnType:kotlin.Unit overridden: public abstract fun qux (t: T of .IBase, x: X of .IBase.qux): kotlin.Unit declared in .IBase - TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Test.Test> VALUE_PARAMETER name:t index:0 type:TT of .Test VALUE_PARAMETER name:x index:1 type:X of .Test.qux diff --git a/compiler/testData/ir/irText/declarations/parameters/fun.ir.txt b/compiler/testData/ir/irText/declarations/parameters/fun.ir.txt index 4044ee3ac61..262dfe390ed 100644 --- a/compiler/testData/ir/irText/declarations/parameters/fun.ir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/fun.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/fun.kt FUN name:test1 visibility:public modality:FINAL (i:kotlin.Int, j:T of .test1) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:i index:0 type:kotlin.Int VALUE_PARAMETER name:j index:1 type:T of .test1 BLOCK_BODY @@ -33,7 +33,7 @@ FILE fqName: fileName:/fun.kt VALUE_PARAMETER name:j index:1 type:kotlin.String BLOCK_BODY FUN name:testMembetExt2 visibility:public modality:FINAL ($this:.Host, $receiver:kotlin.String, i:kotlin.Int, j:T of .Host.testMembetExt2) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Host $receiver: VALUE_PARAMETER name: type:kotlin.String VALUE_PARAMETER name:i index:0 type:kotlin.Int diff --git a/compiler/testData/ir/irText/declarations/parameters/genericInnerClass.ir.txt b/compiler/testData/ir/irText/declarations/parameters/genericInnerClass.ir.txt index 4ef52f0c4e1..83d9255ac4e 100644 --- a/compiler/testData/ir/irText/declarations/parameters/genericInnerClass.ir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/genericInnerClass.ir.txt @@ -1,14 +1,14 @@ FILE fqName: fileName:/genericInnerClass.kt CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Outer> - TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.Outer.Outer> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any]' CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner.Outer.Inner, T1 of .Outer> - TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> ($this:.Outer.Outer>) returnType:.Outer.Inner.Outer.Inner, T1 of .Outer> [primary] $outer: VALUE_PARAMETER name: type:.Outer.Outer> BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/parameters/localFun.ir.txt b/compiler/testData/ir/irText/declarations/parameters/localFun.ir.txt index 0366931ad77..f403b73c5c6 100644 --- a/compiler/testData/ir/irText/declarations/parameters/localFun.ir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/localFun.ir.txt @@ -1,9 +1,9 @@ FILE fqName: fileName:/localFun.kt FUN name:outer visibility:public modality:FINAL () returnType:kotlin.Unit - TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] reified:false BLOCK_BODY FUN LOCAL_FUNCTION name:test1 visibility:local modality:FINAL (i:kotlin.Int, j:T of .outer.test1) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:i index:0 type:kotlin.Int VALUE_PARAMETER name:j index:1 type:T of .outer.test1 BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.ir.txt b/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.ir.txt index e4a53a93268..8e9b1494f5d 100644 --- a/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.ir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.ir.txt @@ -37,7 +37,7 @@ FILE fqName: fileName:/propertyAccessors.kt PROPERTY name:testExt3 visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL ($receiver:T of .) returnType:kotlin.Int correspondingProperty: PROPERTY name:testExt3 visibility:public modality:FINAL [val] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:T of . BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' @@ -45,20 +45,20 @@ FILE fqName: fileName:/propertyAccessors.kt PROPERTY name:testExt4 visibility:public modality:FINAL [var] FUN name: visibility:public modality:FINAL ($receiver:T of .) returnType:kotlin.Int correspondingProperty: PROPERTY name:testExt4 visibility:public modality:FINAL [var] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:T of . BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' CONST Int type=kotlin.Int value=42 FUN name: visibility:public modality:FINAL ($receiver:T of ., value:kotlin.Int) returnType:kotlin.Unit correspondingProperty: PROPERTY name:testExt4 visibility:public modality:FINAL [var] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:T of . VALUE_PARAMETER name:value index:0 type:kotlin.Int BLOCK_BODY CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host.Host> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.Host.Host> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -107,7 +107,7 @@ FILE fqName: fileName:/propertyAccessors.kt PROPERTY name:testMemExt3 visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL ($this:.Host.Host>, $receiver:TT of .Host.) returnType:kotlin.Int correspondingProperty: PROPERTY name:testMemExt3 visibility:public modality:FINAL [val] - TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Host.Host> $receiver: VALUE_PARAMETER name: type:TT of .Host. BLOCK_BODY @@ -116,7 +116,7 @@ FILE fqName: fileName:/propertyAccessors.kt PROPERTY name:testMemExt4 visibility:public modality:FINAL [var] FUN name: visibility:public modality:FINAL ($this:.Host.Host>, $receiver:TT of .Host.) returnType:kotlin.Int correspondingProperty: PROPERTY name:testMemExt4 visibility:public modality:FINAL [var] - TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Host.Host> $receiver: VALUE_PARAMETER name: type:TT of .Host. BLOCK_BODY @@ -124,7 +124,7 @@ FILE fqName: fileName:/propertyAccessors.kt CONST Int type=kotlin.Int value=42 FUN name: visibility:public modality:FINAL ($this:.Host.Host>, $receiver:TT of .Host., value:kotlin.Int) returnType:kotlin.Unit correspondingProperty: PROPERTY name:testMemExt4 visibility:public modality:FINAL [var] - TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Host.Host> $receiver: VALUE_PARAMETER name: type:TT of .Host. VALUE_PARAMETER name:value index:0 type:kotlin.Int diff --git a/compiler/testData/ir/irText/declarations/parameters/typeParameterBeforeBound.fir.ir.txt b/compiler/testData/ir/irText/declarations/parameters/typeParameterBeforeBound.fir.ir.txt index b95ea768bb3..de330442279 100644 --- a/compiler/testData/ir/irText/declarations/parameters/typeParameterBeforeBound.fir.ir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/typeParameterBeforeBound.fir.ir.txt @@ -1,8 +1,8 @@ FILE fqName: fileName:/typeParameterBeforeBound.kt CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1.Test1, U of .Test1> - TYPE_PARAMETER name:T index:0 variance: superTypes:[U of .Test1] - TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[U of .Test1] reified:false + TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.Test1.Test1, U of .Test1> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -21,20 +21,20 @@ FILE fqName: fileName:/typeParameterBeforeBound.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:test2 visibility:public modality:FINAL () returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[U of .test2] - TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[U of .test2] reified:false + TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] reified:false BLOCK_BODY PROPERTY name:test3 visibility:public modality:FINAL [var] FUN name: visibility:public modality:FINAL ($receiver:.Test1., U of .>) returnType:kotlin.Unit correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [var] - TYPE_PARAMETER name:T index:0 variance: superTypes:[U of .] - TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[U of .] reified:false + TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.Test1., U of .> BLOCK_BODY FUN name: visibility:public modality:FINAL ($receiver:.Test1., U of .>, value:kotlin.Unit) returnType:kotlin.Unit correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [var] - TYPE_PARAMETER name:T index:0 variance: superTypes:[U of .] - TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[U of .] reified:false + TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.Test1., U of .> VALUE_PARAMETER name:value index:0 type:kotlin.Unit BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/parameters/typeParameterBeforeBound.ir.txt b/compiler/testData/ir/irText/declarations/parameters/typeParameterBeforeBound.ir.txt index 062760f7d2a..db3f3239887 100644 --- a/compiler/testData/ir/irText/declarations/parameters/typeParameterBeforeBound.ir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/typeParameterBeforeBound.ir.txt @@ -1,8 +1,8 @@ FILE fqName: fileName:/typeParameterBeforeBound.kt CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1.Test1, U of .Test1> - TYPE_PARAMETER name:T index:0 variance: superTypes:[U of .Test1] - TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[U of .Test1] reified:false + TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.Test1.Test1, U of .Test1> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -21,20 +21,20 @@ FILE fqName: fileName:/typeParameterBeforeBound.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:test2 visibility:public modality:FINAL () returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[U of .test2] - TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[U of .test2] reified:false + TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] reified:false BLOCK_BODY PROPERTY name:test3 visibility:public modality:FINAL [var] FUN name: visibility:public modality:FINAL ($receiver:.Test1., U of .>) returnType:kotlin.Unit correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [var] - TYPE_PARAMETER name:T index:0 variance: superTypes:[U of .] - TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[U of .] reified:false + TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.Test1., U of .> BLOCK_BODY FUN name: visibility:public modality:FINAL ($receiver:.Test1., U of .>, value:kotlin.Unit) returnType:kotlin.Unit correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [var] - TYPE_PARAMETER name:T index:0 variance: superTypes:[U of .] - TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[U of .] reified:false + TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.Test1., U of .> VALUE_PARAMETER name:value index:0 type:kotlin.Unit BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/parameters/typeParameterBoundedBySubclass.ir.txt b/compiler/testData/ir/irText/declarations/parameters/typeParameterBoundedBySubclass.ir.txt index 1c71346c118..0dba489d4f4 100644 --- a/compiler/testData/ir/irText/declarations/parameters/typeParameterBoundedBySubclass.ir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/typeParameterBoundedBySubclass.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/typeParameterBoundedBySubclass.kt CLASS CLASS name:Base1 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base1.Base1> - TYPE_PARAMETER name:T index:0 variance: superTypes:[.Derived1] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.Derived1] reified:false CONSTRUCTOR visibility:public <> () returnType:.Base1.Base1> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -46,7 +46,7 @@ FILE fqName: fileName:/typeParameterBoundedBySubclass.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' FUN name:foo visibility:public modality:FINAL ($this:.Base2, x:T of .Base2.foo) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[.Derived2] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.Derived2] reified:false $this: VALUE_PARAMETER name: type:.Base2 VALUE_PARAMETER name:x index:0 type:T of .Base2.foo BLOCK_BODY @@ -72,7 +72,7 @@ FILE fqName: fileName:/typeParameterBoundedBySubclass.kt FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL ($this:.Base2, x:T of .Derived2.foo) returnType:kotlin.Unit [fake_override] overridden: public final fun foo (x: T of .Base2.foo): kotlin.Unit declared in .Base2 - TYPE_PARAMETER name:T index:0 variance: superTypes:[.Derived2] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.Derived2] reified:false $this: VALUE_PARAMETER name: type:.Base2 VALUE_PARAMETER name:x index:0 type:T of .Derived2.foo FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] diff --git a/compiler/testData/ir/irText/expressions/argumentMappedWithError.ir.txt b/compiler/testData/ir/irText/expressions/argumentMappedWithError.ir.txt index 2545cc9f75b..23d0b5ff2ab 100644 --- a/compiler/testData/ir/irText/expressions/argumentMappedWithError.ir.txt +++ b/compiler/testData/ir/irText/expressions/argumentMappedWithError.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/argumentMappedWithError.kt FUN name:convert visibility:public modality:FINAL ($receiver:kotlin.Number) returnType:R of .convert - TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Number] + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Number] reified:false $receiver: VALUE_PARAMETER name: type:kotlin.Number BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun convert (): R of .convert declared in ' diff --git a/compiler/testData/ir/irText/expressions/bangbang.fir.ir.txt b/compiler/testData/ir/irText/expressions/bangbang.fir.ir.txt index 357a4e7becd..1268151c68a 100644 --- a/compiler/testData/ir/irText/expressions/bangbang.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/bangbang.fir.ir.txt @@ -26,7 +26,7 @@ FILE fqName: fileName:/bangbang.kt then: CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Any' type=kotlin.Int origin=null $this: GET_VAR 'val tmp_0: kotlin.Any? [val] declared in .test2' type=kotlin.Any? origin=null FUN name:test3 visibility:public modality:FINAL (a:X of .test3) returnType:{X of .test3 & Any} - TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:a index:0 type:X of .test3 BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test3 (a: X of .test3): {X of .test3 & Any} declared in ' @@ -37,7 +37,7 @@ FILE fqName: fileName:/bangbang.kt VALUE_PARAMETER name:s index:0 type:kotlin.String BLOCK_BODY FUN name:test4 visibility:public modality:FINAL (a:X of .test4) returnType:kotlin.Unit - TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:a index:0 type:X of .test4 BLOCK_BODY WHEN type=kotlin.Unit origin=IF diff --git a/compiler/testData/ir/irText/expressions/bangbang.ir.txt b/compiler/testData/ir/irText/expressions/bangbang.ir.txt index 0186e9fe986..c4aa6f09d9f 100644 --- a/compiler/testData/ir/irText/expressions/bangbang.ir.txt +++ b/compiler/testData/ir/irText/expressions/bangbang.ir.txt @@ -26,7 +26,7 @@ FILE fqName: fileName:/bangbang.kt then: CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Any' type=kotlin.Int origin=null $this: GET_VAR 'val tmp_0: kotlin.Any? [val] declared in .test2' type=kotlin.Any? origin=null FUN name:test3 visibility:public modality:FINAL (a:X of .test3) returnType:{X of .test3 & Any} - TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:a index:0 type:X of .test3 BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test3 (a: X of .test3): {X of .test3 & Any} declared in ' @@ -37,7 +37,7 @@ FILE fqName: fileName:/bangbang.kt VALUE_PARAMETER name:s index:0 type:kotlin.String BLOCK_BODY FUN name:test4 visibility:public modality:FINAL (a:X of .test4) returnType:kotlin.Unit - TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:a index:0 type:X of .test4 BLOCK_BODY WHEN type=kotlin.Unit origin=IF diff --git a/compiler/testData/ir/irText/expressions/callableReferences/boundInnerGenericConstructor.ir.txt b/compiler/testData/ir/irText/expressions/callableReferences/boundInnerGenericConstructor.ir.txt index 1def4d8ae4a..ea0dbb792a4 100644 --- a/compiler/testData/ir/irText/expressions/callableReferences/boundInnerGenericConstructor.ir.txt +++ b/compiler/testData/ir/irText/expressions/callableReferences/boundInnerGenericConstructor.ir.txt @@ -1,14 +1,14 @@ FILE fqName:test fileName:/boundInnerGenericConstructor.kt CLASS CLASS name:Foo modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:test.Foo - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:test.Foo [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Foo modality:FINAL visibility:public superTypes:[kotlin.Any]' CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:test.Foo.Inner

- TYPE_PARAMETER name:P index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:P index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> ($this:test.Foo, a:T of test.Foo, b:P of test.Foo.Inner) returnType:test.Foo.Inner

[primary] $outer: VALUE_PARAMETER name: type:test.Foo VALUE_PARAMETER name:a index:0 type:T of test.Foo @@ -65,8 +65,8 @@ FILE fqName:test fileName:/boundInnerGenericConstructor.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:foo visibility:public modality:FINAL (a:A of test.foo, b:B of test.foo, x:kotlin.Function2>) returnType:test.Foo.Inner [inline] - TYPE_PARAMETER name:A index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:B index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:A index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:B index:1 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:a index:0 type:A of test.foo VALUE_PARAMETER name:b index:1 type:B of test.foo VALUE_PARAMETER name:x index:2 type:kotlin.Function2> diff --git a/compiler/testData/ir/irText/expressions/callableReferences/genericLocalClassConstructorReference.fir.ir.txt b/compiler/testData/ir/irText/expressions/callableReferences/genericLocalClassConstructorReference.fir.ir.txt index 968abae760d..91a4e9641e2 100644 --- a/compiler/testData/ir/irText/expressions/callableReferences/genericLocalClassConstructorReference.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/callableReferences/genericLocalClassConstructorReference.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/genericLocalClassConstructorReference.kt CLASS CLASS name:L modality:OPEN visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L.L> - TYPE_PARAMETER name:LL index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:LL index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (ll:LL of .L) returnType:.L.L> [primary] VALUE_PARAMETER name:ll index:0 type:LL of .L BLOCK_BODY @@ -33,7 +33,7 @@ FILE fqName: fileName:/genericLocalClassConstructorReference.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:Rec modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Rec.Rec> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (rt:T of .Rec) returnType:.Rec.Rec> [primary] VALUE_PARAMETER name:rt index:0 type:T of .Rec BLOCK_BODY @@ -66,12 +66,12 @@ FILE fqName: fileName:/genericLocalClassConstructorReference.kt PROPERTY name:p visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL ($receiver:.Rec.>) returnType:.L.> correspondingProperty: PROPERTY name:p visibility:public modality:FINAL [val] - TYPE_PARAMETER name:PT index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:PT index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.Rec.> BLOCK_BODY CLASS CLASS name:PLocal modality:FINAL visibility:local superTypes:[.L..PLocal>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:..PLocal..PLocal, PT of .> - TYPE_PARAMETER name:LT index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:LT index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (lt:LT of ..PLocal, pt:PT of .) returnType:..PLocal..PLocal, PT of .> [primary] VALUE_PARAMETER name:lt index:0 type:LT of ..PLocal VALUE_PARAMETER name:pt index:1 type:PT of . @@ -124,12 +124,12 @@ FILE fqName: fileName:/genericLocalClassConstructorReference.kt bb: FUNCTION_REFERENCE 'public constructor (lt: LT of ..PLocal, pt: PT of .) [primary] declared in ..PLocal' type=kotlin.reflect.KFunction2., PT of ., ..PLocal., PT of .>> origin=null reflectionTarget= : PT of . FUN name:fn visibility:public modality:FINAL ($receiver:.Rec.fn>) returnType:.L.fn> - TYPE_PARAMETER name:FT index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:FT index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.Rec.fn> BLOCK_BODY CLASS CLASS name:FLocal modality:FINAL visibility:local superTypes:[.L.fn.FLocal>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.fn.FLocal.fn.FLocal, FT of .fn> - TYPE_PARAMETER name:LT index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:LT index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (lt:LT of .fn.FLocal, pt:FT of .fn) returnType:.fn.FLocal.fn.FLocal, FT of .fn> [primary] VALUE_PARAMETER name:lt index:0 type:LT of .fn.FLocal VALUE_PARAMETER name:pt index:1 type:FT of .fn @@ -182,9 +182,9 @@ FILE fqName: fileName:/genericLocalClassConstructorReference.kt bb: FUNCTION_REFERENCE 'public constructor (lt: LT of .fn.FLocal, pt: FT of .fn) [primary] declared in .fn.FLocal' type=kotlin.reflect.KFunction2.fn, FT of .fn, .fn.FLocal.fn, FT of .fn>> origin=null reflectionTarget= : FT of .fn FUN name:foo2 visibility:public modality:FINAL (t1:T1 of .foo2, t2:T2 of .foo2, bb:kotlin.Function2.foo2, T2 of .foo2, R of .foo2>) returnType:R of .foo2 - TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:R index:2 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:R index:2 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:t1 index:0 type:T1 of .foo2 VALUE_PARAMETER name:t2 index:1 type:T2 of .foo2 VALUE_PARAMETER name:bb index:2 type:kotlin.Function2.foo2, T2 of .foo2, R of .foo2> diff --git a/compiler/testData/ir/irText/expressions/callableReferences/genericLocalClassConstructorReference.ir.txt b/compiler/testData/ir/irText/expressions/callableReferences/genericLocalClassConstructorReference.ir.txt index 0ae2f20be1f..48ced592c1d 100644 --- a/compiler/testData/ir/irText/expressions/callableReferences/genericLocalClassConstructorReference.ir.txt +++ b/compiler/testData/ir/irText/expressions/callableReferences/genericLocalClassConstructorReference.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/genericLocalClassConstructorReference.kt CLASS CLASS name:L modality:OPEN visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L.L> - TYPE_PARAMETER name:LL index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:LL index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (ll:LL of .L) returnType:.L.L> [primary] VALUE_PARAMETER name:ll index:0 type:LL of .L BLOCK_BODY @@ -33,7 +33,7 @@ FILE fqName: fileName:/genericLocalClassConstructorReference.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:Rec modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Rec.Rec> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (rt:T of .Rec) returnType:.Rec.Rec> [primary] VALUE_PARAMETER name:rt index:0 type:T of .Rec BLOCK_BODY @@ -66,12 +66,12 @@ FILE fqName: fileName:/genericLocalClassConstructorReference.kt PROPERTY name:p visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL ($receiver:.Rec.>) returnType:.L.> correspondingProperty: PROPERTY name:p visibility:public modality:FINAL [val] - TYPE_PARAMETER name:PT index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:PT index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.Rec.> BLOCK_BODY CLASS CLASS name:PLocal modality:FINAL visibility:local superTypes:[.L..PLocal>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:..PLocal..PLocal> - TYPE_PARAMETER name:LT index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:LT index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (lt:LT of ..PLocal, pt:PT of .) returnType:..PLocal..PLocal> [primary] VALUE_PARAMETER name:lt index:0 type:LT of ..PLocal VALUE_PARAMETER name:pt index:1 type:PT of . @@ -124,12 +124,12 @@ FILE fqName: fileName:/genericLocalClassConstructorReference.kt bb: FUNCTION_REFERENCE 'public constructor (lt: LT of ..PLocal, pt: PT of .) [primary] declared in ..PLocal' type=kotlin.reflect.KFunction2., PT of ., ..PLocal.>> origin=null reflectionTarget= : PT of . FUN name:fn visibility:public modality:FINAL ($receiver:.Rec.fn>) returnType:.L.fn> - TYPE_PARAMETER name:FT index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:FT index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.Rec.fn> BLOCK_BODY CLASS CLASS name:FLocal modality:FINAL visibility:local superTypes:[.L.fn.FLocal>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.fn.FLocal.fn.FLocal, FT of .fn> - TYPE_PARAMETER name:LT index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:LT index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (lt:LT of .fn.FLocal, pt:FT of .fn) returnType:.fn.FLocal.fn.FLocal, FT of .fn> [primary] VALUE_PARAMETER name:lt index:0 type:LT of .fn.FLocal VALUE_PARAMETER name:pt index:1 type:FT of .fn @@ -182,9 +182,9 @@ FILE fqName: fileName:/genericLocalClassConstructorReference.kt bb: FUNCTION_REFERENCE 'public constructor (lt: LT of .fn.FLocal, pt: FT of .fn) [primary] declared in .fn.FLocal' type=kotlin.reflect.KFunction2.fn, FT of .fn, .fn.FLocal.fn, FT of .fn>> origin=null reflectionTarget= : FT of .fn FUN name:foo2 visibility:public modality:FINAL (t1:T1 of .foo2, t2:T2 of .foo2, bb:kotlin.Function2.foo2, T2 of .foo2, R of .foo2>) returnType:R of .foo2 - TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:R index:2 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:R index:2 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:t1 index:0 type:T1 of .foo2 VALUE_PARAMETER name:t2 index:1 type:T2 of .foo2 VALUE_PARAMETER name:bb index:2 type:kotlin.Function2.foo2, T2 of .foo2, R of .foo2> diff --git a/compiler/testData/ir/irText/expressions/callableReferences/genericMember.ir.txt b/compiler/testData/ir/irText/expressions/callableReferences/genericMember.ir.txt index 01c1595f4ce..38d585a6cc0 100644 --- a/compiler/testData/ir/irText/expressions/callableReferences/genericMember.ir.txt +++ b/compiler/testData/ir/irText/expressions/callableReferences/genericMember.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/genericMember.kt CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' diff --git a/compiler/testData/ir/irText/expressions/callableReferences/kt46069.fir.ir.txt b/compiler/testData/ir/irText/expressions/callableReferences/kt46069.fir.ir.txt index d57d677477f..3105abea1c0 100644 --- a/compiler/testData/ir/irText/expressions/callableReferences/kt46069.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/callableReferences/kt46069.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/kt46069.kt CLASS CLASS name:ObjectAssert modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ObjectAssert.ObjectAssert> - TYPE_PARAMETER name:ACTUAL index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:ACTUAL index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.ObjectAssert.ObjectAssert> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -33,7 +33,7 @@ FILE fqName: fileName:/kt46069.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Assertions modality:FINAL visibility:public superTypes:[kotlin.Any]' FUN name:assertThat visibility:public modality:FINAL ($this:.Assertions, actual:S of .Assertions.assertThat) returnType:.ObjectAssert.Assertions.assertThat> - TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Assertions VALUE_PARAMETER name:actual index:0 type:S of .Assertions.assertThat BLOCK_BODY @@ -54,7 +54,7 @@ FILE fqName: fileName:/kt46069.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:assertNotNull visibility:public modality:FINAL ($receiver:T of .assertNotNull?, description:kotlin.String?) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false $receiver: VALUE_PARAMETER name: type:T of .assertNotNull? VALUE_PARAMETER name:description index:0 type:kotlin.String? EXPRESSION_BODY diff --git a/compiler/testData/ir/irText/expressions/callableReferences/kt46069.ir.txt b/compiler/testData/ir/irText/expressions/callableReferences/kt46069.ir.txt index 6c5257331a6..f9a542d89cf 100644 --- a/compiler/testData/ir/irText/expressions/callableReferences/kt46069.ir.txt +++ b/compiler/testData/ir/irText/expressions/callableReferences/kt46069.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/kt46069.kt CLASS CLASS name:ObjectAssert modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ObjectAssert.ObjectAssert> - TYPE_PARAMETER name:ACTUAL index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:ACTUAL index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.ObjectAssert.ObjectAssert> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -33,7 +33,7 @@ FILE fqName: fileName:/kt46069.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Assertions modality:FINAL visibility:public superTypes:[kotlin.Any]' FUN name:assertThat visibility:public modality:FINAL ($this:.Assertions, actual:S of .Assertions.assertThat) returnType:.ObjectAssert.Assertions.assertThat> - TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Assertions VALUE_PARAMETER name:actual index:0 type:S of .Assertions.assertThat BLOCK_BODY @@ -54,7 +54,7 @@ FILE fqName: fileName:/kt46069.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:assertNotNull visibility:public modality:FINAL ($receiver:T of .assertNotNull?, description:kotlin.String?) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false $receiver: VALUE_PARAMETER name: type:T of .assertNotNull? VALUE_PARAMETER name:description index:0 type:kotlin.String? EXPRESSION_BODY diff --git a/compiler/testData/ir/irText/expressions/callableReferences/typeArguments.fir.ir.txt b/compiler/testData/ir/irText/expressions/callableReferences/typeArguments.fir.ir.txt index 6b9d21a1ef0..a8ef6cd33e3 100644 --- a/compiler/testData/ir/irText/expressions/callableReferences/typeArguments.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/callableReferences/typeArguments.fir.ir.txt @@ -6,7 +6,7 @@ FILE fqName: fileName:/typeArguments.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' FUN name:objectMember visibility:public modality:FINAL ($this:.Host, x:T of .Host.objectMember) returnType:kotlin.Unit [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true $this: VALUE_PARAMETER name: type:.Host VALUE_PARAMETER name:x index:0 type:T of .Host.objectMember BLOCK_BODY @@ -24,11 +24,11 @@ FILE fqName: fileName:/typeArguments.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:topLevel1 visibility:public modality:FINAL (x:T of .topLevel1) returnType:kotlin.Unit [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true VALUE_PARAMETER name:x index:0 type:T of .topLevel1 BLOCK_BODY FUN name:topLevel2 visibility:public modality:FINAL (x:kotlin.collections.List.topLevel2>) returnType:kotlin.Unit [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true VALUE_PARAMETER name:x index:0 type:kotlin.collections.List.topLevel2> BLOCK_BODY PROPERTY name:test1 visibility:public modality:FINAL [val] diff --git a/compiler/testData/ir/irText/expressions/callableReferences/typeArguments.ir.txt b/compiler/testData/ir/irText/expressions/callableReferences/typeArguments.ir.txt index 47d97523bbe..694a0b95b81 100644 --- a/compiler/testData/ir/irText/expressions/callableReferences/typeArguments.ir.txt +++ b/compiler/testData/ir/irText/expressions/callableReferences/typeArguments.ir.txt @@ -6,7 +6,7 @@ FILE fqName: fileName:/typeArguments.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' FUN name:objectMember visibility:public modality:FINAL ($this:.Host, x:T of .Host.objectMember) returnType:kotlin.Unit [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true $this: VALUE_PARAMETER name: type:.Host VALUE_PARAMETER name:x index:0 type:T of .Host.objectMember BLOCK_BODY @@ -24,11 +24,11 @@ FILE fqName: fileName:/typeArguments.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:topLevel1 visibility:public modality:FINAL (x:T of .topLevel1) returnType:kotlin.Unit [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true VALUE_PARAMETER name:x index:0 type:T of .topLevel1 BLOCK_BODY FUN name:topLevel2 visibility:public modality:FINAL (x:kotlin.collections.List.topLevel2>) returnType:kotlin.Unit [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true VALUE_PARAMETER name:x index:0 type:kotlin.collections.List.topLevel2> BLOCK_BODY PROPERTY name:test1 visibility:public modality:FINAL [val] diff --git a/compiler/testData/ir/irText/expressions/castToTypeParameter.ir.txt b/compiler/testData/ir/irText/expressions/castToTypeParameter.ir.txt index cd051987a63..0846e253d49 100644 --- a/compiler/testData/ir/irText/expressions/castToTypeParameter.ir.txt +++ b/compiler/testData/ir/irText/expressions/castToTypeParameter.ir.txt @@ -1,13 +1,13 @@ FILE fqName: fileName:/castToTypeParameter.kt FUN name:castFun visibility:public modality:FINAL (x:kotlin.Any) returnType:T of .castFun - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun castFun (x: kotlin.Any): T of .castFun declared in ' TYPE_OP type=T of .castFun origin=CAST typeOperand=T of .castFun GET_VAR 'x: kotlin.Any declared in .castFun' type=kotlin.Any origin=null FUN name:castExtFun visibility:public modality:FINAL ($receiver:kotlin.Any) returnType:T of .castExtFun - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:kotlin.Any BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun castExtFun (): T of .castExtFun declared in ' @@ -16,7 +16,7 @@ FILE fqName: fileName:/castToTypeParameter.kt PROPERTY name:castExtVal visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL ($receiver:T of .) returnType:T of . correspondingProperty: PROPERTY name:castExtVal visibility:public modality:FINAL [val] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:T of . BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): T of . declared in ' @@ -24,7 +24,7 @@ FILE fqName: fileName:/castToTypeParameter.kt GET_VAR ': T of . declared in .' type=T of . origin=null CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host.Host> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.Host.Host> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -37,7 +37,7 @@ FILE fqName: fileName:/castToTypeParameter.kt TYPE_OP type=T of .Host origin=CAST typeOperand=T of .Host GET_VAR 'x: kotlin.Any declared in .Host.castMemberFun' type=kotlin.Any origin=null FUN name:castGenericMemberFun visibility:public modality:FINAL ($this:.Host.Host>, x:kotlin.Any) returnType:TF of .Host.castGenericMemberFun - TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Host.Host> VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY @@ -52,7 +52,7 @@ FILE fqName: fileName:/castToTypeParameter.kt TYPE_OP type=T of .Host origin=CAST typeOperand=T of .Host GET_VAR ': kotlin.Any declared in .Host.castMemberExtFun' type=kotlin.Any origin=null FUN name:castGenericMemberExtFun visibility:public modality:FINAL ($this:.Host.Host>, $receiver:kotlin.Any) returnType:TF of .Host.castGenericMemberExtFun - TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Host.Host> $receiver: VALUE_PARAMETER name: type:kotlin.Any BLOCK_BODY @@ -71,7 +71,7 @@ FILE fqName: fileName:/castToTypeParameter.kt PROPERTY name:castGenericMemberExtVal visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL ($this:.Host.Host>, $receiver:TV of .Host.) returnType:TV of .Host. correspondingProperty: PROPERTY name:castGenericMemberExtVal visibility:public modality:FINAL [val] - TYPE_PARAMETER name:TV index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:TV index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Host.Host> $receiver: VALUE_PARAMETER name: type:TV of .Host. BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/constructorWithOwnTypeParametersCall.fir.ir.txt b/compiler/testData/ir/irText/expressions/constructorWithOwnTypeParametersCall.fir.ir.txt index 3a91e79430a..262d0393dcc 100644 --- a/compiler/testData/ir/irText/expressions/constructorWithOwnTypeParametersCall.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/constructorWithOwnTypeParametersCall.fir.ir.txt @@ -17,14 +17,14 @@ FILE fqName: fileName:/constructorWithOwnTypeParametersCall.kt : @[FlexibleNullability] kotlin.String? CLASS CLASS name:K1 modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K1.K1> - TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Number] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Number] reified:false CONSTRUCTOR visibility:public <> () returnType:.K1.K1> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K1 modality:FINAL visibility:public superTypes:[kotlin.Any]' CLASS CLASS name:K2 modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K1.K2.K1.K2, T1 of .K1> - TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.CharSequence] + TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.CharSequence] reified:false CONSTRUCTOR visibility:public <> ($this:.K1.K1>) returnType:.K1.K2.K1.K2, T1 of .K1> [primary] $outer: VALUE_PARAMETER name: type:.K1.K1> BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/constructorWithOwnTypeParametersCall.ir.txt b/compiler/testData/ir/irText/expressions/constructorWithOwnTypeParametersCall.ir.txt index 92af7346834..d24e4a095ff 100644 --- a/compiler/testData/ir/irText/expressions/constructorWithOwnTypeParametersCall.ir.txt +++ b/compiler/testData/ir/irText/expressions/constructorWithOwnTypeParametersCall.ir.txt @@ -17,14 +17,14 @@ FILE fqName: fileName:/constructorWithOwnTypeParametersCall.kt : @[FlexibleNullability] kotlin.String? CLASS CLASS name:K1 modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K1.K1> - TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Number] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Number] reified:false CONSTRUCTOR visibility:public <> () returnType:.K1.K1> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K1 modality:FINAL visibility:public superTypes:[kotlin.Any]' CLASS CLASS name:K2 modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K1.K2.K1.K2, T1 of .K1> - TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.CharSequence] + TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.CharSequence] reified:false CONSTRUCTOR visibility:public <> ($this:.K1.K1>) returnType:.K1.K2.K1.K2, T1 of .K1> [primary] $outer: VALUE_PARAMETER name: type:.K1.K1> BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/constructorWithOwnTypeParametersCall__J1.ir.txt b/compiler/testData/ir/irText/expressions/constructorWithOwnTypeParametersCall__J1.ir.txt index 6168ee9324e..18844fc80be 100644 --- a/compiler/testData/ir/irText/expressions/constructorWithOwnTypeParametersCall__J1.ir.txt +++ b/compiler/testData/ir/irText/expressions/constructorWithOwnTypeParametersCall__J1.ir.txt @@ -1,13 +1,13 @@ CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:J1 modality:OPEN visibility:public superTypes:[] $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:.J1.J1> - TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:X1 index:0 variance: superTypes:[?] + TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:X1 index:0 variance: superTypes:[?] reified:false CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public () returnType:.J1.J1> - TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:Y1 index:1 variance: superTypes:[?] + TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:Y1 index:1 variance: superTypes:[?] reified:false CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:J2 modality:OPEN visibility:public [inner] superTypes:[] $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:.J1.J2.J1.J2, X1 of .J1> - TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:X2 index:0 variance: superTypes:[?] + TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:X2 index:0 variance: superTypes:[?] reified:false CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public ($this:.J1.J1>) returnType:.J1.J2.J1.J2, X1 of .J1> - TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:Y2 index:1 variance: superTypes:[?] + TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:Y2 index:1 variance: superTypes:[?] reified:false $outer: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:.J1.J1> FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:, other:?) returnType: [fake_override,operator] overridden: diff --git a/compiler/testData/ir/irText/expressions/floatingPointComparisons/typeParameterWithPrimitiveNumericSupertype.ir.txt b/compiler/testData/ir/irText/expressions/floatingPointComparisons/typeParameterWithPrimitiveNumericSupertype.ir.txt index b3c27ea1191..5438a4f7b3d 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/typeParameterWithPrimitiveNumericSupertype.ir.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/typeParameterWithPrimitiveNumericSupertype.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/typeParameterWithPrimitiveNumericSupertype.kt FUN name:test0 visibility:public modality:FINAL (x:kotlin.Any, y:T of .test0) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:x index:0 type:kotlin.Any VALUE_PARAMETER name:y index:1 type:T of .test0 BLOCK_BODY @@ -16,7 +16,7 @@ FILE fqName: fileName:/typeParameterWithPrimitiveNumericSupertype.kt if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false FUN name:test1 visibility:public modality:FINAL (x:kotlin.Any, y:T of .test1) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float] reified:false VALUE_PARAMETER name:x index:0 type:kotlin.Any VALUE_PARAMETER name:y index:1 type:T of .test1 BLOCK_BODY @@ -33,7 +33,7 @@ FILE fqName: fileName:/typeParameterWithPrimitiveNumericSupertype.kt if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false FUN name:test2 visibility:public modality:FINAL (x:kotlin.Any, y:T of .test2) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Double] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Double] reified:false VALUE_PARAMETER name:x index:0 type:kotlin.Any VALUE_PARAMETER name:y index:1 type:T of .test2 BLOCK_BODY @@ -51,7 +51,7 @@ FILE fqName: fileName:/typeParameterWithPrimitiveNumericSupertype.kt if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false FUN name:test3 visibility:public modality:FINAL (x:kotlin.Any, y:T of .test3) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float] reified:false VALUE_PARAMETER name:x index:0 type:kotlin.Any VALUE_PARAMETER name:y index:1 type:T of .test3 BLOCK_BODY @@ -69,7 +69,7 @@ FILE fqName: fileName:/typeParameterWithPrimitiveNumericSupertype.kt if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false FUN name:test4 visibility:public modality:FINAL (x:kotlin.Any, y:T of .test4) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float?] reified:false VALUE_PARAMETER name:x index:0 type:kotlin.Any VALUE_PARAMETER name:y index:1 type:T of .test4 BLOCK_BODY @@ -87,8 +87,8 @@ FILE fqName: fileName:/typeParameterWithPrimitiveNumericSupertype.kt if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false FUN name:test5 visibility:public modality:FINAL (x:kotlin.Any, y:R of .test5) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float?] - TYPE_PARAMETER name:R index:1 variance: superTypes:[T of .test5] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float?] reified:false + TYPE_PARAMETER name:R index:1 variance: superTypes:[T of .test5] reified:false VALUE_PARAMETER name:x index:0 type:kotlin.Any VALUE_PARAMETER name:y index:1 type:R of .test5 BLOCK_BODY @@ -106,7 +106,7 @@ FILE fqName: fileName:/typeParameterWithPrimitiveNumericSupertype.kt if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false FUN name:test6 visibility:public modality:FINAL (x:kotlin.Any, y:T of .test6) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false VALUE_PARAMETER name:x index:0 type:kotlin.Any VALUE_PARAMETER name:y index:1 type:T of .test6 BLOCK_BODY @@ -123,7 +123,7 @@ FILE fqName: fileName:/typeParameterWithPrimitiveNumericSupertype.kt then: CONST Boolean type=kotlin.Boolean value=false CLASS CLASS name:F modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F.F> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float] reified:false CONSTRUCTOR visibility:public <> () returnType:.F.F> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' diff --git a/compiler/testData/ir/irText/expressions/funImportedFromObject.ir.txt b/compiler/testData/ir/irText/expressions/funImportedFromObject.ir.txt index 9e0a2ed2ab1..ddeb6c67846 100644 --- a/compiler/testData/ir/irText/expressions/funImportedFromObject.ir.txt +++ b/compiler/testData/ir/irText/expressions/funImportedFromObject.ir.txt @@ -6,7 +6,7 @@ FILE fqName:test fileName:/funImportedFromObject.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' FUN name:foo visibility:public modality:FINAL ($this:test.Host) returnType:kotlin.String [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true $this: VALUE_PARAMETER name: type:test.Host BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.String [inline] declared in test.Host' diff --git a/compiler/testData/ir/irText/expressions/funInterface/partialSam.fir.ir.txt b/compiler/testData/ir/irText/expressions/funInterface/partialSam.fir.ir.txt index 036d2c6e3b2..2ff40349163 100644 --- a/compiler/testData/ir/irText/expressions/funInterface/partialSam.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/funInterface/partialSam.fir.ir.txt @@ -1,8 +1,8 @@ FILE fqName: fileName:/partialSam.kt CLASS INTERFACE name:Fn modality:ABSTRACT visibility:public [fun] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Fn.Fn, R of .Fn> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:R index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:R index:1 variance: superTypes:[kotlin.Any?] reified:false FUN name:run visibility:public modality:ABSTRACT <> ($this:.Fn.Fn, R of .Fn>, s:kotlin.String, i:kotlin.Int, t:T of .Fn) returnType:R of .Fn $this: VALUE_PARAMETER name: type:.Fn.Fn, R of .Fn> VALUE_PARAMETER name:s index:0 type:kotlin.String diff --git a/compiler/testData/ir/irText/expressions/funInterface/partialSam.ir.txt b/compiler/testData/ir/irText/expressions/funInterface/partialSam.ir.txt index 7772abe4a0a..1c1f00a3f12 100644 --- a/compiler/testData/ir/irText/expressions/funInterface/partialSam.ir.txt +++ b/compiler/testData/ir/irText/expressions/funInterface/partialSam.ir.txt @@ -1,8 +1,8 @@ FILE fqName: fileName:/partialSam.kt CLASS INTERFACE name:Fn modality:ABSTRACT visibility:public [fun] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Fn.Fn, R of .Fn> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:R index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:R index:1 variance: superTypes:[kotlin.Any?] reified:false FUN name:run visibility:public modality:ABSTRACT <> ($this:.Fn.Fn, R of .Fn>, s:kotlin.String, i:kotlin.Int, t:T of .Fn) returnType:R of .Fn $this: VALUE_PARAMETER name: type:.Fn.Fn, R of .Fn> VALUE_PARAMETER name:s index:0 type:kotlin.String diff --git a/compiler/testData/ir/irText/expressions/funInterface/samConversionsWithSmartCasts.fir.ir.txt b/compiler/testData/ir/irText/expressions/funInterface/samConversionsWithSmartCasts.fir.ir.txt index c55cf0c488d..1bfbbd848e9 100644 --- a/compiler/testData/ir/irText/expressions/funInterface/samConversionsWithSmartCasts.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/funInterface/samConversionsWithSmartCasts.fir.ir.txt @@ -17,7 +17,7 @@ FILE fqName: fileName:/samConversionsWithSmartCasts.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:id visibility:public modality:FINAL (x:T of .id) returnType:T of .id - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:x index:0 type:T of .id BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun id (x: T of .id): T of .id declared in ' @@ -30,7 +30,7 @@ FILE fqName: fileName:/samConversionsWithSmartCasts.kt VALUE_PARAMETER name:r2 index:1 type:.KRunnable BLOCK_BODY FUN name:test0 visibility:public modality:FINAL (a:T of .test0) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[.KRunnable; kotlin.Function0] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.KRunnable; kotlin.Function0] reified:false VALUE_PARAMETER name:a index:0 type:T of .test0 BLOCK_BODY CALL 'public final fun run1 (r: .KRunnable): kotlin.Unit declared in ' type=kotlin.Unit origin=null @@ -125,7 +125,7 @@ FILE fqName: fileName:/samConversionsWithSmartCasts.kt TYPE_OP type=kotlin.Function0 origin=IMPLICIT_CAST typeOperand=kotlin.Function0 GET_VAR 'a: kotlin.Function1 declared in .test7' type=kotlin.Function1 origin=null FUN name:test7a visibility:public modality:FINAL (a:T of .test7a) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Function1] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Function1] reified:false VALUE_PARAMETER name:a index:0 type:T of .test7a BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit @@ -136,7 +136,7 @@ FILE fqName: fileName:/samConversionsWithSmartCasts.kt TYPE_OP type=kotlin.Function0 origin=IMPLICIT_CAST typeOperand=kotlin.Function0 GET_VAR 'a: T of .test7a declared in .test7a' type=T of .test7a origin=null FUN name:test7b visibility:public modality:FINAL (a:T of .test7b) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Function1; kotlin.Function0] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Function1; kotlin.Function0] reified:false VALUE_PARAMETER name:a index:0 type:T of .test7b BLOCK_BODY CALL 'public final fun run1 (r: .KRunnable): kotlin.Unit declared in ' type=kotlin.Unit origin=null @@ -158,7 +158,7 @@ FILE fqName: fileName:/samConversionsWithSmartCasts.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:test7c visibility:public modality:FINAL (a:T of .test7c) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[.Unrelated; kotlin.Function0] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.Unrelated; kotlin.Function0] reified:false VALUE_PARAMETER name:a index:0 type:T of .test7c BLOCK_BODY CALL 'public final fun run1 (r: .KRunnable): kotlin.Unit declared in ' type=kotlin.Unit origin=null diff --git a/compiler/testData/ir/irText/expressions/funInterface/samConversionsWithSmartCasts.ir.txt b/compiler/testData/ir/irText/expressions/funInterface/samConversionsWithSmartCasts.ir.txt index 71e9f9f9d4b..54a9e55be30 100644 --- a/compiler/testData/ir/irText/expressions/funInterface/samConversionsWithSmartCasts.ir.txt +++ b/compiler/testData/ir/irText/expressions/funInterface/samConversionsWithSmartCasts.ir.txt @@ -17,7 +17,7 @@ FILE fqName: fileName:/samConversionsWithSmartCasts.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:id visibility:public modality:FINAL (x:T of .id) returnType:T of .id - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:x index:0 type:T of .id BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun id (x: T of .id): T of .id declared in ' @@ -30,7 +30,7 @@ FILE fqName: fileName:/samConversionsWithSmartCasts.kt VALUE_PARAMETER name:r2 index:1 type:.KRunnable BLOCK_BODY FUN name:test0 visibility:public modality:FINAL (a:T of .test0) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[.KRunnable; kotlin.Function0] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.KRunnable; kotlin.Function0] reified:false VALUE_PARAMETER name:a index:0 type:T of .test0 BLOCK_BODY CALL 'public final fun run1 (r: .KRunnable): kotlin.Unit declared in ' type=kotlin.Unit origin=null @@ -127,7 +127,7 @@ FILE fqName: fileName:/samConversionsWithSmartCasts.kt TYPE_OP type=kotlin.Function0 origin=IMPLICIT_CAST typeOperand=kotlin.Function0 GET_VAR 'a: kotlin.Function1 declared in .test7' type=kotlin.Function1 origin=null FUN name:test7a visibility:public modality:FINAL (a:T of .test7a) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Function1] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Function1] reified:false VALUE_PARAMETER name:a index:0 type:T of .test7a BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit @@ -138,7 +138,7 @@ FILE fqName: fileName:/samConversionsWithSmartCasts.kt TYPE_OP type=kotlin.Function0 origin=IMPLICIT_CAST typeOperand=kotlin.Function0 GET_VAR 'a: T of .test7a declared in .test7a' type=T of .test7a origin=null FUN name:test7b visibility:public modality:FINAL (a:T of .test7b) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Function1; kotlin.Function0] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Function1; kotlin.Function0] reified:false VALUE_PARAMETER name:a index:0 type:T of .test7b BLOCK_BODY CALL 'public final fun run1 (r: .KRunnable): kotlin.Unit declared in ' type=kotlin.Unit origin=null @@ -160,7 +160,7 @@ FILE fqName: fileName:/samConversionsWithSmartCasts.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:test7c visibility:public modality:FINAL (a:T of .test7c) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[.Unrelated; kotlin.Function0] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.Unrelated; kotlin.Function0] reified:false VALUE_PARAMETER name:a index:0 type:T of .test7c BLOCK_BODY CALL 'public final fun run1 (r: .KRunnable): kotlin.Unit declared in ' type=kotlin.Unit origin=null diff --git a/compiler/testData/ir/irText/expressions/funInterfaceConstructorReference.fir.ir.txt b/compiler/testData/ir/irText/expressions/funInterfaceConstructorReference.fir.ir.txt index a909927ac5c..e9ebc6b0a15 100644 --- a/compiler/testData/ir/irText/expressions/funInterfaceConstructorReference.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/funInterfaceConstructorReference.fir.ir.txt @@ -21,7 +21,7 @@ FILE fqName: fileName:/funInterfaceConstructorReference.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:KSupplier modality:ABSTRACT visibility:public [fun] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KSupplier.KSupplier> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false FUN name:get visibility:public modality:ABSTRACT <> ($this:.KSupplier.KSupplier>) returnType:T of .KSupplier $this: VALUE_PARAMETER name: type:.KSupplier.KSupplier> FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] @@ -39,7 +39,7 @@ FILE fqName: fileName:/funInterfaceConstructorReference.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:KConsumer modality:ABSTRACT visibility:public [fun] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KConsumer.KConsumer> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false FUN name:accept visibility:public modality:ABSTRACT <> ($this:.KConsumer.KConsumer>, x:T of .KConsumer) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.KConsumer.KConsumer> VALUE_PARAMETER name:x index:0 type:T of .KConsumer diff --git a/compiler/testData/ir/irText/expressions/funInterfaceConstructorReference.ir.txt b/compiler/testData/ir/irText/expressions/funInterfaceConstructorReference.ir.txt index 305bead6428..0202f327678 100644 --- a/compiler/testData/ir/irText/expressions/funInterfaceConstructorReference.ir.txt +++ b/compiler/testData/ir/irText/expressions/funInterfaceConstructorReference.ir.txt @@ -19,7 +19,7 @@ FILE fqName: fileName:/funInterfaceConstructorReference.kt TYPEALIAS name:KR visibility:public expandedType:.KRunnable CLASS INTERFACE name:KSupplier modality:ABSTRACT visibility:public [fun] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KSupplier.KSupplier> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false FUN name:get visibility:public modality:ABSTRACT <> ($this:.KSupplier.KSupplier>) returnType:T of .KSupplier $this: VALUE_PARAMETER name: type:.KSupplier.KSupplier> FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] @@ -38,7 +38,7 @@ FILE fqName: fileName:/funInterfaceConstructorReference.kt TYPEALIAS name:KSS visibility:public expandedType:.KSupplier CLASS INTERFACE name:KConsumer modality:ABSTRACT visibility:public [fun] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KConsumer.KConsumer> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false FUN name:accept visibility:public modality:ABSTRACT <> ($this:.KConsumer.KConsumer>, x:T of .KConsumer) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.KConsumer.KConsumer> VALUE_PARAMETER name:x index:0 type:T of .KConsumer diff --git a/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.fir.ir.txt b/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.fir.ir.txt index bfaed4bd4ca..117bb069259 100644 --- a/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.fir.ir.txt @@ -6,7 +6,7 @@ FILE fqName: fileName:/genericConstructorCallWithTypeArguments.kt : kotlin.Long value: CONST Long type=kotlin.Long value=6 FUN name:testArray visibility:public modality:FINAL (n:kotlin.Int, block:kotlin.Function0.testArray>) returnType:kotlin.Array.testArray> [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true VALUE_PARAMETER name:n index:0 type:kotlin.Int VALUE_PARAMETER name:block index:1 type:kotlin.Function0.testArray> [crossinline] BLOCK_BODY @@ -23,7 +23,7 @@ FILE fqName: fileName:/genericConstructorCallWithTypeArguments.kt $this: GET_VAR 'block: kotlin.Function0.testArray> [crossinline] declared in .testArray' type=kotlin.Function0.testArray> origin=VARIABLE_AS_FUNCTION CLASS CLASS name:Box modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Box.Box> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (value:T of .Box) returnType:.Box.Box> [primary] VALUE_PARAMETER name:value index:0 type:T of .Box BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.ir.txt b/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.ir.txt index 696e4023ae9..3159a9ed171 100644 --- a/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.ir.txt +++ b/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.ir.txt @@ -8,7 +8,7 @@ FILE fqName: fileName:/genericConstructorCallWithTypeArguments.kt $this: CONST Long type=kotlin.Long value=2 other: CONST Int type=kotlin.Int value=3 FUN name:testArray visibility:public modality:FINAL (n:kotlin.Int, block:kotlin.Function0.testArray>) returnType:kotlin.Array.testArray> [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true VALUE_PARAMETER name:n index:0 type:kotlin.Int VALUE_PARAMETER name:block index:1 type:kotlin.Function0.testArray> [crossinline] BLOCK_BODY @@ -25,7 +25,7 @@ FILE fqName: fileName:/genericConstructorCallWithTypeArguments.kt $this: GET_VAR 'block: kotlin.Function0.testArray> [crossinline] declared in .testArray' type=kotlin.Function0.testArray> origin=VARIABLE_AS_FUNCTION CLASS CLASS name:Box modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Box.Box> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (value:T of .Box) returnType:.Box.Box> [primary] VALUE_PARAMETER name:value index:0 type:T of .Box BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/genericPropertyCall.ir.txt b/compiler/testData/ir/irText/expressions/genericPropertyCall.ir.txt index ddabcb98567..4c4a4602f7b 100644 --- a/compiler/testData/ir/irText/expressions/genericPropertyCall.ir.txt +++ b/compiler/testData/ir/irText/expressions/genericPropertyCall.ir.txt @@ -2,7 +2,7 @@ FILE fqName: fileName:/genericPropertyCall.kt PROPERTY name:id visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL ($receiver:T of .) returnType:T of . correspondingProperty: PROPERTY name:id visibility:public modality:FINAL [val] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:T of . BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): T of . declared in ' diff --git a/compiler/testData/ir/irText/expressions/genericPropertyRef.fir.ir.txt b/compiler/testData/ir/irText/expressions/genericPropertyRef.fir.ir.txt index 3c033dfdf21..a339a5173a5 100644 --- a/compiler/testData/ir/irText/expressions/genericPropertyRef.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/genericPropertyRef.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/genericPropertyRef.kt CLASS CLASS name:Value modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Value.Value> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (value:T of .Value, text:kotlin.String?) returnType:.Value.Value> [primary] VALUE_PARAMETER name:value index:0 type:T of .Value EXPRESSION_BODY @@ -71,7 +71,7 @@ FILE fqName: fileName:/genericPropertyRef.kt kmember: PROPERTY_REFERENCE 'public final text: kotlin.String? [var]' field=null getter='public final fun (): kotlin.String? declared in .Value' setter='public final fun (: kotlin.String?): kotlin.Unit declared in .Value' type=kotlin.reflect.KMutableProperty1<.Value.>, kotlin.String?> origin=null FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL ($receiver:.Value.>) returnType:kotlin.Int correspondingProperty: PROPERTY name:additionalText visibility:public modality:FINAL [delegated,val] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.Value.> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' @@ -87,7 +87,7 @@ FILE fqName: fileName:/genericPropertyRef.kt kmember: PROPERTY_REFERENCE 'public final value: T of .Value [var]' field=null getter='public final fun (): T of .Value declared in .Value' setter='public final fun (: T of .Value): kotlin.Unit declared in .Value' type=kotlin.reflect.KMutableProperty1<.Value.>, T of .> origin=null FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL ($receiver:.Value.>) returnType:kotlin.Int correspondingProperty: PROPERTY name:additionalValue visibility:public modality:FINAL [delegated,val] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.Value.> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' @@ -167,14 +167,14 @@ FILE fqName: fileName:/genericPropertyRef.kt PROPERTY name:bar visibility:public modality:FINAL [var] FUN name: visibility:public modality:FINAL ($receiver:T of .) returnType:T of . correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [var] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:T of . BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): T of . declared in ' GET_VAR ': T of . declared in .' type=T of . origin=null FUN name: visibility:public modality:FINAL ($receiver:T of ., value:T of .) returnType:kotlin.Unit correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [var] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:T of . VALUE_PARAMETER name:value index:0 type:T of . BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/genericPropertyRef.ir.txt b/compiler/testData/ir/irText/expressions/genericPropertyRef.ir.txt index c33d2427fc1..b761d938202 100644 --- a/compiler/testData/ir/irText/expressions/genericPropertyRef.ir.txt +++ b/compiler/testData/ir/irText/expressions/genericPropertyRef.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/genericPropertyRef.kt CLASS CLASS name:Value modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Value.Value> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (value:T of .Value, text:kotlin.String?) returnType:.Value.Value> [primary] VALUE_PARAMETER name:value index:0 type:T of .Value EXPRESSION_BODY @@ -71,7 +71,7 @@ FILE fqName: fileName:/genericPropertyRef.kt kmember: PROPERTY_REFERENCE 'public final text: kotlin.String? [var]' field=null getter='public final fun (): kotlin.String? declared in .Value' setter='public final fun (: kotlin.String?): kotlin.Unit declared in .Value' type=kotlin.reflect.KMutableProperty1<.Value, kotlin.String?> origin=null FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL ($receiver:.Value.>) returnType:kotlin.Int correspondingProperty: PROPERTY name:additionalText visibility:public modality:FINAL [delegated,val] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.Value.> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' @@ -87,7 +87,7 @@ FILE fqName: fileName:/genericPropertyRef.kt kmember: PROPERTY_REFERENCE 'public final value: T of .Value [var]' field=null getter='public final fun (): T of .Value declared in .Value' setter='public final fun (: T of .Value): kotlin.Unit declared in .Value' type=kotlin.reflect.KMutableProperty1<.Value, kotlin.Any?> origin=null FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL ($receiver:.Value.>) returnType:kotlin.Int correspondingProperty: PROPERTY name:additionalValue visibility:public modality:FINAL [delegated,val] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.Value.> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' @@ -167,14 +167,14 @@ FILE fqName: fileName:/genericPropertyRef.kt PROPERTY name:bar visibility:public modality:FINAL [var] FUN name: visibility:public modality:FINAL ($receiver:T of .) returnType:T of . correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [var] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:T of . BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): T of . declared in ' GET_VAR ': T of . declared in .' type=T of . origin=null FUN name: visibility:public modality:FINAL ($receiver:T of ., value:T of .) returnType:kotlin.Unit correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [var] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:T of . VALUE_PARAMETER name:value index:0 type:T of . BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/implicitCastToNonNull.ir.txt b/compiler/testData/ir/irText/expressions/implicitCastToNonNull.ir.txt index 1fd1e707349..234b6a65e2d 100644 --- a/compiler/testData/ir/irText/expressions/implicitCastToNonNull.ir.txt +++ b/compiler/testData/ir/irText/expressions/implicitCastToNonNull.ir.txt @@ -14,7 +14,7 @@ FILE fqName: fileName:/implicitCastToNonNull.kt then: CALL 'public open fun (): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR 'x: kotlin.String? declared in .test1' type=kotlin.String? origin=null FUN name:test2 visibility:public modality:FINAL (x:T of .test2) returnType:kotlin.Int - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence?] reified:false VALUE_PARAMETER name:x index:0 type:T of .test2 BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test2 (x: T of .test2): kotlin.Int declared in ' @@ -29,7 +29,7 @@ FILE fqName: fileName:/implicitCastToNonNull.kt then: CALL 'public abstract fun (): kotlin.Int declared in kotlin.CharSequence' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR 'x: T of .test2 declared in .test2' type=T of .test2 origin=null FUN name:test3 visibility:public modality:FINAL (x:kotlin.Any) returnType:kotlin.Int [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence?] reified:true VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test3 (x: kotlin.Any): kotlin.Int [inline] declared in ' @@ -44,7 +44,7 @@ FILE fqName: fileName:/implicitCastToNonNull.kt $this: TYPE_OP type={T of .test3 & Any} origin=IMPLICIT_CAST typeOperand={T of .test3 & Any} GET_VAR 'x: kotlin.Any declared in .test3' type=kotlin.Any origin=null FUN name:test4 visibility:public modality:FINAL (x:kotlin.Any?) returnType:kotlin.Int [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence] reified:true VALUE_PARAMETER name:x index:0 type:kotlin.Any? BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test4 (x: kotlin.Any?): kotlin.Int [inline] declared in ' @@ -59,8 +59,8 @@ FILE fqName: fileName:/implicitCastToNonNull.kt $this: TYPE_OP type=T of .test4 origin=IMPLICIT_CAST typeOperand=T of .test4 GET_VAR 'x: kotlin.Any? declared in .test4' type=kotlin.Any? origin=null FUN name:test5 visibility:public modality:FINAL (x:T of .test5, fn:kotlin.Function1.test5, kotlin.Unit>) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[S of .test5?] - TYPE_PARAMETER name:S index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[S of .test5?] reified:false + TYPE_PARAMETER name:S index:1 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:x index:0 type:T of .test5 VALUE_PARAMETER name:fn index:1 type:kotlin.Function1.test5, kotlin.Unit> BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.fir.ir.txt b/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.fir.ir.txt index a51bae85faa..cdc84050a6a 100644 --- a/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.fir.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/implicitCastToTypeParameter.kt FUN name:test1 visibility:public modality:FINAL ($receiver:kotlin.Any) returnType:T of .test1? [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:true $receiver: VALUE_PARAMETER name: type:kotlin.Any BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test1 (): T of .test1? [inline] declared in ' @@ -15,7 +15,7 @@ FILE fqName: fileName:/implicitCastToTypeParameter.kt then: CONST Null type=kotlin.Nothing? value=null CLASS INTERFACE name:Foo modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Foo.Foo> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -32,7 +32,7 @@ FILE fqName: fileName:/implicitCastToTypeParameter.kt PROPERTY name:asT visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL ($receiver:.Foo.>) returnType:T of .? [inline] correspondingProperty: PROPERTY name:asT visibility:public modality:FINAL [val] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:true $receiver: VALUE_PARAMETER name: type:.Foo.> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): T of .? [inline] declared in ' @@ -47,7 +47,7 @@ FILE fqName: fileName:/implicitCastToTypeParameter.kt then: CONST Null type=kotlin.Nothing? value=null CLASS CLASS name:Bar modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Bar.Bar> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.Bar.Bar> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' diff --git a/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.ir.txt b/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.ir.txt index fff76479eb2..c40d9f72680 100644 --- a/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.ir.txt +++ b/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/implicitCastToTypeParameter.kt FUN name:test1 visibility:public modality:FINAL ($receiver:kotlin.Any) returnType:T of .test1? [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:true $receiver: VALUE_PARAMETER name: type:kotlin.Any BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test1 (): T of .test1? [inline] declared in ' @@ -15,7 +15,7 @@ FILE fqName: fileName:/implicitCastToTypeParameter.kt then: CONST Null type=kotlin.Nothing? value=null CLASS INTERFACE name:Foo modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Foo.Foo> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -32,7 +32,7 @@ FILE fqName: fileName:/implicitCastToTypeParameter.kt PROPERTY name:asT visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL ($receiver:.Foo.>) returnType:T of .? [inline] correspondingProperty: PROPERTY name:asT visibility:public modality:FINAL [val] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:true $receiver: VALUE_PARAMETER name: type:.Foo.> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): T of .? [inline] declared in ' @@ -47,7 +47,7 @@ FILE fqName: fileName:/implicitCastToTypeParameter.kt then: CONST Null type=kotlin.Nothing? value=null CLASS CLASS name:Bar modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Bar.Bar> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.Bar.Bar> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' diff --git a/compiler/testData/ir/irText/expressions/in.fir.ir.txt b/compiler/testData/ir/irText/expressions/in.fir.ir.txt index 87c58f465bf..2b0b84f1a3b 100644 --- a/compiler/testData/ir/irText/expressions/in.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/in.fir.ir.txt @@ -17,7 +17,7 @@ FILE fqName: fileName:/in.kt $this: GET_VAR 'x: kotlin.collections.Collection declared in .test2' type=kotlin.collections.Collection origin=null element: GET_VAR 'a: kotlin.Any declared in .test2' type=kotlin.Any origin=null FUN name:test3 visibility:public modality:FINAL (a:T of .test3, x:kotlin.collections.Collection.test3>) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:a index:0 type:T of .test3 VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection.test3> BLOCK_BODY @@ -26,7 +26,7 @@ FILE fqName: fileName:/in.kt $this: GET_VAR 'x: kotlin.collections.Collection.test3> declared in .test3' type=kotlin.collections.Collection.test3> origin=null element: GET_VAR 'a: T of .test3 declared in .test3' type=T of .test3 origin=null FUN name:test4 visibility:public modality:FINAL (a:T of .test4, x:kotlin.collections.Collection.test4>) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:a index:0 type:T of .test4 VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection.test4> BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/in.ir.txt b/compiler/testData/ir/irText/expressions/in.ir.txt index 37bac02cc95..bd74e3be6f0 100644 --- a/compiler/testData/ir/irText/expressions/in.ir.txt +++ b/compiler/testData/ir/irText/expressions/in.ir.txt @@ -17,7 +17,7 @@ FILE fqName: fileName:/in.kt $this: GET_VAR 'x: kotlin.collections.Collection declared in .test2' type=kotlin.collections.Collection origin=null element: GET_VAR 'a: kotlin.Any declared in .test2' type=kotlin.Any origin=null FUN name:test3 visibility:public modality:FINAL (a:T of .test3, x:kotlin.collections.Collection.test3>) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:a index:0 type:T of .test3 VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection.test3> BLOCK_BODY @@ -26,7 +26,7 @@ FILE fqName: fileName:/in.kt $this: GET_VAR 'x: kotlin.collections.Collection.test3> declared in .test3' type=kotlin.collections.Collection.test3> origin=null element: GET_VAR 'a: T of .test3 declared in .test3' type=T of .test3 origin=null FUN name:test4 visibility:public modality:FINAL (a:T of .test4, x:kotlin.collections.Collection.test4>) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:a index:0 type:T of .test4 VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection.test4> BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/javaSyntheticGenericPropretyAccess.fir.ir.txt b/compiler/testData/ir/irText/expressions/javaSyntheticGenericPropretyAccess.fir.ir.txt index 5f62a27df4f..d706e82b067 100644 --- a/compiler/testData/ir/irText/expressions/javaSyntheticGenericPropretyAccess.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/javaSyntheticGenericPropretyAccess.fir.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/javaSyntheticGenericPropertyAccess.kt FUN name:test visibility:public modality:FINAL (j:.J.test>) returnType:kotlin.Unit - TYPE_PARAMETER name:F index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:F index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:j index:0 type:.J.test> BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit diff --git a/compiler/testData/ir/irText/expressions/javaSyntheticGenericPropretyAccess.ir.txt b/compiler/testData/ir/irText/expressions/javaSyntheticGenericPropretyAccess.ir.txt index aa5e639d0f5..cac1486291c 100644 --- a/compiler/testData/ir/irText/expressions/javaSyntheticGenericPropretyAccess.ir.txt +++ b/compiler/testData/ir/irText/expressions/javaSyntheticGenericPropretyAccess.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/javaSyntheticGenericPropertyAccess.kt FUN name:test visibility:public modality:FINAL (j:.J.test>) returnType:kotlin.Unit - TYPE_PARAMETER name:F index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:F index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:j index:0 type:.J.test> BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit diff --git a/compiler/testData/ir/irText/expressions/kt30796.fir.ir.txt b/compiler/testData/ir/irText/expressions/kt30796.fir.ir.txt index 7e104689858..4efd170221b 100644 --- a/compiler/testData/ir/irText/expressions/kt30796.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/kt30796.fir.ir.txt @@ -1,12 +1,12 @@ FILE fqName: fileName:/kt30796.kt FUN name:magic visibility:public modality:FINAL () returnType:T of .magic - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun magic (): T of .magic declared in ' THROW type=kotlin.Nothing CONSTRUCTOR_CALL 'public constructor () declared in java.lang.Exception' type=java.lang.Exception origin=null FUN name:test visibility:public modality:FINAL (value:T of .test, value2:T of .test) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:value index:0 type:T of .test VALUE_PARAMETER name:value2 index:1 type:T of .test BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/kt30796.ir.txt b/compiler/testData/ir/irText/expressions/kt30796.ir.txt index 980abd4e193..a76108323d2 100644 --- a/compiler/testData/ir/irText/expressions/kt30796.ir.txt +++ b/compiler/testData/ir/irText/expressions/kt30796.ir.txt @@ -1,11 +1,11 @@ FILE fqName: fileName:/kt30796.kt FUN name:magic visibility:public modality:FINAL () returnType:T of .magic - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false BLOCK_BODY THROW type=kotlin.Nothing CONSTRUCTOR_CALL 'public constructor () declared in java.lang.Exception' type=java.lang.Exception origin=null FUN name:test visibility:public modality:FINAL (value:T of .test, value2:T of .test) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:value index:0 type:T of .test VALUE_PARAMETER name:value2 index:1 type:T of .test BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/kt36956.fir.ir.txt b/compiler/testData/ir/irText/expressions/kt36956.fir.ir.txt index 8b7f8aa22ab..2441339ae99 100644 --- a/compiler/testData/ir/irText/expressions/kt36956.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/kt36956.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/kt36956.kt CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (value:T of .A) returnType:.A.A> [primary] VALUE_PARAMETER name:value index:0 type:T of .A BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/kt36956.ir.txt b/compiler/testData/ir/irText/expressions/kt36956.ir.txt index 59acacd179a..d4065426d6a 100644 --- a/compiler/testData/ir/irText/expressions/kt36956.ir.txt +++ b/compiler/testData/ir/irText/expressions/kt36956.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/kt36956.kt CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (value:T of .A) returnType:.A.A> [primary] VALUE_PARAMETER name:value index:0 type:T of .A BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/kt42321.ir.txt b/compiler/testData/ir/irText/expressions/kt42321.ir.txt index 7e5c8f453fa..09c5845e6cf 100644 --- a/compiler/testData/ir/irText/expressions/kt42321.ir.txt +++ b/compiler/testData/ir/irText/expressions/kt42321.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/kt42321.kt CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> - TYPE_PARAMETER name:L index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:L index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.C.C> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' diff --git a/compiler/testData/ir/irText/expressions/kt44993.ir.txt b/compiler/testData/ir/irText/expressions/kt44993.ir.txt index 765505f370a..89a3e04fb70 100644 --- a/compiler/testData/ir/irText/expressions/kt44993.ir.txt +++ b/compiler/testData/ir/irText/expressions/kt44993.ir.txt @@ -32,7 +32,7 @@ FILE fqName: fileName:/kt44993.kt receiver: GET_VAR 'val tmp_0: .JavaBox? [val] declared in .f' type=.JavaBox? origin=null CLASS CLASS name:KotlinBox modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinBox.KotlinBox> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (data:T of .KotlinBox?) returnType:.KotlinBox.KotlinBox> [primary] VALUE_PARAMETER name:data index:0 type:T of .KotlinBox? BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/kt47082.ir.txt b/compiler/testData/ir/irText/expressions/kt47082.ir.txt index 50eaf4b5375..0335d77127a 100644 --- a/compiler/testData/ir/irText/expressions/kt47082.ir.txt +++ b/compiler/testData/ir/irText/expressions/kt47082.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/kt47082.kt FUN name:produce visibility:public modality:FINAL (block:@[ExtensionFunctionType] kotlin.Function1<.Derived.produce>, kotlin.Unit>) returnType:E of .produce - TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:block index:0 type:@[ExtensionFunctionType] kotlin.Function1<.Derived.produce>, kotlin.Unit> annotations: BuilderInference @@ -10,7 +10,7 @@ FILE fqName: fileName:/kt47082.kt CONST Null type=kotlin.Nothing? value=null CLASS INTERFACE name:Derived modality:ABSTRACT visibility:public superTypes:[.Base.Derived>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived.Derived> - TYPE_PARAMETER name:E index:0 variance:in superTypes:[kotlin.Any?] + TYPE_PARAMETER name:E index:0 variance:in superTypes:[kotlin.Any?] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .Base @@ -26,7 +26,7 @@ FILE fqName: fileName:/kt47082.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base.Base> - TYPE_PARAMETER name:E index:0 variance:in superTypes:[kotlin.Any?] + TYPE_PARAMETER name:E index:0 variance:in superTypes:[kotlin.Any?] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -42,7 +42,7 @@ FILE fqName: fileName:/kt47082.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:Receiver modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Receiver.Receiver> - TYPE_PARAMETER name:E index:0 variance:out superTypes:[kotlin.Any?] + TYPE_PARAMETER name:E index:0 variance:out superTypes:[kotlin.Any?] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -57,8 +57,8 @@ FILE fqName: fileName:/kt47082.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:toChannel visibility:public modality:FINAL ($receiver:.Receiver.toChannel>, destination:C of .toChannel) returnType:C of .toChannel - TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:C index:1 variance: superTypes:[.Base.toChannel>] + TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:C index:1 variance: superTypes:[.Base.toChannel>] reified:false $receiver: VALUE_PARAMETER name: type:.Receiver.toChannel> VALUE_PARAMETER name:destination index:0 type:C of .toChannel BLOCK_BODY @@ -66,7 +66,7 @@ FILE fqName: fileName:/kt47082.kt TYPE_OP type=C of .toChannel origin=CAST typeOperand=C of .toChannel CONST Null type=kotlin.Nothing? value=null FUN name:foo visibility:public modality:FINAL (r:.Receiver.foo>) returnType:R of .foo - TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:r index:0 type:.Receiver.foo> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun foo (r: .Receiver.foo>): R of .foo declared in ' diff --git a/compiler/testData/ir/irText/expressions/kt47328.fir.ir.txt b/compiler/testData/ir/irText/expressions/kt47328.fir.ir.txt index 2f2b7f84976..54d677c7abf 100644 --- a/compiler/testData/ir/irText/expressions/kt47328.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/kt47328.fir.ir.txt @@ -57,7 +57,7 @@ FILE fqName: fileName:/kt47328.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> - TYPE_PARAMETER name:D index:0 variance: superTypes:[.A] + TYPE_PARAMETER name:D index:0 variance: superTypes:[.A] reified:false CONSTRUCTOR visibility:public <> (d:D of .C) returnType:.C.C> [primary] VALUE_PARAMETER name:d index:0 type:D of .C BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/kt47328.ir.txt b/compiler/testData/ir/irText/expressions/kt47328.ir.txt index 21e3cbdd4f6..cef5552c979 100644 --- a/compiler/testData/ir/irText/expressions/kt47328.ir.txt +++ b/compiler/testData/ir/irText/expressions/kt47328.ir.txt @@ -57,7 +57,7 @@ FILE fqName: fileName:/kt47328.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> - TYPE_PARAMETER name:D index:0 variance: superTypes:[.A] + TYPE_PARAMETER name:D index:0 variance: superTypes:[.A] reified:false CONSTRUCTOR visibility:public <> (d:D of .C) returnType:.C.C> [primary] VALUE_PARAMETER name:d index:0 type:D of .C BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/memberTypeArguments.ir.txt b/compiler/testData/ir/irText/expressions/memberTypeArguments.ir.txt index 0ecb761f79d..f0143b6767f 100644 --- a/compiler/testData/ir/irText/expressions/memberTypeArguments.ir.txt +++ b/compiler/testData/ir/irText/expressions/memberTypeArguments.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/memberTypeArguments.kt CLASS CLASS name:GenericClass modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.GenericClass.GenericClass> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (value:T of .GenericClass) returnType:.GenericClass.GenericClass> [primary] VALUE_PARAMETER name:value index:0 type:T of .GenericClass BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/nullCheckOnGenericLambdaReturn.ir.txt b/compiler/testData/ir/irText/expressions/nullCheckOnGenericLambdaReturn.ir.txt index 124ddabc702..6fb883dd3da 100644 --- a/compiler/testData/ir/irText/expressions/nullCheckOnGenericLambdaReturn.ir.txt +++ b/compiler/testData/ir/irText/expressions/nullCheckOnGenericLambdaReturn.ir.txt @@ -12,21 +12,21 @@ FILE fqName: fileName:/nullCheckOnGenericLambdaReturn.kt CALL 'public abstract fun invoke (): R of kotlin.Function0 [operator] declared in kotlin.Function0' type=kotlin.Any? origin=INVOKE $this: GET_VAR 'fn: kotlin.Function0 declared in .checkAnyN' type=kotlin.Function0 origin=VARIABLE_AS_FUNCTION FUN name:checkT visibility:public modality:FINAL (fn:kotlin.Function0.checkT>) returnType:T of .checkT - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:fn index:0 type:kotlin.Function0.checkT> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun checkT (fn: kotlin.Function0.checkT>): T of .checkT declared in ' CALL 'public abstract fun invoke (): R of kotlin.Function0 [operator] declared in kotlin.Function0' type=T of .checkT origin=INVOKE $this: GET_VAR 'fn: kotlin.Function0.checkT> declared in .checkT' type=kotlin.Function0.checkT> origin=VARIABLE_AS_FUNCTION FUN name:checkTAny visibility:public modality:FINAL (fn:kotlin.Function0.checkTAny>) returnType:T of .checkTAny - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false VALUE_PARAMETER name:fn index:0 type:kotlin.Function0.checkTAny> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun checkTAny (fn: kotlin.Function0.checkTAny>): T of .checkTAny declared in ' CALL 'public abstract fun invoke (): R of kotlin.Function0 [operator] declared in kotlin.Function0' type=T of .checkTAny origin=INVOKE $this: GET_VAR 'fn: kotlin.Function0.checkTAny> declared in .checkTAny' type=kotlin.Function0.checkTAny> origin=VARIABLE_AS_FUNCTION FUN name:id visibility:public modality:FINAL (x:T of .id) returnType:T of .id - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:x index:0 type:T of .id BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun id (x: T of .id): T of .id declared in ' diff --git a/compiler/testData/ir/irText/expressions/nullCheckOnLambdaReturn.fir.ir.txt b/compiler/testData/ir/irText/expressions/nullCheckOnLambdaReturn.fir.ir.txt index 5c13ecdcdd2..46260146f91 100644 --- a/compiler/testData/ir/irText/expressions/nullCheckOnLambdaReturn.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/nullCheckOnLambdaReturn.fir.ir.txt @@ -12,7 +12,7 @@ FILE fqName: fileName:/nullCheckOnLambdaReturn.kt CALL 'public abstract fun invoke (): R of kotlin.Function0 [operator] declared in kotlin.Function0' type=kotlin.Any? origin=INVOKE $this: GET_VAR 'fn: kotlin.Function0 declared in .checkAnyN' type=kotlin.Function0 origin=VARIABLE_AS_FUNCTION FUN name:id visibility:public modality:FINAL (x:T of .id) returnType:T of .id - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:x index:0 type:T of .id BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun id (x: T of .id): T of .id declared in ' diff --git a/compiler/testData/ir/irText/expressions/nullCheckOnLambdaReturn.ir.txt b/compiler/testData/ir/irText/expressions/nullCheckOnLambdaReturn.ir.txt index 5aa1e7ee216..0e4b3e36ad3 100644 --- a/compiler/testData/ir/irText/expressions/nullCheckOnLambdaReturn.ir.txt +++ b/compiler/testData/ir/irText/expressions/nullCheckOnLambdaReturn.ir.txt @@ -12,7 +12,7 @@ FILE fqName: fileName:/nullCheckOnLambdaReturn.kt CALL 'public abstract fun invoke (): R of kotlin.Function0 [operator] declared in kotlin.Function0' type=kotlin.Any? origin=INVOKE $this: GET_VAR 'fn: kotlin.Function0 declared in .checkAnyN' type=kotlin.Function0 origin=VARIABLE_AS_FUNCTION FUN name:id visibility:public modality:FINAL (x:T of .id) returnType:T of .id - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:x index:0 type:T of .id BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun id (x: T of .id): T of .id declared in ' diff --git a/compiler/testData/ir/irText/expressions/sam/samConversionInGenericConstructorCall.ir.txt b/compiler/testData/ir/irText/expressions/sam/samConversionInGenericConstructorCall.ir.txt index 5def4e18d7c..4c75d28bff8 100644 --- a/compiler/testData/ir/irText/expressions/sam/samConversionInGenericConstructorCall.ir.txt +++ b/compiler/testData/ir/irText/expressions/sam/samConversionInGenericConstructorCall.ir.txt @@ -14,7 +14,7 @@ FILE fqName: fileName:/samConversionInGenericConstructorCall.kt GET_VAR 'f2: kotlin.Function1 declared in .test3' type=kotlin.Function1 origin=null CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Outer> - TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (j11:.J.Outer, T1 of .Outer>) returnType:.Outer.Outer> [primary] VALUE_PARAMETER name:j11 index:0 type:.J.Outer, T1 of .Outer> BLOCK_BODY @@ -33,7 +33,7 @@ FILE fqName: fileName:/samConversionInGenericConstructorCall.kt receiver: GET_VAR ': .Outer.Outer> declared in .Outer.' type=.Outer.Outer> origin=null CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner.Outer.Inner, T1 of .Outer> - TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> ($this:.Outer.Outer>, j12:.J.Outer, T2 of .Outer.Inner>) returnType:.Outer.Inner.Outer.Inner, T1 of .Outer> [primary] $outer: VALUE_PARAMETER name: type:.Outer.Outer> VALUE_PARAMETER name:j12 index:0 type:.J.Outer, T2 of .Outer.Inner> diff --git a/compiler/testData/ir/irText/expressions/sam/samConversionToGeneric.fir.ir.txt b/compiler/testData/ir/irText/expressions/sam/samConversionToGeneric.fir.ir.txt index c6eab1a5de8..227875e181b 100644 --- a/compiler/testData/ir/irText/expressions/sam/samConversionToGeneric.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/sam/samConversionToGeneric.fir.ir.txt @@ -53,7 +53,7 @@ FILE fqName: fileName:/samConversionToGeneric.kt TYPE_OP type=kotlin.Function1 origin=IMPLICIT_CAST typeOperand=kotlin.Function1 GET_VAR 'a: kotlin.Any declared in .test5' type=kotlin.Any origin=null FUN name:test6 visibility:public modality:FINAL (a:kotlin.Function1.test6, T of .test6>) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:a index:0 type:kotlin.Function1.test6, T of .test6> BLOCK_BODY CALL 'public open fun bar (j: @[FlexibleNullability] .J<@[FlexibleNullability] X of .H.bar?>?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null @@ -61,7 +61,7 @@ FILE fqName: fileName:/samConversionToGeneric.kt j: TYPE_OP type=@[FlexibleNullability] .J<@[FlexibleNullability] T of .test6?>? origin=SAM_CONVERSION typeOperand=@[FlexibleNullability] .J<@[FlexibleNullability] T of .test6?>? GET_VAR 'a: kotlin.Function1.test6, T of .test6> declared in .test6' type=kotlin.Function1.test6, T of .test6> origin=null FUN name:test7 visibility:public modality:FINAL (a:kotlin.Any) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:a index:0 type:kotlin.Any BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit diff --git a/compiler/testData/ir/irText/expressions/sam/samConversionToGeneric.ir.txt b/compiler/testData/ir/irText/expressions/sam/samConversionToGeneric.ir.txt index ce62696bc7b..7302e8e175d 100644 --- a/compiler/testData/ir/irText/expressions/sam/samConversionToGeneric.ir.txt +++ b/compiler/testData/ir/irText/expressions/sam/samConversionToGeneric.ir.txt @@ -53,7 +53,7 @@ FILE fqName: fileName:/samConversionToGeneric.kt TYPE_OP type=kotlin.Function1 origin=IMPLICIT_CAST typeOperand=kotlin.Function1 GET_VAR 'a: kotlin.Any declared in .test5' type=kotlin.Any origin=null FUN name:test6 visibility:public modality:FINAL (a:kotlin.Function1.test6, T of .test6>) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:a index:0 type:kotlin.Function1.test6, T of .test6> BLOCK_BODY CALL 'public open fun bar (j: @[FlexibleNullability] .J<@[FlexibleNullability] X of .H.bar?>?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null @@ -61,7 +61,7 @@ FILE fqName: fileName:/samConversionToGeneric.kt j: TYPE_OP type=@[FlexibleNullability] .J<@[FlexibleNullability] T of .test6?>? origin=SAM_CONVERSION typeOperand=@[FlexibleNullability] .J<@[FlexibleNullability] T of .test6?>? GET_VAR 'a: kotlin.Function1.test6, T of .test6> declared in .test6' type=kotlin.Function1.test6, T of .test6> origin=null FUN name:test7 visibility:public modality:FINAL (a:kotlin.Any) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:a index:0 type:kotlin.Any BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit diff --git a/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.fir.ir.txt b/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.fir.ir.txt index 60e81a24bed..31721ffb797 100644 --- a/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.fir.ir.txt @@ -2,7 +2,7 @@ FILE fqName: fileName:/specializedTypeAliasConstructorCall.kt TYPEALIAS name:IntAlias visibility:public expandedType:.Cell CLASS CLASS name:Cell modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Cell.Cell> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (value:T of .Cell) returnType:.Cell.Cell> [primary] VALUE_PARAMETER name:value index:0 type:T of .Cell BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.ir.txt b/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.ir.txt index 2f21b8dea07..bb5ff0a5cac 100644 --- a/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.ir.txt +++ b/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/specializedTypeAliasConstructorCall.kt CLASS CLASS name:Cell modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Cell.Cell> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (value:T of .Cell) returnType:.Cell.Cell> [primary] VALUE_PARAMETER name:value index:0 type:T of .Cell BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/suspendConversionOnArbitraryExpression.fir.ir.txt b/compiler/testData/ir/irText/expressions/suspendConversionOnArbitraryExpression.fir.ir.txt index 111a6f5687a..fade73106a2 100644 --- a/compiler/testData/ir/irText/expressions/suspendConversionOnArbitraryExpression.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/suspendConversionOnArbitraryExpression.fir.ir.txt @@ -9,11 +9,11 @@ FILE fqName: fileName:/suspendConversionOnArbitraryExpression.kt VALUE_PARAMETER name:sfn index:0 type:kotlin.coroutines.SuspendFunction1 BLOCK_BODY FUN name:useSuspendArgT visibility:public modality:FINAL (sfn:kotlin.coroutines.SuspendFunction1.useSuspendArgT, kotlin.Unit>) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:sfn index:0 type:kotlin.coroutines.SuspendFunction1.useSuspendArgT, kotlin.Unit> BLOCK_BODY FUN name:useSuspendExtT visibility:public modality:FINAL (sfn:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1.useSuspendExtT, kotlin.Unit>) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:sfn index:0 type:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1.useSuspendExtT, kotlin.Unit> BLOCK_BODY FUN name:produceFun visibility:public modality:FINAL <> () returnType:kotlin.Function0 @@ -150,7 +150,7 @@ FILE fqName: fileName:/suspendConversionOnArbitraryExpression.kt FUNCTION_REFERENCE 'local final fun suspendConversion (p0: T of .useSuspendExtT): kotlin.Unit [suspend] declared in .testExtAsExtT' type=@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1.useSuspendExtT, kotlin.Unit> origin=SUSPEND_CONVERSION reflectionTarget=null $receiver: GET_VAR 'fn: @[ExtensionFunctionType] kotlin.Function1 declared in .testExtAsExtT' type=@[ExtensionFunctionType] kotlin.Function1 origin=null FUN name:testSimpleSAsSimpleT visibility:public modality:FINAL (fn:kotlin.Function1.testSimpleSAsSimpleT, kotlin.Unit>) returnType:kotlin.Unit - TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:fn index:0 type:kotlin.Function1.testSimpleSAsSimpleT, kotlin.Unit> BLOCK_BODY CALL 'public final fun useSuspendArgT (sfn: kotlin.coroutines.SuspendFunction1.useSuspendArgT, kotlin.Unit>): kotlin.Unit declared in ' type=kotlin.Unit origin=null @@ -166,7 +166,7 @@ FILE fqName: fileName:/suspendConversionOnArbitraryExpression.kt FUNCTION_REFERENCE 'local final fun suspendConversion (p0: T of .useSuspendArgT): kotlin.Unit [suspend] declared in .testSimpleSAsSimpleT' type=kotlin.coroutines.SuspendFunction1.useSuspendArgT, kotlin.Unit> origin=SUSPEND_CONVERSION reflectionTarget=null $receiver: GET_VAR 'fn: kotlin.Function1.testSimpleSAsSimpleT, kotlin.Unit> declared in .testSimpleSAsSimpleT' type=kotlin.Function1.testSimpleSAsSimpleT, kotlin.Unit> origin=null FUN name:testSimpleSAsExtT visibility:public modality:FINAL (fn:kotlin.Function1.testSimpleSAsExtT, kotlin.Unit>) returnType:kotlin.Unit - TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:fn index:0 type:kotlin.Function1.testSimpleSAsExtT, kotlin.Unit> BLOCK_BODY CALL 'public final fun useSuspendExtT (sfn: @[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1.useSuspendExtT, kotlin.Unit>): kotlin.Unit declared in ' type=kotlin.Unit origin=null @@ -182,7 +182,7 @@ FILE fqName: fileName:/suspendConversionOnArbitraryExpression.kt FUNCTION_REFERENCE 'local final fun suspendConversion (p0: T of .useSuspendExtT): kotlin.Unit [suspend] declared in .testSimpleSAsExtT' type=@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1.useSuspendExtT, kotlin.Unit> origin=SUSPEND_CONVERSION reflectionTarget=null $receiver: GET_VAR 'fn: kotlin.Function1.testSimpleSAsExtT, kotlin.Unit> declared in .testSimpleSAsExtT' type=kotlin.Function1.testSimpleSAsExtT, kotlin.Unit> origin=null FUN name:testExtSAsSimpleT visibility:public modality:FINAL (fn:@[ExtensionFunctionType] kotlin.Function1.testExtSAsSimpleT, kotlin.Unit>) returnType:kotlin.Unit - TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:fn index:0 type:@[ExtensionFunctionType] kotlin.Function1.testExtSAsSimpleT, kotlin.Unit> BLOCK_BODY CALL 'public final fun useSuspendArgT (sfn: kotlin.coroutines.SuspendFunction1.useSuspendArgT, kotlin.Unit>): kotlin.Unit declared in ' type=kotlin.Unit origin=null @@ -198,7 +198,7 @@ FILE fqName: fileName:/suspendConversionOnArbitraryExpression.kt FUNCTION_REFERENCE 'local final fun suspendConversion (p0: T of .useSuspendArgT): kotlin.Unit [suspend] declared in .testExtSAsSimpleT' type=kotlin.coroutines.SuspendFunction1.useSuspendArgT, kotlin.Unit> origin=SUSPEND_CONVERSION reflectionTarget=null $receiver: GET_VAR 'fn: @[ExtensionFunctionType] kotlin.Function1.testExtSAsSimpleT, kotlin.Unit> declared in .testExtSAsSimpleT' type=@[ExtensionFunctionType] kotlin.Function1.testExtSAsSimpleT, kotlin.Unit> origin=null FUN name:testExtSAsExtT visibility:public modality:FINAL (fn:@[ExtensionFunctionType] kotlin.Function1.testExtSAsExtT, kotlin.Unit>) returnType:kotlin.Unit - TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:fn index:0 type:@[ExtensionFunctionType] kotlin.Function1.testExtSAsExtT, kotlin.Unit> BLOCK_BODY CALL 'public final fun useSuspendExtT (sfn: @[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1.useSuspendExtT, kotlin.Unit>): kotlin.Unit declared in ' type=kotlin.Unit origin=null @@ -267,7 +267,7 @@ FILE fqName: fileName:/suspendConversionOnArbitraryExpression.kt CALL 'public final fun useSuspend (sfn: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in ' type=kotlin.Unit origin=null sfn: GET_VAR 'var b: kotlin.Function0 [var] declared in .testSmartCastOnVarVsSuspendConversion' type=kotlin.Function0 origin=null FUN name:testIntersectionVsSuspendConversion visibility:public modality:FINAL (x:T of .testIntersectionVsSuspendConversion) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Function0; kotlin.coroutines.SuspendFunction0] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Function0; kotlin.coroutines.SuspendFunction0] reified:false VALUE_PARAMETER name:x index:0 type:T of .testIntersectionVsSuspendConversion BLOCK_BODY CALL 'public final fun useSuspend (sfn: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in ' type=kotlin.Unit origin=null diff --git a/compiler/testData/ir/irText/expressions/suspendConversionOnArbitraryExpression.ir.txt b/compiler/testData/ir/irText/expressions/suspendConversionOnArbitraryExpression.ir.txt index 74a8f6f05c5..a90c5c4810b 100644 --- a/compiler/testData/ir/irText/expressions/suspendConversionOnArbitraryExpression.ir.txt +++ b/compiler/testData/ir/irText/expressions/suspendConversionOnArbitraryExpression.ir.txt @@ -9,11 +9,11 @@ FILE fqName: fileName:/suspendConversionOnArbitraryExpression.kt VALUE_PARAMETER name:sfn index:0 type:kotlin.coroutines.SuspendFunction1 BLOCK_BODY FUN name:useSuspendArgT visibility:public modality:FINAL (sfn:kotlin.coroutines.SuspendFunction1.useSuspendArgT, kotlin.Unit>) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:sfn index:0 type:kotlin.coroutines.SuspendFunction1.useSuspendArgT, kotlin.Unit> BLOCK_BODY FUN name:useSuspendExtT visibility:public modality:FINAL (sfn:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1.useSuspendExtT, kotlin.Unit>) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:sfn index:0 type:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1.useSuspendExtT, kotlin.Unit> BLOCK_BODY FUN name:produceFun visibility:public modality:FINAL <> () returnType:kotlin.Function0 @@ -150,7 +150,7 @@ FILE fqName: fileName:/suspendConversionOnArbitraryExpression.kt FUNCTION_REFERENCE 'local final fun suspendConversion0 (p0: kotlin.Int): kotlin.Unit [suspend] declared in .testExtAsExtT' type=@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1 origin=SUSPEND_CONVERSION reflectionTarget=null $receiver: GET_VAR 'fn: @[ExtensionFunctionType] kotlin.Function1 declared in .testExtAsExtT' type=@[ExtensionFunctionType] kotlin.Function1 origin=null FUN name:testSimpleSAsSimpleT visibility:public modality:FINAL (fn:kotlin.Function1.testSimpleSAsSimpleT, kotlin.Unit>) returnType:kotlin.Unit - TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:fn index:0 type:kotlin.Function1.testSimpleSAsSimpleT, kotlin.Unit> BLOCK_BODY CALL 'public final fun useSuspendArgT (sfn: kotlin.coroutines.SuspendFunction1.useSuspendArgT, kotlin.Unit>): kotlin.Unit declared in ' type=kotlin.Unit origin=null @@ -166,7 +166,7 @@ FILE fqName: fileName:/suspendConversionOnArbitraryExpression.kt FUNCTION_REFERENCE 'local final fun suspendConversion0 (p0: S of .testSimpleSAsSimpleT): kotlin.Unit [suspend] declared in .testSimpleSAsSimpleT' type=kotlin.coroutines.SuspendFunction1.testSimpleSAsSimpleT, kotlin.Unit> origin=SUSPEND_CONVERSION reflectionTarget=null $receiver: GET_VAR 'fn: kotlin.Function1.testSimpleSAsSimpleT, kotlin.Unit> declared in .testSimpleSAsSimpleT' type=kotlin.Function1.testSimpleSAsSimpleT, kotlin.Unit> origin=null FUN name:testSimpleSAsExtT visibility:public modality:FINAL (fn:kotlin.Function1.testSimpleSAsExtT, kotlin.Unit>) returnType:kotlin.Unit - TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:fn index:0 type:kotlin.Function1.testSimpleSAsExtT, kotlin.Unit> BLOCK_BODY CALL 'public final fun useSuspendExtT (sfn: @[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1.useSuspendExtT, kotlin.Unit>): kotlin.Unit declared in ' type=kotlin.Unit origin=null @@ -182,7 +182,7 @@ FILE fqName: fileName:/suspendConversionOnArbitraryExpression.kt FUNCTION_REFERENCE 'local final fun suspendConversion0 (p0: S of .testSimpleSAsExtT): kotlin.Unit [suspend] declared in .testSimpleSAsExtT' type=@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1.testSimpleSAsExtT, kotlin.Unit> origin=SUSPEND_CONVERSION reflectionTarget=null $receiver: GET_VAR 'fn: kotlin.Function1.testSimpleSAsExtT, kotlin.Unit> declared in .testSimpleSAsExtT' type=kotlin.Function1.testSimpleSAsExtT, kotlin.Unit> origin=null FUN name:testExtSAsSimpleT visibility:public modality:FINAL (fn:@[ExtensionFunctionType] kotlin.Function1.testExtSAsSimpleT, kotlin.Unit>) returnType:kotlin.Unit - TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:fn index:0 type:@[ExtensionFunctionType] kotlin.Function1.testExtSAsSimpleT, kotlin.Unit> BLOCK_BODY CALL 'public final fun useSuspendArgT (sfn: kotlin.coroutines.SuspendFunction1.useSuspendArgT, kotlin.Unit>): kotlin.Unit declared in ' type=kotlin.Unit origin=null @@ -198,7 +198,7 @@ FILE fqName: fileName:/suspendConversionOnArbitraryExpression.kt FUNCTION_REFERENCE 'local final fun suspendConversion0 (p0: S of .testExtSAsSimpleT): kotlin.Unit [suspend] declared in .testExtSAsSimpleT' type=kotlin.coroutines.SuspendFunction1.testExtSAsSimpleT, kotlin.Unit> origin=SUSPEND_CONVERSION reflectionTarget=null $receiver: GET_VAR 'fn: @[ExtensionFunctionType] kotlin.Function1.testExtSAsSimpleT, kotlin.Unit> declared in .testExtSAsSimpleT' type=@[ExtensionFunctionType] kotlin.Function1.testExtSAsSimpleT, kotlin.Unit> origin=null FUN name:testExtSAsExtT visibility:public modality:FINAL (fn:@[ExtensionFunctionType] kotlin.Function1.testExtSAsExtT, kotlin.Unit>) returnType:kotlin.Unit - TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:fn index:0 type:@[ExtensionFunctionType] kotlin.Function1.testExtSAsExtT, kotlin.Unit> BLOCK_BODY CALL 'public final fun useSuspendExtT (sfn: @[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1.useSuspendExtT, kotlin.Unit>): kotlin.Unit declared in ' type=kotlin.Unit origin=null @@ -268,7 +268,7 @@ FILE fqName: fileName:/suspendConversionOnArbitraryExpression.kt sfn: TYPE_OP type=kotlin.coroutines.SuspendFunction0 origin=IMPLICIT_CAST typeOperand=kotlin.coroutines.SuspendFunction0 GET_VAR 'var b: kotlin.Function0 [var] declared in .testSmartCastOnVarVsSuspendConversion' type=kotlin.Function0 origin=null FUN name:testIntersectionVsSuspendConversion visibility:public modality:FINAL (x:T of .testIntersectionVsSuspendConversion) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Function0; kotlin.coroutines.SuspendFunction0] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Function0; kotlin.coroutines.SuspendFunction0] reified:false VALUE_PARAMETER name:x index:0 type:T of .testIntersectionVsSuspendConversion BLOCK_BODY CALL 'public final fun useSuspend (sfn: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in ' type=kotlin.Unit origin=null diff --git a/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.fir.ir.txt b/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.fir.ir.txt index 32f92c81ed4..c0b95b09b94 100644 --- a/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/thisOfGenericOuterClass.kt CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Outer> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (x:T of .Outer) returnType:.Outer.Outer> [primary] VALUE_PARAMETER name:x index:0 type:T of .Outer BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.ir.txt b/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.ir.txt index 0a0d581cbf6..680686fa612 100644 --- a/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.ir.txt +++ b/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/thisOfGenericOuterClass.kt CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Outer> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (x:T of .Outer) returnType:.Outer.Outer> [primary] VALUE_PARAMETER name:x index:0 type:T of .Outer BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/typeParameterClassLiteral.ir.txt b/compiler/testData/ir/irText/expressions/typeParameterClassLiteral.ir.txt index ef8e3fb2d94..b3e70af8f78 100644 --- a/compiler/testData/ir/irText/expressions/typeParameterClassLiteral.ir.txt +++ b/compiler/testData/ir/irText/expressions/typeParameterClassLiteral.ir.txt @@ -1,23 +1,23 @@ FILE fqName: fileName:/typeParameterClassLiteral.kt FUN name:classRefFun visibility:public modality:FINAL () returnType:kotlin.reflect.KClass.classRefFun> [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:true BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun classRefFun (): kotlin.reflect.KClass.classRefFun> [inline] declared in ' - CLASS_REFERENCE 'TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any]' type=kotlin.reflect.KClass.classRefFun> + CLASS_REFERENCE 'TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:true' type=kotlin.reflect.KClass.classRefFun> FUN name:classRefExtFun visibility:public modality:FINAL ($receiver:kotlin.Any) returnType:kotlin.reflect.KClass.classRefExtFun> [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:true $receiver: VALUE_PARAMETER name: type:kotlin.Any BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun classRefExtFun (): kotlin.reflect.KClass.classRefExtFun> [inline] declared in ' - CLASS_REFERENCE 'TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any]' type=kotlin.reflect.KClass.classRefExtFun> + CLASS_REFERENCE 'TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:true' type=kotlin.reflect.KClass.classRefExtFun> PROPERTY name:classRefExtVal visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL ($receiver:T of .) returnType:kotlin.reflect.KClass.> [inline] correspondingProperty: PROPERTY name:classRefExtVal visibility:public modality:FINAL [val] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:true $receiver: VALUE_PARAMETER name: type:T of . BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KClass.> [inline] declared in ' - CLASS_REFERENCE 'TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any]' type=kotlin.reflect.KClass.> + CLASS_REFERENCE 'TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:true' type=kotlin.reflect.KClass.> CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host CONSTRUCTOR visibility:public <> () returnType:.Host [primary] @@ -25,27 +25,27 @@ FILE fqName: fileName:/typeParameterClassLiteral.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' FUN name:classRefGenericMemberFun visibility:public modality:FINAL ($this:.Host) returnType:kotlin.reflect.KClass.Host.classRefGenericMemberFun> [inline] - TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any] reified:true $this: VALUE_PARAMETER name: type:.Host BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun classRefGenericMemberFun (): kotlin.reflect.KClass.Host.classRefGenericMemberFun> [inline] declared in .Host' - CLASS_REFERENCE 'TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any]' type=kotlin.reflect.KClass.Host.classRefGenericMemberFun> + CLASS_REFERENCE 'TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any] reified:true' type=kotlin.reflect.KClass.Host.classRefGenericMemberFun> FUN name:classRefGenericMemberExtFun visibility:public modality:FINAL ($this:.Host, $receiver:kotlin.Any) returnType:kotlin.reflect.KClass.Host.classRefGenericMemberExtFun> [inline] - TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any] reified:true $this: VALUE_PARAMETER name: type:.Host $receiver: VALUE_PARAMETER name: type:kotlin.Any BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun classRefGenericMemberExtFun (): kotlin.reflect.KClass.Host.classRefGenericMemberExtFun> [inline] declared in .Host' - CLASS_REFERENCE 'TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any]' type=kotlin.reflect.KClass.Host.classRefGenericMemberExtFun> + CLASS_REFERENCE 'TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any] reified:true' type=kotlin.reflect.KClass.Host.classRefGenericMemberExtFun> PROPERTY name:classRefGenericMemberExtVal visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL ($this:.Host, $receiver:TV of .Host.) returnType:kotlin.reflect.KClass.Host.> [inline] correspondingProperty: PROPERTY name:classRefGenericMemberExtVal visibility:public modality:FINAL [val] - TYPE_PARAMETER name:TV index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:TV index:0 variance: superTypes:[kotlin.Any] reified:true $this: VALUE_PARAMETER name: type:.Host $receiver: VALUE_PARAMETER name: type:TV of .Host. BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.reflect.KClass.Host.> [inline] declared in .Host' - CLASS_REFERENCE 'TYPE_PARAMETER name:TV index:0 variance: superTypes:[kotlin.Any]' type=kotlin.reflect.KClass.Host.> + CLASS_REFERENCE 'TYPE_PARAMETER name:TV index:0 variance: superTypes:[kotlin.Any] reified:true' type=kotlin.reflect.KClass.Host.> FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any diff --git a/compiler/testData/ir/irText/expressions/useImportedMember.fir.ir.txt b/compiler/testData/ir/irText/expressions/useImportedMember.fir.ir.txt index 46d3f51424a..ac61ee221a7 100644 --- a/compiler/testData/ir/irText/expressions/useImportedMember.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/useImportedMember.fir.ir.txt @@ -1,9 +1,9 @@ FILE fqName: fileName:/useImportedMember.kt CLASS INTERFACE name:I modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I.I> - TYPE_PARAMETER name:G index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:G index:0 variance: superTypes:[kotlin.Any?] reified:false FUN name:fromInterface visibility:public modality:OPEN ($this:.I.I>, $receiver:T of .I.fromInterface) returnType:T of .I.fromInterface - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.I.I> $receiver: VALUE_PARAMETER name: type:T of .I.fromInterface BLOCK_BODY @@ -37,7 +37,7 @@ FILE fqName: fileName:/useImportedMember.kt PROPERTY name:fromClass visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL ($this:.BaseClass, $receiver:T of .BaseClass.) returnType:T of .BaseClass. correspondingProperty: PROPERTY name:fromClass visibility:public modality:FINAL [val] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.BaseClass $receiver: VALUE_PARAMETER name: type:T of .BaseClass. BLOCK_BODY @@ -108,7 +108,7 @@ FILE fqName: fileName:/useImportedMember.kt RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' CONST Int type=kotlin.Int value=6 FUN name:g1 visibility:public modality:FINAL ($this:.C, t:T of .C.g1) returnType:T of .C.g1 - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.C VALUE_PARAMETER name:t index:0 type:T of .C.g1 BLOCK_BODY @@ -117,7 +117,7 @@ FILE fqName: fileName:/useImportedMember.kt PROPERTY name:g2 visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL ($this:.C, $receiver:T of .C.) returnType:T of .C. correspondingProperty: PROPERTY name:g2 visibility:public modality:FINAL [val] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.C $receiver: VALUE_PARAMETER name: type:T of .C. BLOCK_BODY @@ -130,7 +130,7 @@ FILE fqName: fileName:/useImportedMember.kt correspondingProperty: PROPERTY FAKE_OVERRIDE name:fromClass visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): T of .BaseClass. declared in .BaseClass - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.BaseClass $receiver: VALUE_PARAMETER name: type:T of .C. FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] @@ -152,7 +152,7 @@ FILE fqName: fileName:/useImportedMember.kt FUN FAKE_OVERRIDE name:fromInterface visibility:public modality:OPEN ($this:.I.I>, $receiver:T of .C.fromInterface) returnType:T of .C.fromInterface [fake_override] overridden: public open fun fromInterface (): T of .I.fromInterface declared in .I - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.I.I> $receiver: VALUE_PARAMETER name: type:T of .C.fromInterface FUN FAKE_OVERRIDE name:genericFromSuper visibility:public modality:OPEN <> ($this:.I.I>, g:kotlin.String) returnType:kotlin.String [fake_override] diff --git a/compiler/testData/ir/irText/expressions/useImportedMember.ir.txt b/compiler/testData/ir/irText/expressions/useImportedMember.ir.txt index 68f720a03b2..24d64a40f69 100644 --- a/compiler/testData/ir/irText/expressions/useImportedMember.ir.txt +++ b/compiler/testData/ir/irText/expressions/useImportedMember.ir.txt @@ -1,9 +1,9 @@ FILE fqName: fileName:/useImportedMember.kt CLASS INTERFACE name:I modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I.I> - TYPE_PARAMETER name:G index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:G index:0 variance: superTypes:[kotlin.Any?] reified:false FUN name:fromInterface visibility:public modality:OPEN ($this:.I.I>, $receiver:T of .I.fromInterface) returnType:T of .I.fromInterface - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.I.I> $receiver: VALUE_PARAMETER name: type:T of .I.fromInterface BLOCK_BODY @@ -37,7 +37,7 @@ FILE fqName: fileName:/useImportedMember.kt PROPERTY name:fromClass visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL ($this:.BaseClass, $receiver:T of .BaseClass.) returnType:T of .BaseClass. correspondingProperty: PROPERTY name:fromClass visibility:public modality:FINAL [val] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.BaseClass $receiver: VALUE_PARAMETER name: type:T of .BaseClass. BLOCK_BODY @@ -108,7 +108,7 @@ FILE fqName: fileName:/useImportedMember.kt RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' CONST Int type=kotlin.Int value=6 FUN name:g1 visibility:public modality:FINAL ($this:.C, t:T of .C.g1) returnType:T of .C.g1 - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.C VALUE_PARAMETER name:t index:0 type:T of .C.g1 BLOCK_BODY @@ -117,7 +117,7 @@ FILE fqName: fileName:/useImportedMember.kt PROPERTY name:g2 visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL ($this:.C, $receiver:T of .C.) returnType:T of .C. correspondingProperty: PROPERTY name:g2 visibility:public modality:FINAL [val] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.C $receiver: VALUE_PARAMETER name: type:T of .C. BLOCK_BODY @@ -130,7 +130,7 @@ FILE fqName: fileName:/useImportedMember.kt correspondingProperty: PROPERTY FAKE_OVERRIDE name:fromClass visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): T of .BaseClass. declared in .BaseClass - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.BaseClass $receiver: VALUE_PARAMETER name: type:T of .C. FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] @@ -152,7 +152,7 @@ FILE fqName: fileName:/useImportedMember.kt FUN FAKE_OVERRIDE name:fromInterface visibility:public modality:OPEN ($this:.I, $receiver:T of .C.fromInterface) returnType:T of .C.fromInterface [fake_override] overridden: public open fun fromInterface (): T of .I.fromInterface declared in .I - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.I $receiver: VALUE_PARAMETER name: type:T of .C.fromInterface FUN FAKE_OVERRIDE name:genericFromSuper visibility:public modality:OPEN <> ($this:.I, g:kotlin.String) returnType:kotlin.String [fake_override] diff --git a/compiler/testData/ir/irText/expressions/variableAsFunctionCallWithGenerics.fir.ir.txt b/compiler/testData/ir/irText/expressions/variableAsFunctionCallWithGenerics.fir.ir.txt index 1831a187fb7..19b083d3be4 100644 --- a/compiler/testData/ir/irText/expressions/variableAsFunctionCallWithGenerics.fir.ir.txt +++ b/compiler/testData/ir/irText/expressions/variableAsFunctionCallWithGenerics.fir.ir.txt @@ -2,7 +2,7 @@ FILE fqName: fileName:/variableAsFunctionCallWithGenerics.kt PROPERTY name:gk visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL ($receiver:T of .) returnType:kotlin.Function0.> correspondingProperty: PROPERTY name:gk visibility:public modality:FINAL [val] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence] reified:false $receiver: VALUE_PARAMETER name: type:T of . BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function0.> declared in ' @@ -22,7 +22,7 @@ FILE fqName: fileName:/variableAsFunctionCallWithGenerics.kt PROPERTY name:kt26531Val visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL ($receiver:T of .) returnType:kotlin.Function0.> correspondingProperty: PROPERTY name:kt26531Val visibility:public modality:FINAL [val] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:T of . BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function0.> declared in ' diff --git a/compiler/testData/ir/irText/expressions/variableAsFunctionCallWithGenerics.ir.txt b/compiler/testData/ir/irText/expressions/variableAsFunctionCallWithGenerics.ir.txt index 2c631f0a2f6..8fccb69e0bb 100644 --- a/compiler/testData/ir/irText/expressions/variableAsFunctionCallWithGenerics.ir.txt +++ b/compiler/testData/ir/irText/expressions/variableAsFunctionCallWithGenerics.ir.txt @@ -2,7 +2,7 @@ FILE fqName: fileName:/variableAsFunctionCallWithGenerics.kt PROPERTY name:gk visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL ($receiver:T of .) returnType:kotlin.Function0.> correspondingProperty: PROPERTY name:gk visibility:public modality:FINAL [val] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence] reified:false $receiver: VALUE_PARAMETER name: type:T of . BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function0.> declared in ' @@ -22,7 +22,7 @@ FILE fqName: fileName:/variableAsFunctionCallWithGenerics.kt PROPERTY name:kt26531Val visibility:public modality:FINAL [val] FUN name: visibility:public modality:FINAL ($receiver:T of .) returnType:kotlin.Function0.> correspondingProperty: PROPERTY name:kt26531Val visibility:public modality:FINAL [val] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:T of . BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function0.> declared in ' diff --git a/compiler/testData/ir/irText/firProblems/AbstractMutableMap.fir.ir.txt b/compiler/testData/ir/irText/firProblems/AbstractMutableMap.fir.ir.txt index be4c5d732bb..00ba7fb422a 100644 --- a/compiler/testData/ir/irText/firProblems/AbstractMutableMap.fir.ir.txt +++ b/compiler/testData/ir/irText/firProblems/AbstractMutableMap.fir.ir.txt @@ -1,8 +1,8 @@ FILE fqName: fileName:/AbstractMutableMap.kt CLASS CLASS name:MyMap modality:FINAL visibility:public superTypes:[kotlin.collections.AbstractMutableMap.MyMap, V of .MyMap>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyMap.MyMap, V of .MyMap> - TYPE_PARAMETER name:K index:0 variance: superTypes:[kotlin.Any] - TYPE_PARAMETER name:V index:1 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:K index:0 variance: superTypes:[kotlin.Any] reified:false + TYPE_PARAMETER name:V index:1 variance: superTypes:[kotlin.Any] reified:false CONSTRUCTOR visibility:public <> () returnType:.MyMap.MyMap, V of .MyMap> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'protected constructor () [primary] declared in kotlin.collections.AbstractMutableMap' diff --git a/compiler/testData/ir/irText/firProblems/AbstractMutableMap.ir.txt b/compiler/testData/ir/irText/firProblems/AbstractMutableMap.ir.txt index 3d4c4b5f35c..74cbd826023 100644 --- a/compiler/testData/ir/irText/firProblems/AbstractMutableMap.ir.txt +++ b/compiler/testData/ir/irText/firProblems/AbstractMutableMap.ir.txt @@ -1,8 +1,8 @@ FILE fqName: fileName:/AbstractMutableMap.kt CLASS CLASS name:MyMap modality:FINAL visibility:public superTypes:[kotlin.collections.AbstractMutableMap.MyMap, V of .MyMap>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyMap.MyMap, V of .MyMap> - TYPE_PARAMETER name:K index:0 variance: superTypes:[kotlin.Any] - TYPE_PARAMETER name:V index:1 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:K index:0 variance: superTypes:[kotlin.Any] reified:false + TYPE_PARAMETER name:V index:1 variance: superTypes:[kotlin.Any] reified:false CONSTRUCTOR visibility:public <> () returnType:.MyMap.MyMap, V of .MyMap> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'protected constructor () [primary] declared in kotlin.collections.AbstractMutableMap' diff --git a/compiler/testData/ir/irText/firProblems/AllCandidates.fir.ir.txt b/compiler/testData/ir/irText/firProblems/AllCandidates.fir.ir.txt index 03b05f9c8e0..c3df05b9331 100644 --- a/compiler/testData/ir/irText/firProblems/AllCandidates.fir.ir.txt +++ b/compiler/testData/ir/irText/firProblems/AllCandidates.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/AllCandidates.kt CLASS CLASS name:ResolvedCall modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ResolvedCall.ResolvedCall> - TYPE_PARAMETER name:C index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:C index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.ResolvedCall.ResolvedCall> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -51,7 +51,7 @@ FILE fqName: fileName:/AllCandidates.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:allCandidatesResult visibility:private modality:FINAL (allCandidates:kotlin.collections.Collection<.MyCandidate>) returnType:@[FlexibleNullability] .OverloadResolutionResultsImpl<@[FlexibleNullability] A of .allCandidatesResult?>? - TYPE_PARAMETER name:A index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:A index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:allCandidates index:0 type:kotlin.collections.Collection<.MyCandidate> BLOCK_BODY RETURN type=kotlin.Nothing from='private final fun allCandidatesResult (allCandidates: kotlin.collections.Collection<.MyCandidate>): @[FlexibleNullability] .OverloadResolutionResultsImpl<@[FlexibleNullability] A of .allCandidatesResult?>? declared in ' diff --git a/compiler/testData/ir/irText/firProblems/AllCandidates.ir.txt b/compiler/testData/ir/irText/firProblems/AllCandidates.ir.txt index ff31f30e202..168f545536c 100644 --- a/compiler/testData/ir/irText/firProblems/AllCandidates.ir.txt +++ b/compiler/testData/ir/irText/firProblems/AllCandidates.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/AllCandidates.kt CLASS CLASS name:ResolvedCall modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ResolvedCall.ResolvedCall> - TYPE_PARAMETER name:C index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:C index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.ResolvedCall.ResolvedCall> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -51,7 +51,7 @@ FILE fqName: fileName:/AllCandidates.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:allCandidatesResult visibility:private modality:FINAL (allCandidates:kotlin.collections.Collection<.MyCandidate>) returnType:@[FlexibleNullability] .OverloadResolutionResultsImpl<@[FlexibleNullability] A of .allCandidatesResult?>? - TYPE_PARAMETER name:A index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:A index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:allCandidates index:0 type:kotlin.collections.Collection<.MyCandidate> BLOCK_BODY RETURN type=kotlin.Nothing from='private final fun allCandidatesResult (allCandidates: kotlin.collections.Collection<.MyCandidate>): @[FlexibleNullability] .OverloadResolutionResultsImpl<@[FlexibleNullability] A of .allCandidatesResult?>? declared in ' diff --git a/compiler/testData/ir/irText/firProblems/ArrayListOverrides.fir.ir.txt b/compiler/testData/ir/irText/firProblems/ArrayListOverrides.fir.ir.txt index 6b5f76bf32b..8db7f29d794 100644 --- a/compiler/testData/ir/irText/firProblems/ArrayListOverrides.fir.ir.txt +++ b/compiler/testData/ir/irText/firProblems/ArrayListOverrides.fir.ir.txt @@ -58,7 +58,7 @@ FILE fqName: fileName:/ArrayListOverrides.kt FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList, p0:@[FlexibleNullability] kotlin.Array.A1.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.A1.toArray?>? [fake_override] overridden: public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.ArrayList - TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:java.util.ArrayList VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.A1.toArray?>? FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.String [fake_override,operator] @@ -260,7 +260,7 @@ FILE fqName: fileName:/ArrayListOverrides.kt FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList, p0:@[FlexibleNullability] kotlin.Array.A2.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.A2.toArray?>? [fake_override] overridden: public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.ArrayList - TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:java.util.ArrayList VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.A2.toArray?>? FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.String [fake_override,operator] diff --git a/compiler/testData/ir/irText/firProblems/ArrayListOverrides.ir.txt b/compiler/testData/ir/irText/firProblems/ArrayListOverrides.ir.txt index af8e03c5962..fff737ab743 100644 --- a/compiler/testData/ir/irText/firProblems/ArrayListOverrides.ir.txt +++ b/compiler/testData/ir/irText/firProblems/ArrayListOverrides.ir.txt @@ -94,7 +94,7 @@ FILE fqName: fileName:/ArrayListOverrides.kt FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList, p0:@[FlexibleNullability] kotlin.Array.A1.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.A1.toArray?>? [fake_override] overridden: public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.ArrayList - TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:java.util.ArrayList VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.A1.toArray?>? FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] @@ -289,7 +289,7 @@ FILE fqName: fileName:/ArrayListOverrides.kt FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList, p0:@[FlexibleNullability] kotlin.Array.A2.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.A2.toArray?>? [fake_override] overridden: public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.ArrayList - TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:java.util.ArrayList VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.A2.toArray?>? FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] diff --git a/compiler/testData/ir/irText/firProblems/ArrayMap.fir.ir.txt b/compiler/testData/ir/irText/firProblems/ArrayMap.fir.ir.txt index 530f1c18fc2..26241b8cdd1 100644 --- a/compiler/testData/ir/irText/firProblems/ArrayMap.fir.ir.txt +++ b/compiler/testData/ir/irText/firProblems/ArrayMap.fir.ir.txt @@ -5,7 +5,7 @@ FILE fqName: fileName:/ArrayMap.kt CLASS CLASS name:OneElementArrayMap modality:FINAL visibility:internal superTypes:[.ArrayMap.OneElementArrayMap>] CLASS CLASS name:ArrayMapImpl modality:FINAL visibility:internal superTypes:[.ArrayMap.ArrayMapImpl>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ArrayMap.ArrayMap> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false CONSTRUCTOR visibility:protected <> () returnType:.ArrayMap.ArrayMap> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -156,7 +156,7 @@ FILE fqName: fileName:/ArrayMap.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:OneElementArrayMap modality:FINAL visibility:internal superTypes:[.ArrayMap.OneElementArrayMap>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.OneElementArrayMap.OneElementArrayMap> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false CONSTRUCTOR visibility:public <> (value:T of .OneElementArrayMap, index:kotlin.Int) returnType:.OneElementArrayMap.OneElementArrayMap> [primary] VALUE_PARAMETER name:value index:0 type:T of .OneElementArrayMap VALUE_PARAMETER name:index index:1 type:kotlin.Int @@ -325,7 +325,7 @@ FILE fqName: fileName:/ArrayMap.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:ArrayMapImpl modality:FINAL visibility:internal superTypes:[.ArrayMap.ArrayMapImpl>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ArrayMapImpl.ArrayMapImpl> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false CONSTRUCTOR visibility:private <> (data:kotlin.Array) returnType:.ArrayMapImpl.ArrayMapImpl> [primary] VALUE_PARAMETER name:data index:0 type:kotlin.Array BLOCK_BODY @@ -678,7 +678,7 @@ FILE fqName: fileName:/ArrayMap.kt then: CONST Null type=kotlin.Nothing? value=null CLASS CLASS name:Entry modality:FINAL visibility:public [data] superTypes:[kotlin.collections.Map.Entry.ArrayMapImpl.Entry>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (key:kotlin.Int, value:T of .ArrayMapImpl.Entry) returnType:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> [primary] VALUE_PARAMETER name:key index:0 type:kotlin.Int VALUE_PARAMETER name:value index:1 type:T of .ArrayMapImpl.Entry diff --git a/compiler/testData/ir/irText/firProblems/ArrayMap.ir.txt b/compiler/testData/ir/irText/firProblems/ArrayMap.ir.txt index 430ea7ef36f..86e7d4f654b 100644 --- a/compiler/testData/ir/irText/firProblems/ArrayMap.ir.txt +++ b/compiler/testData/ir/irText/firProblems/ArrayMap.ir.txt @@ -5,7 +5,7 @@ FILE fqName: fileName:/ArrayMap.kt CLASS CLASS name:OneElementArrayMap modality:FINAL visibility:internal superTypes:[.ArrayMap.OneElementArrayMap>] CLASS CLASS name:ArrayMapImpl modality:FINAL visibility:internal superTypes:[.ArrayMap.ArrayMapImpl>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ArrayMap.ArrayMap> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false CONSTRUCTOR visibility:protected <> () returnType:.ArrayMap.ArrayMap> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -155,7 +155,7 @@ FILE fqName: fileName:/ArrayMap.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:OneElementArrayMap modality:FINAL visibility:internal superTypes:[.ArrayMap.OneElementArrayMap>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.OneElementArrayMap.OneElementArrayMap> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false CONSTRUCTOR visibility:public <> (value:T of .OneElementArrayMap, index:kotlin.Int) returnType:.OneElementArrayMap.OneElementArrayMap> [primary] VALUE_PARAMETER name:value index:0 type:T of .OneElementArrayMap VALUE_PARAMETER name:index index:1 type:kotlin.Int @@ -325,7 +325,7 @@ FILE fqName: fileName:/ArrayMap.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:ArrayMapImpl modality:FINAL visibility:internal superTypes:[.ArrayMap.ArrayMapImpl>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ArrayMapImpl.ArrayMapImpl> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false CONSTRUCTOR visibility:private <> (data:kotlin.Array) returnType:.ArrayMapImpl.ArrayMapImpl> [primary] VALUE_PARAMETER name:data index:0 type:kotlin.Array BLOCK_BODY @@ -697,7 +697,7 @@ FILE fqName: fileName:/ArrayMap.kt then: CONST Null type=kotlin.Nothing? value=null CLASS CLASS name:Entry modality:FINAL visibility:public [data] superTypes:[kotlin.collections.Map.Entry.ArrayMapImpl.Entry>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (key:kotlin.Int, value:T of .ArrayMapImpl.Entry) returnType:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> [primary] VALUE_PARAMETER name:key index:0 type:kotlin.Int VALUE_PARAMETER name:value index:1 type:T of .ArrayMapImpl.Entry @@ -863,4 +863,3 @@ FILE fqName: fileName:/ArrayMap.kt overridden: public open fun toString (): kotlin.String [fake_override] declared in .ArrayMap $this: VALUE_PARAMETER name: type:kotlin.Any - diff --git a/compiler/testData/ir/irText/firProblems/ClashResolutionDescriptor.fir.ir.txt b/compiler/testData/ir/irText/firProblems/ClashResolutionDescriptor.fir.ir.txt index 13431af5e14..bc1a60ab387 100644 --- a/compiler/testData/ir/irText/firProblems/ClashResolutionDescriptor.fir.ir.txt +++ b/compiler/testData/ir/irText/firProblems/ClashResolutionDescriptor.fir.ir.txt @@ -16,7 +16,7 @@ FILE fqName: fileName:/ClashResolutionDescriptor.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:PlatformSpecificExtension modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.PlatformSpecificExtension.PlatformSpecificExtension> - TYPE_PARAMETER name:S index:0 variance: superTypes:[.PlatformSpecificExtension.PlatformSpecificExtension>] + TYPE_PARAMETER name:S index:0 variance: superTypes:[.PlatformSpecificExtension.PlatformSpecificExtension>] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -47,7 +47,7 @@ FILE fqName: fileName:/ClashResolutionDescriptor.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:PlatformExtensionsClashResolver modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.PlatformExtensionsClashResolver.PlatformExtensionsClashResolver> - TYPE_PARAMETER name:E index:0 variance: superTypes:[.PlatformSpecificExtension.PlatformExtensionsClashResolver>] + TYPE_PARAMETER name:E index:0 variance: superTypes:[.PlatformSpecificExtension.PlatformExtensionsClashResolver>] reified:false CONSTRUCTOR visibility:public <> (applicableTo:java.lang.Class.PlatformExtensionsClashResolver>) returnType:.PlatformExtensionsClashResolver.PlatformExtensionsClashResolver> [primary] VALUE_PARAMETER name:applicableTo index:0 type:java.lang.Class.PlatformExtensionsClashResolver> BLOCK_BODY @@ -79,7 +79,7 @@ FILE fqName: fileName:/ClashResolutionDescriptor.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:ClashResolutionDescriptor modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ClashResolutionDescriptor.ClashResolutionDescriptor> - TYPE_PARAMETER name:E index:0 variance: superTypes:[.PlatformSpecificExtension.ClashResolutionDescriptor>] + TYPE_PARAMETER name:E index:0 variance: superTypes:[.PlatformSpecificExtension.ClashResolutionDescriptor>] reified:false CONSTRUCTOR visibility:public <> (container:.ComponentContainer, resolver:.PlatformExtensionsClashResolver.ClashResolutionDescriptor>, clashedComponents:kotlin.collections.List<.ComponentDescriptor>) returnType:.ClashResolutionDescriptor.ClashResolutionDescriptor> [primary] VALUE_PARAMETER name:container index:0 type:.ComponentContainer VALUE_PARAMETER name:resolver index:1 type:.PlatformExtensionsClashResolver.ClashResolutionDescriptor> diff --git a/compiler/testData/ir/irText/firProblems/ClashResolutionDescriptor.ir.txt b/compiler/testData/ir/irText/firProblems/ClashResolutionDescriptor.ir.txt index a09fc527039..0aa801514a8 100644 --- a/compiler/testData/ir/irText/firProblems/ClashResolutionDescriptor.ir.txt +++ b/compiler/testData/ir/irText/firProblems/ClashResolutionDescriptor.ir.txt @@ -16,7 +16,7 @@ FILE fqName: fileName:/ClashResolutionDescriptor.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:PlatformSpecificExtension modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.PlatformSpecificExtension.PlatformSpecificExtension> - TYPE_PARAMETER name:S index:0 variance: superTypes:[.PlatformSpecificExtension.PlatformSpecificExtension>] + TYPE_PARAMETER name:S index:0 variance: superTypes:[.PlatformSpecificExtension.PlatformSpecificExtension>] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -47,7 +47,7 @@ FILE fqName: fileName:/ClashResolutionDescriptor.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:PlatformExtensionsClashResolver modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.PlatformExtensionsClashResolver.PlatformExtensionsClashResolver> - TYPE_PARAMETER name:E index:0 variance: superTypes:[.PlatformSpecificExtension.PlatformExtensionsClashResolver>] + TYPE_PARAMETER name:E index:0 variance: superTypes:[.PlatformSpecificExtension.PlatformExtensionsClashResolver>] reified:false CONSTRUCTOR visibility:public <> (applicableTo:java.lang.Class.PlatformExtensionsClashResolver>) returnType:.PlatformExtensionsClashResolver.PlatformExtensionsClashResolver> [primary] VALUE_PARAMETER name:applicableTo index:0 type:java.lang.Class.PlatformExtensionsClashResolver> BLOCK_BODY @@ -79,7 +79,7 @@ FILE fqName: fileName:/ClashResolutionDescriptor.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:ClashResolutionDescriptor modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ClashResolutionDescriptor.ClashResolutionDescriptor> - TYPE_PARAMETER name:E index:0 variance: superTypes:[.PlatformSpecificExtension.ClashResolutionDescriptor>] + TYPE_PARAMETER name:E index:0 variance: superTypes:[.PlatformSpecificExtension.ClashResolutionDescriptor>] reified:false CONSTRUCTOR visibility:public <> (container:.ComponentContainer, resolver:.PlatformExtensionsClashResolver.ClashResolutionDescriptor>, clashedComponents:kotlin.collections.List<.ComponentDescriptor>) returnType:.ClashResolutionDescriptor.ClashResolutionDescriptor> [primary] VALUE_PARAMETER name:container index:0 type:.ComponentContainer VALUE_PARAMETER name:resolver index:1 type:.PlatformExtensionsClashResolver.ClashResolutionDescriptor> diff --git a/compiler/testData/ir/irText/firProblems/DeepCopyIrTree.fir.ir.txt b/compiler/testData/ir/irText/firProblems/DeepCopyIrTree.fir.ir.txt index dfb54d44c50..65c39c43ca8 100644 --- a/compiler/testData/ir/irText/firProblems/DeepCopyIrTree.fir.ir.txt +++ b/compiler/testData/ir/irText/firProblems/DeepCopyIrTree.fir.ir.txt @@ -218,7 +218,7 @@ FILE fqName: fileName:/DeepCopyIrTree.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:withinScope visibility:public modality:FINAL ($receiver:.TypeRemapper, irTypeParametersContainer:.IrTypeParametersContainer, fn:kotlin.Function0.withinScope>) returnType:T of .withinScope [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.TypeRemapper VALUE_PARAMETER name:irTypeParametersContainer index:0 type:.IrTypeParametersContainer VALUE_PARAMETER name:fn index:1 type:kotlin.Function0.withinScope> diff --git a/compiler/testData/ir/irText/firProblems/DeepCopyIrTree.ir.txt b/compiler/testData/ir/irText/firProblems/DeepCopyIrTree.ir.txt index 9aa3fba8932..143abb86975 100644 --- a/compiler/testData/ir/irText/firProblems/DeepCopyIrTree.ir.txt +++ b/compiler/testData/ir/irText/firProblems/DeepCopyIrTree.ir.txt @@ -220,7 +220,7 @@ FILE fqName: fileName:/DeepCopyIrTree.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:withinScope visibility:public modality:FINAL ($receiver:.TypeRemapper, irTypeParametersContainer:.IrTypeParametersContainer, fn:kotlin.Function0.withinScope>) returnType:T of .withinScope [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.TypeRemapper VALUE_PARAMETER name:irTypeParametersContainer index:0 type:.IrTypeParametersContainer VALUE_PARAMETER name:fn index:1 type:kotlin.Function0.withinScope> diff --git a/compiler/testData/ir/irText/firProblems/FirBuilder.fir.ir.txt b/compiler/testData/ir/irText/firProblems/FirBuilder.fir.ir.txt index bf1de0cbdc6..464989e0304 100644 --- a/compiler/testData/ir/irText/firProblems/FirBuilder.fir.ir.txt +++ b/compiler/testData/ir/irText/firProblems/FirBuilder.fir.ir.txt @@ -2,13 +2,13 @@ Module: m1 FILE fqName: fileName:/BaseFirBuilder.kt CLASS CLASS name:BaseFirBuilder modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.BaseFirBuilder.BaseFirBuilder> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.BaseFirBuilder.BaseFirBuilder> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:BaseFirBuilder modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' FUN name:withCapturedTypeParameters visibility:public modality:FINAL ($this:.BaseFirBuilder.BaseFirBuilder>, block:kotlin.Function0.BaseFirBuilder.withCapturedTypeParameters>) returnType:T of .BaseFirBuilder.withCapturedTypeParameters [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.BaseFirBuilder.BaseFirBuilder> VALUE_PARAMETER name:block index:0 type:kotlin.Function0.BaseFirBuilder.withCapturedTypeParameters> BLOCK_BODY @@ -40,7 +40,7 @@ FILE fqName: fileName:/FirBuilder.kt FUN FAKE_OVERRIDE name:withCapturedTypeParameters visibility:public modality:FINAL ($this:.BaseFirBuilder.BaseFirBuilder>, block:kotlin.Function0.BaseConverter.withCapturedTypeParameters>) returnType:T of .BaseConverter.withCapturedTypeParameters [inline,fake_override] overridden: public final fun withCapturedTypeParameters (block: kotlin.Function0.BaseFirBuilder.withCapturedTypeParameters>): T of .BaseFirBuilder.withCapturedTypeParameters [inline] declared in .BaseFirBuilder - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.BaseFirBuilder.BaseFirBuilder> VALUE_PARAMETER name:block index:0 type:kotlin.Function0.BaseConverter.withCapturedTypeParameters> FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] @@ -65,7 +65,7 @@ FILE fqName: fileName:/FirBuilder.kt FUN FAKE_OVERRIDE name:withCapturedTypeParameters visibility:public modality:FINAL ($this:.BaseFirBuilder.BaseFirBuilder>, block:kotlin.Function0.DeclarationsConverter.withCapturedTypeParameters>) returnType:T of .DeclarationsConverter.withCapturedTypeParameters [inline,fake_override] overridden: public final fun withCapturedTypeParameters (block: kotlin.Function0.BaseConverter.withCapturedTypeParameters>): T of .BaseConverter.withCapturedTypeParameters [inline,fake_override] declared in .BaseConverter - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.BaseFirBuilder.BaseFirBuilder> VALUE_PARAMETER name:block index:0 type:kotlin.Function0.DeclarationsConverter.withCapturedTypeParameters> FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] diff --git a/compiler/testData/ir/irText/firProblems/FirBuilder.ir.txt b/compiler/testData/ir/irText/firProblems/FirBuilder.ir.txt index 8043b0f6957..8113bf71c02 100644 --- a/compiler/testData/ir/irText/firProblems/FirBuilder.ir.txt +++ b/compiler/testData/ir/irText/firProblems/FirBuilder.ir.txt @@ -2,13 +2,13 @@ Module: m1 FILE fqName: fileName:/BaseFirBuilder.kt CLASS CLASS name:BaseFirBuilder modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.BaseFirBuilder.BaseFirBuilder> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.BaseFirBuilder.BaseFirBuilder> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:BaseFirBuilder modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' FUN name:withCapturedTypeParameters visibility:public modality:FINAL ($this:.BaseFirBuilder.BaseFirBuilder>, block:kotlin.Function0.BaseFirBuilder.withCapturedTypeParameters>) returnType:T of .BaseFirBuilder.withCapturedTypeParameters [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.BaseFirBuilder.BaseFirBuilder> VALUE_PARAMETER name:block index:0 type:kotlin.Function0.BaseFirBuilder.withCapturedTypeParameters> BLOCK_BODY @@ -40,7 +40,7 @@ FILE fqName: fileName:/FirBuilder.kt FUN FAKE_OVERRIDE name:withCapturedTypeParameters visibility:public modality:FINAL ($this:.BaseFirBuilder, block:kotlin.Function0.BaseConverter.withCapturedTypeParameters>) returnType:T of .BaseConverter.withCapturedTypeParameters [inline,fake_override] overridden: public final fun withCapturedTypeParameters (block: kotlin.Function0.BaseFirBuilder.withCapturedTypeParameters>): T of .BaseFirBuilder.withCapturedTypeParameters [inline] declared in .BaseFirBuilder - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.BaseFirBuilder VALUE_PARAMETER name:block index:0 type:kotlin.Function0.BaseConverter.withCapturedTypeParameters> FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] @@ -65,7 +65,7 @@ FILE fqName: fileName:/FirBuilder.kt FUN FAKE_OVERRIDE name:withCapturedTypeParameters visibility:public modality:FINAL ($this:.BaseFirBuilder, block:kotlin.Function0.DeclarationsConverter.withCapturedTypeParameters>) returnType:T of .DeclarationsConverter.withCapturedTypeParameters [inline,fake_override] overridden: public final fun withCapturedTypeParameters (block: kotlin.Function0.BaseConverter.withCapturedTypeParameters>): T of .BaseConverter.withCapturedTypeParameters [inline,fake_override] declared in .BaseConverter - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.BaseFirBuilder VALUE_PARAMETER name:block index:0 type:kotlin.Function0.DeclarationsConverter.withCapturedTypeParameters> FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] diff --git a/compiler/testData/ir/irText/firProblems/ImplicitReceiverStack.fir.ir.txt b/compiler/testData/ir/irText/firProblems/ImplicitReceiverStack.fir.ir.txt index f0812a61485..55993c0b2ff 100644 --- a/compiler/testData/ir/irText/firProblems/ImplicitReceiverStack.fir.ir.txt +++ b/compiler/testData/ir/irText/firProblems/ImplicitReceiverStack.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/ImplicitReceiverStack.kt CLASS INTERFACE name:SymbolOwner modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.SymbolOwner.SymbolOwner> - TYPE_PARAMETER name:E index:0 variance: superTypes:[.SymbolOwner.SymbolOwner>] + TYPE_PARAMETER name:E index:0 variance: superTypes:[.SymbolOwner.SymbolOwner>] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -17,7 +17,7 @@ FILE fqName: fileName:/ImplicitReceiverStack.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:Symbol modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Symbol.Symbol> - TYPE_PARAMETER name:E index:0 variance: superTypes:[.SymbolOwner.Symbol>] + TYPE_PARAMETER name:E index:0 variance: superTypes:[.SymbolOwner.Symbol>] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -52,7 +52,7 @@ FILE fqName: fileName:/ImplicitReceiverStack.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:ImplicitReceiverValue modality:FINAL visibility:public superTypes:[.ReceiverValue] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ImplicitReceiverValue.ImplicitReceiverValue> - TYPE_PARAMETER name:S index:0 variance: superTypes:[.Symbol<*>] + TYPE_PARAMETER name:S index:0 variance: superTypes:[.Symbol<*>] reified:false CONSTRUCTOR visibility:public <> (boundSymbol:S of .ImplicitReceiverValue?, type:kotlin.String) returnType:.ImplicitReceiverValue.ImplicitReceiverValue> [primary] VALUE_PARAMETER name:boundSymbol index:0 type:S of .ImplicitReceiverValue? VALUE_PARAMETER name:type index:1 type:kotlin.String diff --git a/compiler/testData/ir/irText/firProblems/ImplicitReceiverStack.ir.txt b/compiler/testData/ir/irText/firProblems/ImplicitReceiverStack.ir.txt index c1165b9094e..8f7608552ee 100644 --- a/compiler/testData/ir/irText/firProblems/ImplicitReceiverStack.ir.txt +++ b/compiler/testData/ir/irText/firProblems/ImplicitReceiverStack.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/ImplicitReceiverStack.kt CLASS INTERFACE name:SymbolOwner modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.SymbolOwner.SymbolOwner> - TYPE_PARAMETER name:E index:0 variance: superTypes:[.SymbolOwner.SymbolOwner>] + TYPE_PARAMETER name:E index:0 variance: superTypes:[.SymbolOwner.SymbolOwner>] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -17,7 +17,7 @@ FILE fqName: fileName:/ImplicitReceiverStack.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:Symbol modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Symbol.Symbol> - TYPE_PARAMETER name:E index:0 variance: superTypes:[.SymbolOwner.Symbol>] + TYPE_PARAMETER name:E index:0 variance: superTypes:[.SymbolOwner.Symbol>] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -52,7 +52,7 @@ FILE fqName: fileName:/ImplicitReceiverStack.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:ImplicitReceiverValue modality:FINAL visibility:public superTypes:[.ReceiverValue] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ImplicitReceiverValue.ImplicitReceiverValue> - TYPE_PARAMETER name:S index:0 variance: superTypes:[.Symbol<*>] + TYPE_PARAMETER name:S index:0 variance: superTypes:[.Symbol<*>] reified:false CONSTRUCTOR visibility:public <> (boundSymbol:S of .ImplicitReceiverValue?, type:kotlin.String) returnType:.ImplicitReceiverValue.ImplicitReceiverValue> [primary] VALUE_PARAMETER name:boundSymbol index:0 type:S of .ImplicitReceiverValue? VALUE_PARAMETER name:type index:1 type:kotlin.String diff --git a/compiler/testData/ir/irText/firProblems/JCTree.fir.ir.txt b/compiler/testData/ir/irText/firProblems/JCTree.fir.ir.txt index 27556124e3e..8c4937bddd5 100644 --- a/compiler/testData/ir/irText/firProblems/JCTree.fir.ir.txt +++ b/compiler/testData/ir/irText/firProblems/JCTree.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/JCTreeUser.kt CLASS CLASS name:Owner modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Owner.Owner> - TYPE_PARAMETER name:T index:0 variance:out superTypes:[.JCTree] + TYPE_PARAMETER name:T index:0 variance:out superTypes:[.JCTree] reified:false CONSTRUCTOR visibility:public <> (tree:T of .Owner) returnType:.Owner.Owner> [primary] VALUE_PARAMETER name:tree index:0 type:T of .Owner BLOCK_BODY diff --git a/compiler/testData/ir/irText/firProblems/JCTree.ir.txt b/compiler/testData/ir/irText/firProblems/JCTree.ir.txt index ae397bf6bd5..444db163542 100644 --- a/compiler/testData/ir/irText/firProblems/JCTree.ir.txt +++ b/compiler/testData/ir/irText/firProblems/JCTree.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/JCTreeUser.kt CLASS CLASS name:Owner modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Owner.Owner> - TYPE_PARAMETER name:T index:0 variance:out superTypes:[.JCTree] + TYPE_PARAMETER name:T index:0 variance:out superTypes:[.JCTree] reified:false CONSTRUCTOR visibility:public <> (tree:T of .Owner) returnType:.Owner.Owner> [primary] VALUE_PARAMETER name:tree index:0 type:T of .Owner BLOCK_BODY diff --git a/compiler/testData/ir/irText/firProblems/Modality.fir.ir.txt b/compiler/testData/ir/irText/firProblems/Modality.fir.ir.txt index f2fcd65fe34..b2e1eb05856 100644 --- a/compiler/testData/ir/irText/firProblems/Modality.fir.ir.txt +++ b/compiler/testData/ir/irText/firProblems/Modality.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/Modality.kt CLASS INTERFACE name:Substitutable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Substitutable.Substitutable> - TYPE_PARAMETER name:T index:0 variance:out superTypes:[.DeclarationDescriptorNonRoot] + TYPE_PARAMETER name:T index:0 variance:out superTypes:[.DeclarationDescriptorNonRoot] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any diff --git a/compiler/testData/ir/irText/firProblems/Modality.ir.txt b/compiler/testData/ir/irText/firProblems/Modality.ir.txt index bf006084354..8a2bdc6e5af 100644 --- a/compiler/testData/ir/irText/firProblems/Modality.ir.txt +++ b/compiler/testData/ir/irText/firProblems/Modality.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/Modality.kt CLASS INTERFACE name:Substitutable modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Substitutable.Substitutable> - TYPE_PARAMETER name:T index:0 variance:out superTypes:[.DeclarationDescriptorNonRoot] + TYPE_PARAMETER name:T index:0 variance:out superTypes:[.DeclarationDescriptorNonRoot] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any diff --git a/compiler/testData/ir/irText/firProblems/MultiList.fir.ir.txt b/compiler/testData/ir/irText/firProblems/MultiList.fir.ir.txt index 53a329845b0..9a941c6b4c5 100644 --- a/compiler/testData/ir/irText/firProblems/MultiList.fir.ir.txt +++ b/compiler/testData/ir/irText/firProblems/MultiList.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/MultiList.kt CLASS CLASS name:Some modality:FINAL visibility:public [data] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Some.Some> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (value:T of .Some) returnType:.Some.Some> [primary] VALUE_PARAMETER name:value index:0 type:T of .Some BLOCK_BODY @@ -101,7 +101,7 @@ FILE fqName: fileName:/MultiList.kt CONST String type=kotlin.String value=")" CLASS INTERFACE name:MyList modality:ABSTRACT visibility:public superTypes:[kotlin.collections.List<.Some.MyList>>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyList.MyList> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, element:.Some.MyList>) returnType:kotlin.Boolean [fake_override,operator] overridden: public abstract fun contains (element: E of kotlin.collections.List): kotlin.Boolean [operator] declared in kotlin.collections.List @@ -190,7 +190,7 @@ FILE fqName: fileName:/MultiList.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:SomeList modality:OPEN visibility:public superTypes:[.MyList.SomeList>; java.util.ArrayList<.Some.SomeList>>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.SomeList.SomeList> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.SomeList.SomeList> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.ArrayList' @@ -307,7 +307,7 @@ FILE fqName: fileName:/MultiList.kt FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList, p0:@[FlexibleNullability] kotlin.Array.SomeList.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.SomeList.toArray?>? [fake_override] overridden: public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.ArrayList - TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:java.util.ArrayList VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.SomeList.toArray?>? FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int, p1:@[EnhancedNullability] .Some.SomeList>) returnType:@[EnhancedNullability] .Some.SomeList> [fake_override,operator] @@ -501,7 +501,7 @@ FILE fqName: fileName:/MultiList.kt FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList, p0:@[FlexibleNullability] kotlin.Array.FinalList.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.FinalList.toArray?>? [fake_override] overridden: public open fun toArray (p0: @[FlexibleNullability] kotlin.Array.SomeList.toArray?>?): @[FlexibleNullability] kotlin.Array.SomeList.toArray?>? [fake_override] declared in .SomeList - TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:java.util.ArrayList VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.FinalList.toArray?>? FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int, p1:@[EnhancedNullability] .Some) returnType:@[EnhancedNullability] .Some [fake_override,operator] diff --git a/compiler/testData/ir/irText/firProblems/MultiList.ir.txt b/compiler/testData/ir/irText/firProblems/MultiList.ir.txt index 13f4d073b72..5fb5efa0b39 100644 --- a/compiler/testData/ir/irText/firProblems/MultiList.ir.txt +++ b/compiler/testData/ir/irText/firProblems/MultiList.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/MultiList.kt CLASS CLASS name:Some modality:FINAL visibility:public [data] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Some.Some> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (value:T of .Some) returnType:.Some.Some> [primary] VALUE_PARAMETER name:value index:0 type:T of .Some BLOCK_BODY @@ -101,7 +101,7 @@ FILE fqName: fileName:/MultiList.kt CONST Boolean type=kotlin.Boolean value=true CLASS INTERFACE name:MyList modality:ABSTRACT visibility:public superTypes:[kotlin.collections.List<.Some.MyList>>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyList.MyList> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] overridden: public abstract size: kotlin.Int [val] @@ -190,7 +190,7 @@ FILE fqName: fileName:/MultiList.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:SomeList modality:OPEN visibility:public superTypes:[.MyList.SomeList>; java.util.ArrayList<.Some.SomeList>>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.SomeList.SomeList> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.SomeList.SomeList> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.ArrayList' @@ -349,7 +349,7 @@ FILE fqName: fileName:/MultiList.kt FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList<.Some.SomeList>>, p0:@[FlexibleNullability] kotlin.Array.SomeList.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.SomeList.toArray?>? [fake_override] overridden: public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.ArrayList - TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:java.util.ArrayList<.Some.SomeList>> VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.SomeList.toArray?>? FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList<.Some.SomeList>>, p0:@[EnhancedNullability] java.util.function.Predicate.Some.SomeList>>) returnType:kotlin.Boolean [fake_override] @@ -541,7 +541,7 @@ FILE fqName: fileName:/MultiList.kt FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList<.Some>, p0:@[FlexibleNullability] kotlin.Array.FinalList.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.FinalList.toArray?>? [fake_override] overridden: public open fun toArray (p0: @[FlexibleNullability] kotlin.Array.SomeList.toArray?>?): @[FlexibleNullability] kotlin.Array.SomeList.toArray?>? [fake_override] declared in .SomeList - TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:java.util.ArrayList<.Some> VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.FinalList.toArray?>? FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList<.Some>, p0:@[EnhancedNullability] java.util.function.Predicate.Some>) returnType:kotlin.Boolean [fake_override] diff --git a/compiler/testData/ir/irText/firProblems/TypeParameterBounds.ir.txt b/compiler/testData/ir/irText/firProblems/TypeParameterBounds.ir.txt index cbbe0552f47..8c2ed198cc2 100644 --- a/compiler/testData/ir/irText/firProblems/TypeParameterBounds.ir.txt +++ b/compiler/testData/ir/irText/firProblems/TypeParameterBounds.ir.txt @@ -111,7 +111,7 @@ FILE fqName: fileName:/TypeParameterBounds.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:Generic modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Generic.Generic> - TYPE_PARAMETER name:G index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:G index:0 variance: superTypes:[kotlin.Any?] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -127,7 +127,7 @@ FILE fqName: fileName:/TypeParameterBounds.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:GenericClass modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.GenericClass.GenericClass> - TYPE_PARAMETER name:G index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:G index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.GenericClass.GenericClass> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -147,7 +147,7 @@ FILE fqName: fileName:/TypeParameterBounds.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:SimpleParameter modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.SimpleParameter.SimpleParameter> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false annotations: TypeParameterAnn TypeParameterAnnBinary @@ -170,7 +170,7 @@ FILE fqName: fileName:/TypeParameterBounds.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:InterfaceBound modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.InterfaceBound.InterfaceBound> - TYPE_PARAMETER name:T index:0 variance: superTypes:[@[TypeAnn(name = 'Simple')] .Simple] + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[TypeAnn(name = 'Simple')] .Simple] reified:false annotations: TypeParameterAnn CONSTRUCTOR visibility:public <> () returnType:.InterfaceBound.InterfaceBound> [primary] @@ -192,7 +192,7 @@ FILE fqName: fileName:/TypeParameterBounds.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:ClassBound modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ClassBound.ClassBound> - TYPE_PARAMETER name:T index:0 variance: superTypes:[@[TypeAnn(name = 'Simple')] .SimpleClass] + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[TypeAnn(name = 'Simple')] .SimpleClass] reified:false annotations: TypeParameterAnn CONSTRUCTOR visibility:public <> () returnType:.ClassBound.ClassBound> [primary] @@ -214,7 +214,7 @@ FILE fqName: fileName:/TypeParameterBounds.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:InterfaceBoundGeneric modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.InterfaceBoundGeneric.InterfaceBoundGeneric> - TYPE_PARAMETER name:T index:0 variance: superTypes:[@[TypeAnn(name = 'Generic')] .Generic<@[TypeAnn(name = 'Simple')] .Simple>] + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[TypeAnn(name = 'Generic')] .Generic<@[TypeAnn(name = 'Simple')] .Simple>] reified:false CONSTRUCTOR visibility:public <> () returnType:.InterfaceBoundGeneric.InterfaceBoundGeneric> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -234,7 +234,7 @@ FILE fqName: fileName:/TypeParameterBounds.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:ClassBoundGeneric modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ClassBoundGeneric.ClassBoundGeneric> - TYPE_PARAMETER name:T index:0 variance: superTypes:[@[TypeAnn(name = 'GenericClass')] .GenericClass<@[TypeAnn(name = 'SimpleClass')] .SimpleClass>] + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[TypeAnn(name = 'GenericClass')] .GenericClass<@[TypeAnn(name = 'SimpleClass')] .SimpleClass>] reified:false CONSTRUCTOR visibility:public <> () returnType:.ClassBoundGeneric.ClassBoundGeneric> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -254,8 +254,8 @@ FILE fqName: fileName:/TypeParameterBounds.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:TypeParameterAsBound modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TypeParameterAsBound.TypeParameterAsBound, T of .TypeParameterAsBound> - TYPE_PARAMETER name:Y index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:T index:1 variance: superTypes:[@[TypeAnn(name = 'Y as Bound')] Y of .TypeParameterAsBound] + TYPE_PARAMETER name:Y index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:T index:1 variance: superTypes:[@[TypeAnn(name = 'Y as Bound')] Y of .TypeParameterAsBound] reified:false annotations: TypeParameterAnn CONSTRUCTOR visibility:public <> () returnType:.TypeParameterAsBound.TypeParameterAsBound, T of .TypeParameterAsBound> [primary] diff --git a/compiler/testData/ir/irText/firProblems/candidateSymbol.fir.ir.txt b/compiler/testData/ir/irText/firProblems/candidateSymbol.fir.ir.txt index 5629c824c2d..f5b3672c761 100644 --- a/compiler/testData/ir/irText/firProblems/candidateSymbol.fir.ir.txt +++ b/compiler/testData/ir/irText/firProblems/candidateSymbol.fir.ir.txt @@ -32,7 +32,7 @@ FILE fqName: fileName:/candidateSymbol.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:AbstractFirBasedSymbol modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AbstractFirBasedSymbol.AbstractFirBasedSymbol> - TYPE_PARAMETER name:E index:0 variance: superTypes:[.FirSymbolOwner.AbstractFirBasedSymbol>; .FirDeclaration] + TYPE_PARAMETER name:E index:0 variance: superTypes:[.FirSymbolOwner.AbstractFirBasedSymbol>; .FirDeclaration] reified:false CONSTRUCTOR visibility:public <> () returnType:.AbstractFirBasedSymbol.AbstractFirBasedSymbol> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -84,7 +84,7 @@ FILE fqName: fileName:/candidateSymbol.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:FirSymbolOwner modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.FirSymbolOwner.FirSymbolOwner> - TYPE_PARAMETER name:E index:0 variance: superTypes:[.FirSymbolOwner.FirSymbolOwner>; .FirDeclaration] + TYPE_PARAMETER name:E index:0 variance: superTypes:[.FirSymbolOwner.FirSymbolOwner>; .FirDeclaration] reified:false PROPERTY name:symbol visibility:public modality:ABSTRACT [val] FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.FirSymbolOwner.FirSymbolOwner>) returnType:.AbstractFirBasedSymbol.FirSymbolOwner> correspondingProperty: PROPERTY name:symbol visibility:public modality:ABSTRACT [val] @@ -104,7 +104,7 @@ FILE fqName: fileName:/candidateSymbol.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:FirCallableMemberDeclaration modality:ABSTRACT visibility:public superTypes:[.FirSymbolOwner.FirCallableMemberDeclaration>; .FirDeclaration] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.FirCallableMemberDeclaration.FirCallableMemberDeclaration> - TYPE_PARAMETER name:F index:0 variance: superTypes:[.FirCallableMemberDeclaration.FirCallableMemberDeclaration>] + TYPE_PARAMETER name:F index:0 variance: superTypes:[.FirCallableMemberDeclaration.FirCallableMemberDeclaration>] reified:false PROPERTY name:symbol visibility:public modality:ABSTRACT [val] overridden: public abstract symbol: .AbstractFirBasedSymbol.FirSymbolOwner> [val] diff --git a/compiler/testData/ir/irText/firProblems/candidateSymbol.ir.txt b/compiler/testData/ir/irText/firProblems/candidateSymbol.ir.txt index a0139608496..5b1993bfb79 100644 --- a/compiler/testData/ir/irText/firProblems/candidateSymbol.ir.txt +++ b/compiler/testData/ir/irText/firProblems/candidateSymbol.ir.txt @@ -32,7 +32,7 @@ FILE fqName: fileName:/candidateSymbol.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:AbstractFirBasedSymbol modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AbstractFirBasedSymbol.AbstractFirBasedSymbol> - TYPE_PARAMETER name:E index:0 variance: superTypes:[.FirSymbolOwner.AbstractFirBasedSymbol>; .FirDeclaration] + TYPE_PARAMETER name:E index:0 variance: superTypes:[.FirSymbolOwner.AbstractFirBasedSymbol>; .FirDeclaration] reified:false CONSTRUCTOR visibility:public <> () returnType:.AbstractFirBasedSymbol.AbstractFirBasedSymbol> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -84,7 +84,7 @@ FILE fqName: fileName:/candidateSymbol.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:FirSymbolOwner modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.FirSymbolOwner.FirSymbolOwner> - TYPE_PARAMETER name:E index:0 variance: superTypes:[.FirSymbolOwner.FirSymbolOwner>; .FirDeclaration] + TYPE_PARAMETER name:E index:0 variance: superTypes:[.FirSymbolOwner.FirSymbolOwner>; .FirDeclaration] reified:false PROPERTY name:symbol visibility:public modality:ABSTRACT [val] FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.FirSymbolOwner.FirSymbolOwner>) returnType:.AbstractFirBasedSymbol.FirSymbolOwner> correspondingProperty: PROPERTY name:symbol visibility:public modality:ABSTRACT [val] @@ -104,7 +104,7 @@ FILE fqName: fileName:/candidateSymbol.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:FirCallableMemberDeclaration modality:ABSTRACT visibility:public superTypes:[.FirSymbolOwner.FirCallableMemberDeclaration>; .FirDeclaration] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.FirCallableMemberDeclaration.FirCallableMemberDeclaration> - TYPE_PARAMETER name:F index:0 variance: superTypes:[.FirCallableMemberDeclaration.FirCallableMemberDeclaration>] + TYPE_PARAMETER name:F index:0 variance: superTypes:[.FirCallableMemberDeclaration.FirCallableMemberDeclaration>] reified:false PROPERTY name:symbol visibility:public modality:ABSTRACT [val] overridden: public abstract symbol: .AbstractFirBasedSymbol.FirSymbolOwner> [val] diff --git a/compiler/testData/ir/irText/firProblems/kt43342.fir.ir.txt b/compiler/testData/ir/irText/firProblems/kt43342.fir.ir.txt index 1fd7a4a50a9..5df16423e43 100644 --- a/compiler/testData/ir/irText/firProblems/kt43342.fir.ir.txt +++ b/compiler/testData/ir/irText/firProblems/kt43342.fir.ir.txt @@ -1,8 +1,8 @@ FILE fqName: fileName:/kt43342.kt CLASS CLASS name:ControlFlowInfo modality:OPEN visibility:public superTypes:[kotlin.collections.Map.ControlFlowInfo, V of .ControlFlowInfo>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ControlFlowInfo.ControlFlowInfo, V of .ControlFlowInfo> - TYPE_PARAMETER name:K index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:V index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:K index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:V index:1 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (map:kotlin.collections.Map.ControlFlowInfo, V of .ControlFlowInfo>) returnType:.ControlFlowInfo.ControlFlowInfo, V of .ControlFlowInfo> [primary] VALUE_PARAMETER name:map index:0 type:kotlin.collections.Map.ControlFlowInfo, V of .ControlFlowInfo> BLOCK_BODY diff --git a/compiler/testData/ir/irText/firProblems/kt43342.ir.txt b/compiler/testData/ir/irText/firProblems/kt43342.ir.txt index fb959b945bc..543db718bad 100644 --- a/compiler/testData/ir/irText/firProblems/kt43342.ir.txt +++ b/compiler/testData/ir/irText/firProblems/kt43342.ir.txt @@ -1,8 +1,8 @@ FILE fqName: fileName:/kt43342.kt CLASS CLASS name:ControlFlowInfo modality:OPEN visibility:public superTypes:[kotlin.collections.Map.ControlFlowInfo, V of .ControlFlowInfo>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ControlFlowInfo.ControlFlowInfo, V of .ControlFlowInfo> - TYPE_PARAMETER name:K index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:V index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:K index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:V index:1 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (map:kotlin.collections.Map.ControlFlowInfo, V of .ControlFlowInfo>) returnType:.ControlFlowInfo.ControlFlowInfo, V of .ControlFlowInfo> [primary] VALUE_PARAMETER name:map index:0 type:kotlin.collections.Map.ControlFlowInfo, V of .ControlFlowInfo> BLOCK_BODY diff --git a/compiler/testData/ir/irText/firProblems/putIfAbsent.fir.ir.txt b/compiler/testData/ir/irText/firProblems/putIfAbsent.fir.ir.txt index 6b215c7afd9..75941faaf6f 100644 --- a/compiler/testData/ir/irText/firProblems/putIfAbsent.fir.ir.txt +++ b/compiler/testData/ir/irText/firProblems/putIfAbsent.fir.ir.txt @@ -6,7 +6,7 @@ FILE fqName: fileName:/putIfAbsent.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Owner modality:FINAL visibility:public superTypes:[kotlin.Any]' FUN name:foo visibility:public modality:FINAL ($this:.Owner, x:T of .Owner.foo, y:T of .Owner.foo) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Owner VALUE_PARAMETER name:x index:0 type:T of .Owner.foo VALUE_PARAMETER name:y index:1 type:T of .Owner.foo diff --git a/compiler/testData/ir/irText/firProblems/putIfAbsent.ir.txt b/compiler/testData/ir/irText/firProblems/putIfAbsent.ir.txt index d865a1f5d2d..e5e6ea9a5f3 100644 --- a/compiler/testData/ir/irText/firProblems/putIfAbsent.ir.txt +++ b/compiler/testData/ir/irText/firProblems/putIfAbsent.ir.txt @@ -6,7 +6,7 @@ FILE fqName: fileName:/putIfAbsent.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Owner modality:FINAL visibility:public superTypes:[kotlin.Any]' FUN name:foo visibility:public modality:FINAL ($this:.Owner, x:T of .Owner.foo, y:T of .Owner.foo) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Owner VALUE_PARAMETER name:x index:0 type:T of .Owner.foo VALUE_PARAMETER name:y index:1 type:T of .Owner.foo diff --git a/compiler/testData/ir/irText/firProblems/readWriteProperty.fir.ir.txt b/compiler/testData/ir/irText/firProblems/readWriteProperty.fir.ir.txt index de0f38ef6b5..b9049531d4c 100644 --- a/compiler/testData/ir/irText/firProblems/readWriteProperty.fir.ir.txt +++ b/compiler/testData/ir/irText/firProblems/readWriteProperty.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/readWriteProperty.kt CLASS CLASS name:SettingType modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.SettingType.SettingType> - TYPE_PARAMETER name:V index:0 variance:out superTypes:[kotlin.Any] + TYPE_PARAMETER name:V index:0 variance:out superTypes:[kotlin.Any] reified:false CONSTRUCTOR visibility:public <> (type:kotlin.reflect.KClass.SettingType>) returnType:.SettingType.SettingType> [primary] VALUE_PARAMETER name:type index:0 type:kotlin.reflect.KClass.SettingType> BLOCK_BODY @@ -33,8 +33,8 @@ FILE fqName: fileName:/readWriteProperty.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:SettingReference modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.SettingReference.SettingReference, T of .SettingReference> - TYPE_PARAMETER name:V index:0 variance: superTypes:[kotlin.Any] - TYPE_PARAMETER name:T index:1 variance: superTypes:[.SettingType.SettingReference>] + TYPE_PARAMETER name:V index:0 variance: superTypes:[kotlin.Any] reified:false + TYPE_PARAMETER name:T index:1 variance: superTypes:[.SettingType.SettingReference>] reified:false CONSTRUCTOR visibility:public <> (t:T of .SettingReference, v:V of .SettingReference) returnType:.SettingReference.SettingReference, T of .SettingReference> [primary] VALUE_PARAMETER name:t index:0 type:T of .SettingReference VALUE_PARAMETER name:v index:1 type:V of .SettingReference @@ -135,8 +135,8 @@ FILE fqName: fileName:/readWriteProperty.kt property: PROPERTY_REFERENCE 'public final projectTemplate: kotlin.Int? [delegated,var]' field=null getter='public final fun (): kotlin.Int? declared in .IdeWizard' setter='public final fun (: kotlin.Int?): kotlin.Unit declared in .IdeWizard' type=kotlin.reflect.KMutableProperty1<.IdeWizard, kotlin.Int?> origin=PROPERTY_REFERENCE_FOR_DELEGATE value: GET_VAR ': kotlin.Int? declared in .IdeWizard.' type=kotlin.Int? origin=null FUN name:setting visibility:private modality:FINAL ($this:.IdeWizard, reference:.SettingReference.IdeWizard.setting, T of .IdeWizard.setting>) returnType:.IdeWizard.setting..IdeWizard.setting, T of .IdeWizard.setting> - TYPE_PARAMETER name:V index:0 variance: superTypes:[kotlin.Any] - TYPE_PARAMETER name:T index:1 variance: superTypes:[.SettingType.IdeWizard.setting>] + TYPE_PARAMETER name:V index:0 variance: superTypes:[kotlin.Any] reified:false + TYPE_PARAMETER name:T index:1 variance: superTypes:[.SettingType.IdeWizard.setting>] reified:false $this: VALUE_PARAMETER name: type:.IdeWizard VALUE_PARAMETER name:reference index:0 type:.SettingReference.IdeWizard.setting, T of .IdeWizard.setting> BLOCK_BODY diff --git a/compiler/testData/ir/irText/firProblems/readWriteProperty.ir.txt b/compiler/testData/ir/irText/firProblems/readWriteProperty.ir.txt index 6d558213b76..c27e9d7e382 100644 --- a/compiler/testData/ir/irText/firProblems/readWriteProperty.ir.txt +++ b/compiler/testData/ir/irText/firProblems/readWriteProperty.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/readWriteProperty.kt CLASS CLASS name:SettingType modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.SettingType.SettingType> - TYPE_PARAMETER name:V index:0 variance:out superTypes:[kotlin.Any] + TYPE_PARAMETER name:V index:0 variance:out superTypes:[kotlin.Any] reified:false CONSTRUCTOR visibility:public <> (type:kotlin.reflect.KClass.SettingType>) returnType:.SettingType.SettingType> [primary] VALUE_PARAMETER name:type index:0 type:kotlin.reflect.KClass.SettingType> BLOCK_BODY @@ -33,8 +33,8 @@ FILE fqName: fileName:/readWriteProperty.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:SettingReference modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.SettingReference.SettingReference, T of .SettingReference> - TYPE_PARAMETER name:V index:0 variance: superTypes:[kotlin.Any] - TYPE_PARAMETER name:T index:1 variance: superTypes:[.SettingType.SettingReference>] + TYPE_PARAMETER name:V index:0 variance: superTypes:[kotlin.Any] reified:false + TYPE_PARAMETER name:T index:1 variance: superTypes:[.SettingType.SettingReference>] reified:false CONSTRUCTOR visibility:public <> (t:T of .SettingReference, v:V of .SettingReference) returnType:.SettingReference.SettingReference, T of .SettingReference> [primary] VALUE_PARAMETER name:t index:0 type:T of .SettingReference VALUE_PARAMETER name:v index:1 type:V of .SettingReference @@ -136,8 +136,8 @@ FILE fqName: fileName:/readWriteProperty.kt property: PROPERTY_REFERENCE 'public final projectTemplate: kotlin.Int? [delegated,var]' field=null getter='public final fun (): kotlin.Int? declared in .IdeWizard' setter='public final fun (: kotlin.Int?): kotlin.Unit declared in .IdeWizard' type=kotlin.reflect.KMutableProperty1<.IdeWizard, kotlin.Int?> origin=PROPERTY_REFERENCE_FOR_DELEGATE value: GET_VAR ': kotlin.Int? declared in .IdeWizard.' type=kotlin.Int? origin=null FUN name:setting visibility:private modality:FINAL ($this:.IdeWizard, reference:.SettingReference.IdeWizard.setting, T of .IdeWizard.setting>) returnType:.IdeWizard.setting..IdeWizard.setting, T of .IdeWizard.setting> - TYPE_PARAMETER name:V index:0 variance: superTypes:[kotlin.Any] - TYPE_PARAMETER name:T index:1 variance: superTypes:[.SettingType.IdeWizard.setting>] + TYPE_PARAMETER name:V index:0 variance: superTypes:[kotlin.Any] reified:false + TYPE_PARAMETER name:T index:1 variance: superTypes:[.SettingType.IdeWizard.setting>] reified:false $this: VALUE_PARAMETER name: type:.IdeWizard VALUE_PARAMETER name:reference index:0 type:.SettingReference.IdeWizard.setting, T of .IdeWizard.setting> BLOCK_BODY diff --git a/compiler/testData/ir/irText/firProblems/recursiveCapturedTypeInPropertyReference.fir.ir.txt b/compiler/testData/ir/irText/firProblems/recursiveCapturedTypeInPropertyReference.fir.ir.txt index dbe7a821874..7d4b7a33794 100644 --- a/compiler/testData/ir/irText/firProblems/recursiveCapturedTypeInPropertyReference.fir.ir.txt +++ b/compiler/testData/ir/irText/firProblems/recursiveCapturedTypeInPropertyReference.fir.ir.txt @@ -16,7 +16,7 @@ FILE fqName: fileName:/recursiveCapturedTypeInPropertyReference.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:Recursive modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Recursive.Recursive> - TYPE_PARAMETER name:R index:0 variance: superTypes:[.Recursive.Recursive>; .Something] + TYPE_PARAMETER name:R index:0 variance: superTypes:[.Recursive.Recursive>; .Something] reified:false PROPERTY name:symbol visibility:public modality:ABSTRACT [val] FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.Recursive.Recursive>) returnType:.AbstractSymbol.Recursive> correspondingProperty: PROPERTY name:symbol visibility:public modality:ABSTRACT [val] @@ -36,7 +36,7 @@ FILE fqName: fileName:/recursiveCapturedTypeInPropertyReference.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:AbstractSymbol modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AbstractSymbol.AbstractSymbol> - TYPE_PARAMETER name:E index:0 variance: superTypes:[.Recursive.AbstractSymbol>; .Something] + TYPE_PARAMETER name:E index:0 variance: superTypes:[.Recursive.AbstractSymbol>; .Something] reified:false CONSTRUCTOR visibility:public <> () returnType:.AbstractSymbol.AbstractSymbol> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' diff --git a/compiler/testData/ir/irText/firProblems/recursiveCapturedTypeInPropertyReference.ir.txt b/compiler/testData/ir/irText/firProblems/recursiveCapturedTypeInPropertyReference.ir.txt index 3e2d3d335b6..ffc6f6a684b 100644 --- a/compiler/testData/ir/irText/firProblems/recursiveCapturedTypeInPropertyReference.ir.txt +++ b/compiler/testData/ir/irText/firProblems/recursiveCapturedTypeInPropertyReference.ir.txt @@ -16,7 +16,7 @@ FILE fqName: fileName:/recursiveCapturedTypeInPropertyReference.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:Recursive modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Recursive.Recursive> - TYPE_PARAMETER name:R index:0 variance: superTypes:[.Recursive.Recursive>; .Something] + TYPE_PARAMETER name:R index:0 variance: superTypes:[.Recursive.Recursive>; .Something] reified:false PROPERTY name:symbol visibility:public modality:ABSTRACT [val] FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.Recursive.Recursive>) returnType:.AbstractSymbol.Recursive> correspondingProperty: PROPERTY name:symbol visibility:public modality:ABSTRACT [val] @@ -36,7 +36,7 @@ FILE fqName: fileName:/recursiveCapturedTypeInPropertyReference.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:AbstractSymbol modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AbstractSymbol.AbstractSymbol> - TYPE_PARAMETER name:E index:0 variance: superTypes:[.Recursive.AbstractSymbol>; .Something] + TYPE_PARAMETER name:E index:0 variance: superTypes:[.Recursive.AbstractSymbol>; .Something] reified:false CONSTRUCTOR visibility:public <> () returnType:.AbstractSymbol.AbstractSymbol> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' diff --git a/compiler/testData/ir/irText/regressions/integerCoercionToT.fir.ir.txt b/compiler/testData/ir/irText/regressions/integerCoercionToT.fir.ir.txt index d1446801802..580ad8571e1 100644 --- a/compiler/testData/ir/irText/regressions/integerCoercionToT.fir.ir.txt +++ b/compiler/testData/ir/irText/regressions/integerCoercionToT.fir.ir.txt @@ -16,14 +16,14 @@ FILE fqName: fileName:/integerCoercionToT.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:reinterpret visibility:public modality:FINAL ($receiver:.CPointed) returnType:T of .reinterpret [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[.CPointed] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.CPointed] reified:true $receiver: VALUE_PARAMETER name: type:.CPointed BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun reinterpret (): T of .reinterpret [inline] declared in ' CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin.StandardKt' type=kotlin.Nothing origin=null CLASS CLASS name:CInt32VarX modality:FINAL visibility:public superTypes:[.CPointed] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CInt32VarX.CInt32VarX> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.CInt32VarX.CInt32VarX> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -44,14 +44,14 @@ FILE fqName: fileName:/integerCoercionToT.kt PROPERTY name:value visibility:public modality:FINAL [var] FUN name: visibility:public modality:FINAL ($receiver:.CInt32VarX.>) returnType:T_INT of . correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [var] - TYPE_PARAMETER name:T_INT index:0 variance: superTypes:[kotlin.Int] + TYPE_PARAMETER name:T_INT index:0 variance: superTypes:[kotlin.Int] reified:false $receiver: VALUE_PARAMETER name: type:.CInt32VarX.> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): T_INT of . declared in ' CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin.StandardKt' type=kotlin.Nothing origin=null FUN name: visibility:public modality:FINAL ($receiver:.CInt32VarX.>, value:T_INT of .) returnType:kotlin.Unit correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [var] - TYPE_PARAMETER name:T_INT index:0 variance: superTypes:[kotlin.Int] + TYPE_PARAMETER name:T_INT index:0 variance: superTypes:[kotlin.Int] reified:false $receiver: VALUE_PARAMETER name: type:.CInt32VarX.> VALUE_PARAMETER name:value index:0 type:T_INT of . BLOCK_BODY diff --git a/compiler/testData/ir/irText/regressions/integerCoercionToT.ir.txt b/compiler/testData/ir/irText/regressions/integerCoercionToT.ir.txt index 00e2adbc87b..77edac97c97 100644 --- a/compiler/testData/ir/irText/regressions/integerCoercionToT.ir.txt +++ b/compiler/testData/ir/irText/regressions/integerCoercionToT.ir.txt @@ -15,14 +15,14 @@ FILE fqName: fileName:/integerCoercionToT.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:reinterpret visibility:public modality:FINAL ($receiver:.CPointed) returnType:T of .reinterpret [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[.CPointed] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.CPointed] reified:true $receiver: VALUE_PARAMETER name: type:.CPointed BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun reinterpret (): T of .reinterpret [inline] declared in ' CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin.StandardKt' type=kotlin.Nothing origin=null CLASS CLASS name:CInt32VarX modality:FINAL visibility:public superTypes:[.CPointed] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CInt32VarX.CInt32VarX> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.CInt32VarX.CInt32VarX> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -44,14 +44,14 @@ FILE fqName: fileName:/integerCoercionToT.kt PROPERTY name:value visibility:public modality:FINAL [var] FUN name: visibility:public modality:FINAL ($receiver:.CInt32VarX.>) returnType:T_INT of . correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [var] - TYPE_PARAMETER name:T_INT index:0 variance: superTypes:[kotlin.Int] + TYPE_PARAMETER name:T_INT index:0 variance: superTypes:[kotlin.Int] reified:false $receiver: VALUE_PARAMETER name: type:.CInt32VarX.> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): T_INT of . declared in ' CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin.StandardKt' type=kotlin.Nothing origin=null FUN name: visibility:public modality:FINAL ($receiver:.CInt32VarX.>, value:T_INT of .) returnType:kotlin.Unit correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [var] - TYPE_PARAMETER name:T_INT index:0 variance: superTypes:[kotlin.Int] + TYPE_PARAMETER name:T_INT index:0 variance: superTypes:[kotlin.Int] reified:false $receiver: VALUE_PARAMETER name: type:.CInt32VarX.> VALUE_PARAMETER name:value index:0 type:T_INT of . BLOCK_BODY diff --git a/compiler/testData/ir/irText/regressions/kt45236.fir.ir.txt b/compiler/testData/ir/irText/regressions/kt45236.fir.ir.txt index f645a61dbe5..981bf7f25aa 100644 --- a/compiler/testData/ir/irText/regressions/kt45236.fir.ir.txt +++ b/compiler/testData/ir/irText/regressions/kt45236.fir.ir.txt @@ -3,7 +3,7 @@ FILE fqName: fileName:/kt45236.kt sealedSubclasses: CLASS CLASS name:Error modality:FINAL visibility:public [data] superTypes:[.NetRequestStatus.NetRequestStatus.Error>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.NetRequestStatus.NetRequestStatus> - TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Any] reified:false CONSTRUCTOR visibility:protected <> () returnType:.NetRequestStatus.NetRequestStatus> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -14,7 +14,7 @@ FILE fqName: fileName:/kt45236.kt $this: VALUE_PARAMETER name: type:.NetRequestStatus.NetRequestStatus> CLASS CLASS name:Error modality:FINAL visibility:public [data] superTypes:[.NetRequestStatus.NetRequestStatus.Error>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.NetRequestStatus.Error.NetRequestStatus.Error> - TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Any] reified:false CONSTRUCTOR visibility:public <> (error:kotlin.Throwable, value:T of .NetRequestStatus.Error?) returnType:.NetRequestStatus.Error.NetRequestStatus.Error> [primary] VALUE_PARAMETER name:error index:0 type:kotlin.Throwable VALUE_PARAMETER name:value index:1 type:T of .NetRequestStatus.Error? @@ -182,14 +182,14 @@ FILE fqName: fileName:/kt45236.kt FUN name:isError visibility:public modality:FINAL ($receiver:.NetRequestStatus.isError>) returnType:kotlin.Boolean annotations: OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalContracts modality:FINAL visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass]) - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false $receiver: VALUE_PARAMETER name: type:.NetRequestStatus.isError> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun isError (): kotlin.Boolean declared in ' TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=.NetRequestStatus.Error.isError> GET_VAR ': .NetRequestStatus.isError> declared in .isError' type=.NetRequestStatus.isError> origin=null FUN name:successOrThrow visibility:public modality:FINAL () returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false BLOCK_BODY VAR name:nextTerminal type:.NetRequestStatus.successOrThrow> [val] CONSTRUCTOR_CALL 'public constructor (error: kotlin.Throwable, value: T of .NetRequestStatus.Error?) [primary] declared in .NetRequestStatus.Error' type=.NetRequestStatus.Error.successOrThrow> origin=null diff --git a/compiler/testData/ir/irText/regressions/kt45236.ir.txt b/compiler/testData/ir/irText/regressions/kt45236.ir.txt index 85688c46fcf..456cbd3eaa8 100644 --- a/compiler/testData/ir/irText/regressions/kt45236.ir.txt +++ b/compiler/testData/ir/irText/regressions/kt45236.ir.txt @@ -3,7 +3,7 @@ FILE fqName: fileName:/kt45236.kt sealedSubclasses: CLASS CLASS name:Error modality:FINAL visibility:public [data] superTypes:[.NetRequestStatus.NetRequestStatus.Error>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.NetRequestStatus.NetRequestStatus> - TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Any] reified:false CONSTRUCTOR visibility:protected <> () returnType:.NetRequestStatus.NetRequestStatus> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -14,7 +14,7 @@ FILE fqName: fileName:/kt45236.kt $this: VALUE_PARAMETER name: type:.NetRequestStatus.NetRequestStatus> CLASS CLASS name:Error modality:FINAL visibility:public [data] superTypes:[.NetRequestStatus.NetRequestStatus.Error>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.NetRequestStatus.Error.NetRequestStatus.Error> - TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Any] reified:false CONSTRUCTOR visibility:public <> (error:kotlin.Throwable, value:T of .NetRequestStatus.Error?) returnType:.NetRequestStatus.Error.NetRequestStatus.Error> [primary] VALUE_PARAMETER name:error index:0 type:kotlin.Throwable VALUE_PARAMETER name:value index:1 type:T of .NetRequestStatus.Error? @@ -182,7 +182,7 @@ FILE fqName: fileName:/kt45236.kt FUN name:isError visibility:public modality:FINAL ($receiver:.NetRequestStatus.isError>) returnType:kotlin.Boolean annotations: OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalContracts modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass]) - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false $receiver: VALUE_PARAMETER name: type:.NetRequestStatus.isError> BLOCK_BODY CALL 'public final fun contract (builder: @[ExtensionFunctionType] kotlin.Function1): kotlin.Unit [inline] declared in kotlin.contracts.ContractBuilderKt' type=kotlin.Unit origin=null @@ -201,7 +201,7 @@ FILE fqName: fileName:/kt45236.kt TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=.NetRequestStatus.Error.isError> GET_VAR ': .NetRequestStatus.isError> declared in .isError' type=.NetRequestStatus.isError> origin=null FUN name:successOrThrow visibility:public modality:FINAL () returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false BLOCK_BODY VAR name:nextTerminal type:.NetRequestStatus.successOrThrow> [val] CONSTRUCTOR_CALL 'public constructor (error: kotlin.Throwable, value: T of .NetRequestStatus.Error?) [primary] declared in .NetRequestStatus.Error' type=.NetRequestStatus.Error.successOrThrow> origin=null diff --git a/compiler/testData/ir/irText/regressions/newInferenceFixationOrder1.ir.txt b/compiler/testData/ir/irText/regressions/newInferenceFixationOrder1.ir.txt index 41f4e9a21fe..f4d27c6c46b 100644 --- a/compiler/testData/ir/irText/regressions/newInferenceFixationOrder1.ir.txt +++ b/compiler/testData/ir/irText/regressions/newInferenceFixationOrder1.ir.txt @@ -1,14 +1,14 @@ FILE fqName: fileName:/newInferenceFixationOrder1.kt FUN name:foo visibility:public modality:FINAL () returnType:kotlin.Function1.foo, Y of .foo> - TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:Y index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:Y index:1 variance: superTypes:[kotlin.Any?] reified:false BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.Function1.foo, Y of .foo> declared in ' CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin.StandardKt' type=kotlin.Nothing origin=null CLASS INTERFACE name:Inv2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Inv2.Inv2, B of .Inv2> - TYPE_PARAMETER name:A index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:B index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:A index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:B index:1 variance: superTypes:[kotlin.Any?] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -23,8 +23,8 @@ FILE fqName: fileName:/newInferenceFixationOrder1.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:check visibility:public modality:FINAL (x:T of .check, y:R of .check, f:kotlin.Function1.check, R of .check>) returnType:.Inv2.check, R of .check> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:R index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:R index:1 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:x index:0 type:T of .check VALUE_PARAMETER name:y index:1 type:R of .check VALUE_PARAMETER name:f index:2 type:kotlin.Function1.check, R of .check> diff --git a/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.fir.ir.txt b/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.fir.ir.txt index 427c3e68e1a..1a360e60e92 100644 --- a/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.fir.ir.txt +++ b/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.fir.ir.txt @@ -1,11 +1,11 @@ FILE fqName: fileName:/typeAliasCtorForGenericClass.kt TYPEALIAS name:B visibility:public expandedType:.A.B> - TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] reified:false TYPEALIAS name:B2 visibility:public expandedType:.A<.A.B2>> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> - TYPE_PARAMETER name:Q index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:Q index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (q:Q of .A) returnType:.A.A> [primary] VALUE_PARAMETER name:q index:0 type:Q of .A BLOCK_BODY diff --git a/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.ir.txt b/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.ir.txt index 28f7d22d46d..6c48e4548a3 100644 --- a/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.ir.txt +++ b/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/typeAliasCtorForGenericClass.kt CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> - TYPE_PARAMETER name:Q index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:Q index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (q:Q of .A) returnType:.A.A> [primary] VALUE_PARAMETER name:q index:0 type:Q of .A BLOCK_BODY @@ -32,9 +32,9 @@ FILE fqName: fileName:/typeAliasCtorForGenericClass.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any TYPEALIAS name:B visibility:public expandedType:.A.B> - TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] reified:false TYPEALIAS name:B2 visibility:public expandedType:.A<.A.B2>> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false FUN name:bar visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY VAR name:b type:.A{ .B } [val] diff --git a/compiler/testData/ir/irText/regressions/typeParametersInImplicitCast.fir.ir.txt b/compiler/testData/ir/irText/regressions/typeParametersInImplicitCast.fir.ir.txt index bc44fdb6952..65828931a81 100644 --- a/compiler/testData/ir/irText/regressions/typeParametersInImplicitCast.fir.ir.txt +++ b/compiler/testData/ir/irText/regressions/typeParametersInImplicitCast.fir.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/typeParametersInImplicitCast.kt FUN name:problematic visibility:public modality:FINAL (lss:kotlin.collections.List.problematic>>) returnType:kotlin.collections.List.problematic> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:lss index:0 type:kotlin.collections.List.problematic>> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun problematic (lss: kotlin.collections.List.problematic>>): kotlin.collections.List.problematic> declared in ' diff --git a/compiler/testData/ir/irText/regressions/typeParametersInImplicitCast.ir.txt b/compiler/testData/ir/irText/regressions/typeParametersInImplicitCast.ir.txt index ee571105f5c..d6ee139b3fd 100644 --- a/compiler/testData/ir/irText/regressions/typeParametersInImplicitCast.ir.txt +++ b/compiler/testData/ir/irText/regressions/typeParametersInImplicitCast.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/typeParametersInImplicitCast.kt FUN name:problematic visibility:public modality:FINAL (lss:kotlin.collections.List.problematic>>) returnType:kotlin.collections.List.problematic> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:lss index:0 type:kotlin.collections.List.problematic>> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun problematic (lss: kotlin.collections.List.problematic>>): kotlin.collections.List.problematic> declared in ' diff --git a/compiler/testData/ir/irText/stubs/builtinMap.fir.ir.txt b/compiler/testData/ir/irText/stubs/builtinMap.fir.ir.txt index 8074eba77e2..dd396cc203b 100644 --- a/compiler/testData/ir/irText/stubs/builtinMap.fir.ir.txt +++ b/compiler/testData/ir/irText/stubs/builtinMap.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/builtinMap.kt FUN name:plus visibility:public modality:FINAL ($receiver:kotlin.collections.Map.plus, V1 of .plus>, pair:kotlin.Pair.plus, V1 of .plus>) returnType:kotlin.collections.Map.plus, V1 of .plus> - TYPE_PARAMETER name:K1 index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:V1 index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:K1 index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:V1 index:1 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:kotlin.collections.Map.plus, V1 of .plus> VALUE_PARAMETER name:pair index:0 type:kotlin.Pair.plus, V1 of .plus> BLOCK_BODY diff --git a/compiler/testData/ir/irText/stubs/builtinMap.ir.txt b/compiler/testData/ir/irText/stubs/builtinMap.ir.txt index db6bf75d96f..31ff2d509fb 100644 --- a/compiler/testData/ir/irText/stubs/builtinMap.ir.txt +++ b/compiler/testData/ir/irText/stubs/builtinMap.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/builtinMap.kt FUN name:plus visibility:public modality:FINAL ($receiver:kotlin.collections.Map.plus, V1 of .plus>, pair:kotlin.Pair.plus, V1 of .plus>) returnType:kotlin.collections.Map.plus, V1 of .plus> - TYPE_PARAMETER name:K1 index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:V1 index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:K1 index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:V1 index:1 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:kotlin.collections.Map.plus, V1 of .plus> VALUE_PARAMETER name:pair index:0 type:kotlin.Pair.plus, V1 of .plus> BLOCK_BODY diff --git a/compiler/testData/ir/irText/stubs/genericClassInDifferentModule.fir.ir.txt b/compiler/testData/ir/irText/stubs/genericClassInDifferentModule.fir.ir.txt index ef2346ed5ea..730a3a134b2 100644 --- a/compiler/testData/ir/irText/stubs/genericClassInDifferentModule.fir.ir.txt +++ b/compiler/testData/ir/irText/stubs/genericClassInDifferentModule.fir.ir.txt @@ -2,7 +2,7 @@ Module: m1 FILE fqName: fileName:/genericClassInDifferentModule_m1.kt CLASS CLASS name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base.Base> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (x:T of .Base) returnType:.Base.Base> [primary] VALUE_PARAMETER name:x index:0 type:T of .Base BLOCK_BODY @@ -20,7 +20,7 @@ FILE fqName: fileName:/genericClassInDifferentModule_m1.kt GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:T of .Base visibility:private [final]' type=T of .Base origin=null receiver: GET_VAR ': .Base.Base> declared in .Base.' type=.Base.Base> origin=null FUN name:foo visibility:public modality:ABSTRACT ($this:.Base.Base>, y:Y of .Base.foo) returnType:T of .Base - TYPE_PARAMETER name:Y index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:Y index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Base.Base> VALUE_PARAMETER name:y index:0 type:Y of .Base.foo PROPERTY name:bar visibility:public modality:ABSTRACT [var] @@ -34,12 +34,12 @@ FILE fqName: fileName:/genericClassInDifferentModule_m1.kt PROPERTY name:exn visibility:public modality:ABSTRACT [var] FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:.Base.Base>, $receiver:Z of .Base.) returnType:T of .Base correspondingProperty: PROPERTY name:exn visibility:public modality:ABSTRACT [var] - TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Base.Base> $receiver: VALUE_PARAMETER name: type:Z of .Base. FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:.Base.Base>, $receiver:Z of .Base., :T of .Base) returnType:kotlin.Unit correspondingProperty: PROPERTY name:exn visibility:public modality:ABSTRACT [var] - TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Base.Base> $receiver: VALUE_PARAMETER name: type:Z of .Base. VALUE_PARAMETER name: index:0 type:T of .Base @@ -60,7 +60,7 @@ Module: m2 FILE fqName: fileName:/genericClassInDifferentModule_m2.kt CLASS CLASS name:Derived1 modality:FINAL visibility:public superTypes:[.Base.Derived1>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived1.Derived1> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (x:T of .Derived1) returnType:.Derived1.Derived1> [primary] VALUE_PARAMETER name:x index:0 type:T of .Derived1 BLOCK_BODY @@ -71,7 +71,7 @@ FILE fqName: fileName:/genericClassInDifferentModule_m2.kt FUN name:foo visibility:public modality:FINAL ($this:.Derived1.Derived1>, y:Y of .Derived1.foo) returnType:T of .Derived1 overridden: public abstract fun foo (y: Y of .Base.foo): T of .Base declared in .Base - TYPE_PARAMETER name:Y index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:Y index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Derived1.Derived1> VALUE_PARAMETER name:y index:0 type:Y of .Derived1.foo BLOCK_BODY @@ -110,7 +110,7 @@ FILE fqName: fileName:/genericClassInDifferentModule_m2.kt correspondingProperty: PROPERTY name:exn visibility:public modality:FINAL [var] overridden: public final fun (): T of .Base declared in .Base - TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Derived1.Derived1> $receiver: VALUE_PARAMETER name: type:Z of .Derived1. BLOCK_BODY @@ -121,7 +121,7 @@ FILE fqName: fileName:/genericClassInDifferentModule_m2.kt correspondingProperty: PROPERTY name:exn visibility:public modality:FINAL [var] overridden: public final fun (: T of .Base): kotlin.Unit declared in .Base - TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Derived1.Derived1> $receiver: VALUE_PARAMETER name: type:Z of .Derived1. VALUE_PARAMETER name:value index:0 type:T of .Derived1 diff --git a/compiler/testData/ir/irText/stubs/genericClassInDifferentModule.ir.txt b/compiler/testData/ir/irText/stubs/genericClassInDifferentModule.ir.txt index c17bef4015a..7ed1395fb6a 100644 --- a/compiler/testData/ir/irText/stubs/genericClassInDifferentModule.ir.txt +++ b/compiler/testData/ir/irText/stubs/genericClassInDifferentModule.ir.txt @@ -2,7 +2,7 @@ Module: m1 FILE fqName: fileName:/genericClassInDifferentModule_m1.kt CLASS CLASS name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base.Base> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (x:T of .Base) returnType:.Base.Base> [primary] VALUE_PARAMETER name:x index:0 type:T of .Base BLOCK_BODY @@ -20,7 +20,7 @@ FILE fqName: fileName:/genericClassInDifferentModule_m1.kt GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:T of .Base visibility:private [final]' type=T of .Base origin=null receiver: GET_VAR ': .Base.Base> declared in .Base.' type=.Base.Base> origin=null FUN name:foo visibility:public modality:ABSTRACT ($this:.Base.Base>, y:Y of .Base.foo) returnType:T of .Base - TYPE_PARAMETER name:Y index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:Y index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Base.Base> VALUE_PARAMETER name:y index:0 type:Y of .Base.foo PROPERTY name:bar visibility:public modality:ABSTRACT [var] @@ -34,12 +34,12 @@ FILE fqName: fileName:/genericClassInDifferentModule_m1.kt PROPERTY name:exn visibility:public modality:ABSTRACT [var] FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:.Base.Base>, $receiver:Z of .Base.) returnType:T of .Base correspondingProperty: PROPERTY name:exn visibility:public modality:ABSTRACT [var] - TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Base.Base> $receiver: VALUE_PARAMETER name: type:Z of .Base. FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT ($this:.Base.Base>, $receiver:Z of .Base., :T of .Base) returnType:kotlin.Unit correspondingProperty: PROPERTY name:exn visibility:public modality:ABSTRACT [var] - TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Base.Base> $receiver: VALUE_PARAMETER name: type:Z of .Base. VALUE_PARAMETER name: index:0 type:T of .Base @@ -60,7 +60,7 @@ Module: m2 FILE fqName: fileName:/genericClassInDifferentModule_m2.kt CLASS CLASS name:Derived1 modality:FINAL visibility:public superTypes:[.Base.Derived1>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived1.Derived1> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (x:T of .Derived1) returnType:.Derived1.Derived1> [primary] VALUE_PARAMETER name:x index:0 type:T of .Derived1 BLOCK_BODY @@ -71,7 +71,7 @@ FILE fqName: fileName:/genericClassInDifferentModule_m2.kt FUN name:foo visibility:public modality:OPEN ($this:.Derived1.Derived1>, y:Y of .Derived1.foo) returnType:T of .Derived1 overridden: public abstract fun foo (y: Y of .Base.foo): T of .Base declared in .Base - TYPE_PARAMETER name:Y index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:Y index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Derived1.Derived1> VALUE_PARAMETER name:y index:0 type:Y of .Derived1.foo BLOCK_BODY @@ -110,7 +110,7 @@ FILE fqName: fileName:/genericClassInDifferentModule_m2.kt correspondingProperty: PROPERTY name:exn visibility:public modality:OPEN [var] overridden: public abstract fun (): T of .Base declared in .Base - TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Derived1.Derived1> $receiver: VALUE_PARAMETER name: type:Z of .Derived1. BLOCK_BODY @@ -121,7 +121,7 @@ FILE fqName: fileName:/genericClassInDifferentModule_m2.kt correspondingProperty: PROPERTY name:exn visibility:public modality:OPEN [var] overridden: public abstract fun (: T of .Base): kotlin.Unit declared in .Base - TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Derived1.Derived1> $receiver: VALUE_PARAMETER name: type:Z of .Derived1. VALUE_PARAMETER name:value index:0 type:T of .Derived1 diff --git a/compiler/testData/ir/irText/stubs/javaConstructorWithTypeParameters__J1.ir.txt b/compiler/testData/ir/irText/stubs/javaConstructorWithTypeParameters__J1.ir.txt index ff9b5276da1..e1bc513af66 100644 --- a/compiler/testData/ir/irText/stubs/javaConstructorWithTypeParameters__J1.ir.txt +++ b/compiler/testData/ir/irText/stubs/javaConstructorWithTypeParameters__J1.ir.txt @@ -1,17 +1,17 @@ CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:J1 modality:OPEN visibility:public superTypes:[] $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:.J1.J1> - TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:T1 index:0 variance: superTypes:[?] + TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:T1 index:0 variance: superTypes:[?] reified:false CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:.J1.J1> CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public (x1:X1 of .J1.?) returnType:.J1.J1> - TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:X1 index:1 variance: superTypes:[?] + TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:X1 index:1 variance: superTypes:[?] reified:false VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:x1 index:0 type:X1 of .J1.? CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:J2 modality:OPEN visibility:public [inner] superTypes:[] $this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:.J1.J2.J1.J2, T1 of .J1> - TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:T2 index:0 variance: superTypes:[?] + TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:T2 index:0 variance: superTypes:[?] reified:false CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> ($this:.J1.J1>) returnType:.J1.J2.J1.J2, T1 of .J1> $outer: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:.J1.J1> CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public ($this:.J1.J1>, x2:X2 of .J1.J2.?) returnType:.J1.J2.J1.J2, T1 of .J1> - TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:X2 index:1 variance: superTypes:[?] + TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:X2 index:1 variance: superTypes:[?] reified:false $outer: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name: type:.J1.J1> VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:x2 index:0 type:X2 of .J1.J2.? FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:, other:?) returnType: [fake_override,operator] diff --git a/compiler/testData/ir/irText/types/abbreviatedTypes.fir.ir.txt b/compiler/testData/ir/irText/types/abbreviatedTypes.fir.ir.txt index b2b04051e9d..8bb3290b60d 100644 --- a/compiler/testData/ir/irText/types/abbreviatedTypes.fir.ir.txt +++ b/compiler/testData/ir/irText/types/abbreviatedTypes.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/abbreviatedTypes.kt TYPEALIAS name:I visibility:public expandedType:kotlin.Int TYPEALIAS name:L visibility:public expandedType:kotlin.collections.List.L> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.collections.List) returnType:kotlin.collections.List VALUE_PARAMETER name:x index:0 type:kotlin.collections.List BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/abbreviatedTypes.ir.txt b/compiler/testData/ir/irText/types/abbreviatedTypes.ir.txt index 5b958c801ce..558212f0134 100644 --- a/compiler/testData/ir/irText/types/abbreviatedTypes.ir.txt +++ b/compiler/testData/ir/irText/types/abbreviatedTypes.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/abbreviatedTypes.kt TYPEALIAS name:I visibility:public expandedType:kotlin.Int TYPEALIAS name:L visibility:public expandedType:kotlin.collections.List.L> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.collections.List.I }>{ .L.I }> }) returnType:kotlin.collections.List.I }>{ .L.I }> } VALUE_PARAMETER name:x index:0 type:kotlin.collections.List.I }>{ .L.I }> } BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/asOnPlatformType.ir.txt b/compiler/testData/ir/irText/types/asOnPlatformType.ir.txt index eb995862022..dda4a06f659 100644 --- a/compiler/testData/ir/irText/types/asOnPlatformType.ir.txt +++ b/compiler/testData/ir/irText/types/asOnPlatformType.ir.txt @@ -22,14 +22,14 @@ FILE fqName: fileName:/asOnPlatformType.kt : @[FlexibleNullability] kotlin.String? $receiver: GET_VAR 'val nonnullStr: @[FlexibleNullability] kotlin.String? [val] declared in .test' type=@[FlexibleNullability] kotlin.String? origin=null FUN name:foo visibility:public modality:FINAL ($receiver:T of .foo) returnType:T of .foo [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true $receiver: VALUE_PARAMETER name: type:T of .foo BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun foo (): T of .foo [inline] declared in ' TYPE_OP type=T of .foo origin=CAST typeOperand=T of .foo GET_VAR ': T of .foo declared in .foo' type=T of .foo origin=null FUN name:fooN visibility:public modality:FINAL ($receiver:T of .fooN) returnType:T of .fooN? [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true $receiver: VALUE_PARAMETER name: type:T of .fooN BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun fooN (): T of .fooN? [inline] declared in ' diff --git a/compiler/testData/ir/irText/types/castsInsideCoroutineInference.fir.ir.txt b/compiler/testData/ir/irText/types/castsInsideCoroutineInference.fir.ir.txt index 8869744f779..e958152e591 100644 --- a/compiler/testData/ir/irText/types/castsInsideCoroutineInference.fir.ir.txt +++ b/compiler/testData/ir/irText/types/castsInsideCoroutineInference.fir.ir.txt @@ -2,7 +2,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt FUN name:scopedFlow visibility:public modality:FINAL (block:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction2<.CoroutineScope, .FlowCollector.scopedFlow>, kotlin.Unit>) returnType:.Flow.scopedFlow> annotations: OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalTypeInference modality:FINAL visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass]) - TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:block index:0 type:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction2<.CoroutineScope, .FlowCollector.scopedFlow>, kotlin.Unit> annotations: BuilderInference @@ -27,7 +27,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt p1: GET_VAR '$this$flowScope: .CoroutineScope declared in .scopedFlow..' type=.CoroutineScope origin=null p2: GET_VAR 'val collector: .FlowCollector.scopedFlow> [val] declared in .scopedFlow.' type=.FlowCollector.scopedFlow> origin=null FUN name:onCompletion visibility:public modality:FINAL ($receiver:.Flow.onCompletion>, action:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction2<.FlowCollector.onCompletion>, @[ParameterName(name = 'cause')] kotlin.Throwable?, kotlin.Unit>) returnType:.Flow.onCompletion> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.Flow.onCompletion> VALUE_PARAMETER name:action index:0 type:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction2<.FlowCollector.onCompletion>, @[ParameterName(name = 'cause')] kotlin.Throwable?, kotlin.Unit> BLOCK_BODY @@ -47,14 +47,14 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt $receiver: GET_VAR 'val safeCollector: .SafeCollector.onCompletion> [val] declared in .onCompletion.' type=.SafeCollector.onCompletion> origin=null action: GET_VAR 'action: @[ExtensionFunctionType] kotlin.coroutines.SuspendFunction2<.FlowCollector.onCompletion>, @[ParameterName(name = 'cause')] kotlin.Throwable?, kotlin.Unit> declared in .onCompletion' type=@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction2<.FlowCollector.onCompletion>, @[ParameterName(name = 'cause')] kotlin.Throwable?, kotlin.Unit> origin=null FUN name:invokeSafely visibility:public modality:FINAL ($receiver:.FlowCollector.invokeSafely>, action:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction2<.FlowCollector.invokeSafely>, @[ParameterName(name = 'cause')] kotlin.Throwable?, kotlin.Unit>) returnType:kotlin.Unit [suspend] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.FlowCollector.invokeSafely> VALUE_PARAMETER name:action index:0 type:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction2<.FlowCollector.invokeSafely>, @[ParameterName(name = 'cause')] kotlin.Throwable?, kotlin.Unit> BLOCK_BODY FUN name:unsafeFlow visibility:public modality:FINAL (block:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1<.FlowCollector.unsafeFlow>, kotlin.Unit>) returnType:.Flow.unsafeFlow> [inline] annotations: OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalTypeInference modality:FINAL visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass]) - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:block index:0 type:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1<.FlowCollector.unsafeFlow>, kotlin.Unit> [crossinline] annotations: BuilderInference @@ -64,7 +64,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt FUN name:onCompletion visibility:public modality:FINAL ($receiver:.Flow.onCompletion>, action:kotlin.coroutines.SuspendFunction1<@[ParameterName(name = 'cause')] kotlin.Throwable?, kotlin.Unit>) returnType:.Flow.onCompletion> annotations: Deprecated(message = 'binary compatibility with a version w/o FlowCollector receiver', replaceWith = , level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:HIDDEN' type=kotlin.DeprecationLevel) - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.Flow.onCompletion> VALUE_PARAMETER name:action index:0 type:kotlin.coroutines.SuspendFunction1<@[ParameterName(name = 'cause')] kotlin.Throwable?, kotlin.Unit> BLOCK_BODY @@ -155,7 +155,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt then: GET_VAR 'val tmp_1: @[ParameterName(name = 'value')] kotlin.Any? [val] declared in .asChannel..' type=@[ParameterName(name = 'value')] kotlin.Any? origin=null CLASS CLASS name:SafeCollector modality:FINAL visibility:public superTypes:[.FlowCollector.SafeCollector>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.SafeCollector.SafeCollector> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (collector:.FlowCollector.SafeCollector>) returnType:.SafeCollector.SafeCollector> [primary] VALUE_PARAMETER name:collector index:0 type:.FlowCollector.SafeCollector> BLOCK_BODY @@ -194,7 +194,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt FUN name:flow visibility:public modality:FINAL (block:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1<.FlowCollector.flow>, kotlin.Unit>) returnType:.Flow.flow> annotations: OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalTypeInference modality:FINAL visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass]) - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:block index:0 type:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1<.FlowCollector.flow>, kotlin.Unit> annotations: BuilderInference @@ -204,7 +204,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt FUN name:flowScope visibility:public modality:FINAL (block:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1<.CoroutineScope, R of .flowScope>) returnType:R of .flowScope [suspend] annotations: OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalTypeInference modality:FINAL visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass]) - TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:block index:0 type:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1<.CoroutineScope, R of .flowScope> annotations: BuilderInference @@ -212,13 +212,13 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt RETURN type=kotlin.Nothing from='public final fun flowScope (block: @[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1<.CoroutineScope, R of .flowScope>): R of .flowScope [suspend] declared in ' CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin.StandardKt' type=kotlin.Nothing origin=null FUN name:collect visibility:public modality:FINAL ($receiver:.Flow.collect>, action:kotlin.coroutines.SuspendFunction1<@[ParameterName(name = 'value')] T of .collect, kotlin.Unit>) returnType:kotlin.Unit [inline,suspend] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.Flow.collect> VALUE_PARAMETER name:action index:0 type:kotlin.coroutines.SuspendFunction1<@[ParameterName(name = 'value')] T of .collect, kotlin.Unit> [crossinline] BLOCK_BODY CLASS CLASS name:ChannelCoroutine modality:OPEN visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ChannelCoroutine.ChannelCoroutine> - TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.ChannelCoroutine.ChannelCoroutine> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -257,7 +257,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:Flow modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Flow.Flow> - TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Any?] reified:false FUN name:collect visibility:public modality:ABSTRACT <> ($this:.Flow.Flow>, collector:.FlowCollector.Flow>) returnType:kotlin.Unit [suspend] $this: VALUE_PARAMETER name: type:.Flow.Flow> VALUE_PARAMETER name:collector index:0 type:.FlowCollector.Flow> @@ -276,7 +276,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:FlowCollector modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.FlowCollector.FlowCollector> - TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] reified:false FUN name:emit visibility:public modality:ABSTRACT <> ($this:.FlowCollector.FlowCollector>, value:T of .FlowCollector) returnType:kotlin.Unit [suspend] $this: VALUE_PARAMETER name: type:.FlowCollector.FlowCollector> VALUE_PARAMETER name:value index:0 type:T of .FlowCollector @@ -295,7 +295,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:ReceiveChannel modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ReceiveChannel.ReceiveChannel> - TYPE_PARAMETER name:E index:0 variance:out superTypes:[kotlin.Any?] + TYPE_PARAMETER name:E index:0 variance:out superTypes:[kotlin.Any?] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -312,7 +312,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt FUN name:produce visibility:public modality:FINAL ($receiver:.CoroutineScope, block:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1<.ProducerScope.produce>, kotlin.Unit>) returnType:.ReceiveChannel.produce> annotations: OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalTypeInference modality:FINAL visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass]) - TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.CoroutineScope VALUE_PARAMETER name:block index:0 type:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1<.ProducerScope.produce>, kotlin.Unit> annotations: @@ -322,7 +322,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin.StandardKt' type=kotlin.Nothing origin=null CLASS INTERFACE name:ProducerScope modality:ABSTRACT visibility:public superTypes:[.CoroutineScope; .SendChannel.ProducerScope>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ProducerScope.ProducerScope> - TYPE_PARAMETER name:E index:0 variance:in superTypes:[kotlin.Any?] + TYPE_PARAMETER name:E index:0 variance:in superTypes:[kotlin.Any?] reified:false PROPERTY name:channel visibility:public modality:ABSTRACT [val] FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.ProducerScope.ProducerScope>) returnType:.SendChannel.ProducerScope> correspondingProperty: PROPERTY name:channel visibility:public modality:ABSTRACT [val] @@ -350,7 +350,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt VALUE_PARAMETER name:e index:0 type:E of .ProducerScope CLASS INTERFACE name:SendChannel modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.SendChannel.SendChannel> - TYPE_PARAMETER name:E index:0 variance:in superTypes:[kotlin.Any?] + TYPE_PARAMETER name:E index:0 variance:in superTypes:[kotlin.Any?] reified:false FUN name:send visibility:public modality:ABSTRACT <> ($this:.SendChannel.SendChannel>, e:E of .SendChannel) returnType:kotlin.Unit [suspend] $this: VALUE_PARAMETER name: type:.SendChannel.SendChannel> VALUE_PARAMETER name:e index:0 type:E of .SendChannel diff --git a/compiler/testData/ir/irText/types/castsInsideCoroutineInference.ir.txt b/compiler/testData/ir/irText/types/castsInsideCoroutineInference.ir.txt index 5183bbf7c12..321b0684d3f 100644 --- a/compiler/testData/ir/irText/types/castsInsideCoroutineInference.ir.txt +++ b/compiler/testData/ir/irText/types/castsInsideCoroutineInference.ir.txt @@ -2,7 +2,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt FUN name:scopedFlow visibility:public modality:FINAL (block:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction2<.CoroutineScope, .FlowCollector.scopedFlow>, kotlin.Unit>) returnType:.Flow.scopedFlow> annotations: OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalTypeInference modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass]) - TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:block index:0 type:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction2<.CoroutineScope, .FlowCollector.scopedFlow>, kotlin.Unit> annotations: BuilderInference @@ -27,7 +27,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt p1: GET_VAR '$this$flowScope: .CoroutineScope declared in .scopedFlow..' type=.CoroutineScope origin=null p2: GET_VAR 'val collector: .FlowCollector.scopedFlow> [val] declared in .scopedFlow.' type=.FlowCollector.scopedFlow> origin=null FUN name:onCompletion visibility:public modality:FINAL ($receiver:.Flow.onCompletion>, action:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction2<.FlowCollector.onCompletion>, @[ParameterName(name = 'cause')] kotlin.Throwable?, kotlin.Unit>) returnType:.Flow.onCompletion> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.Flow.onCompletion> VALUE_PARAMETER name:action index:0 type:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction2<.FlowCollector.onCompletion>, @[ParameterName(name = 'cause')] kotlin.Throwable?, kotlin.Unit> BLOCK_BODY @@ -47,14 +47,14 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt $receiver: GET_VAR 'val safeCollector: .SafeCollector.onCompletion> [val] declared in .onCompletion.' type=.SafeCollector.onCompletion> origin=null action: GET_VAR 'action: @[ExtensionFunctionType] kotlin.coroutines.SuspendFunction2<.FlowCollector.onCompletion>, @[ParameterName(name = 'cause')] kotlin.Throwable?, kotlin.Unit> declared in .onCompletion' type=@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction2<.FlowCollector.onCompletion>, @[ParameterName(name = 'cause')] kotlin.Throwable?, kotlin.Unit> origin=null FUN name:invokeSafely visibility:public modality:FINAL ($receiver:.FlowCollector.invokeSafely>, action:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction2<.FlowCollector.invokeSafely>, @[ParameterName(name = 'cause')] kotlin.Throwable?, kotlin.Unit>) returnType:kotlin.Unit [suspend] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.FlowCollector.invokeSafely> VALUE_PARAMETER name:action index:0 type:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction2<.FlowCollector.invokeSafely>, @[ParameterName(name = 'cause')] kotlin.Throwable?, kotlin.Unit> BLOCK_BODY FUN name:unsafeFlow visibility:public modality:FINAL (block:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1<.FlowCollector.unsafeFlow>, kotlin.Unit>) returnType:.Flow.unsafeFlow> [inline] annotations: OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalTypeInference modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass]) - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:block index:0 type:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1<.FlowCollector.unsafeFlow>, kotlin.Unit> [crossinline] annotations: BuilderInference @@ -64,7 +64,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt FUN name:onCompletion visibility:public modality:FINAL ($receiver:.Flow.onCompletion>, action:kotlin.coroutines.SuspendFunction1<@[ParameterName(name = 'cause')] kotlin.Throwable?, kotlin.Unit>) returnType:.Flow.onCompletion> annotations: Deprecated(message = 'binary compatibility with a version w/o FlowCollector receiver', replaceWith = , level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:HIDDEN' type=kotlin.DeprecationLevel) - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.Flow.onCompletion> VALUE_PARAMETER name:action index:0 type:kotlin.coroutines.SuspendFunction1<@[ParameterName(name = 'cause')] kotlin.Throwable?, kotlin.Unit> BLOCK_BODY @@ -155,7 +155,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt then: GET_VAR 'val tmp_1: kotlin.Any? [val] declared in .asChannel..' type=kotlin.Any? origin=null CLASS CLASS name:SafeCollector modality:FINAL visibility:public superTypes:[.FlowCollector.SafeCollector>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.SafeCollector.SafeCollector> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (collector:.FlowCollector.SafeCollector>) returnType:.SafeCollector.SafeCollector> [primary] VALUE_PARAMETER name:collector index:0 type:.FlowCollector.SafeCollector> BLOCK_BODY @@ -194,7 +194,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt FUN name:flow visibility:public modality:FINAL (block:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1<.FlowCollector.flow>, kotlin.Unit>) returnType:.Flow.flow> annotations: OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalTypeInference modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass]) - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:block index:0 type:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1<.FlowCollector.flow>, kotlin.Unit> annotations: BuilderInference @@ -204,7 +204,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt FUN name:flowScope visibility:public modality:FINAL (block:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1<.CoroutineScope, R of .flowScope>) returnType:R of .flowScope [suspend] annotations: OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalTypeInference modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass]) - TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:block index:0 type:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1<.CoroutineScope, R of .flowScope> annotations: BuilderInference @@ -212,13 +212,13 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt RETURN type=kotlin.Nothing from='public final fun flowScope (block: @[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1<.CoroutineScope, R of .flowScope>): R of .flowScope [suspend] declared in ' CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin.StandardKt' type=kotlin.Nothing origin=null FUN name:collect visibility:public modality:FINAL ($receiver:.Flow.collect>, action:kotlin.coroutines.SuspendFunction1<@[ParameterName(name = 'value')] T of .collect, kotlin.Unit>) returnType:kotlin.Unit [inline,suspend] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.Flow.collect> VALUE_PARAMETER name:action index:0 type:kotlin.coroutines.SuspendFunction1<@[ParameterName(name = 'value')] T of .collect, kotlin.Unit> [crossinline] BLOCK_BODY CLASS CLASS name:ChannelCoroutine modality:OPEN visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ChannelCoroutine.ChannelCoroutine> - TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.ChannelCoroutine.ChannelCoroutine> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -257,7 +257,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:Flow modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Flow.Flow> - TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Any?] reified:false FUN name:collect visibility:public modality:ABSTRACT <> ($this:.Flow.Flow>, collector:.FlowCollector.Flow>) returnType:kotlin.Unit [suspend] $this: VALUE_PARAMETER name: type:.Flow.Flow> VALUE_PARAMETER name:collector index:0 type:.FlowCollector.Flow> @@ -276,7 +276,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:FlowCollector modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.FlowCollector.FlowCollector> - TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] reified:false FUN name:emit visibility:public modality:ABSTRACT <> ($this:.FlowCollector.FlowCollector>, value:T of .FlowCollector) returnType:kotlin.Unit [suspend] $this: VALUE_PARAMETER name: type:.FlowCollector.FlowCollector> VALUE_PARAMETER name:value index:0 type:T of .FlowCollector @@ -295,7 +295,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:ReceiveChannel modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ReceiveChannel.ReceiveChannel> - TYPE_PARAMETER name:E index:0 variance:out superTypes:[kotlin.Any?] + TYPE_PARAMETER name:E index:0 variance:out superTypes:[kotlin.Any?] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -312,7 +312,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt FUN name:produce visibility:public modality:FINAL ($receiver:.CoroutineScope, block:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1<.ProducerScope.produce>, kotlin.Unit>) returnType:.ReceiveChannel.produce> annotations: OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalTypeInference modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass]) - TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.CoroutineScope VALUE_PARAMETER name:block index:0 type:@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1<.ProducerScope.produce>, kotlin.Unit> annotations: @@ -322,7 +322,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin.StandardKt' type=kotlin.Nothing origin=null CLASS INTERFACE name:ProducerScope modality:ABSTRACT visibility:public superTypes:[.CoroutineScope; .SendChannel.ProducerScope>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ProducerScope.ProducerScope> - TYPE_PARAMETER name:E index:0 variance:in superTypes:[kotlin.Any?] + TYPE_PARAMETER name:E index:0 variance:in superTypes:[kotlin.Any?] reified:false PROPERTY name:channel visibility:public modality:ABSTRACT [val] FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.ProducerScope.ProducerScope>) returnType:.SendChannel.ProducerScope> correspondingProperty: PROPERTY name:channel visibility:public modality:ABSTRACT [val] @@ -350,7 +350,7 @@ FILE fqName: fileName:/castsInsideCoroutineInference.kt VALUE_PARAMETER name:e index:0 type:E of .ProducerScope CLASS INTERFACE name:SendChannel modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.SendChannel.SendChannel> - TYPE_PARAMETER name:E index:0 variance:in superTypes:[kotlin.Any?] + TYPE_PARAMETER name:E index:0 variance:in superTypes:[kotlin.Any?] reified:false FUN name:send visibility:public modality:ABSTRACT <> ($this:.SendChannel.SendChannel>, e:E of .SendChannel) returnType:kotlin.Unit [suspend] $this: VALUE_PARAMETER name: type:.SendChannel.SendChannel> VALUE_PARAMETER name:e index:0 type:E of .SendChannel diff --git a/compiler/testData/ir/irText/types/definitelyNonNull.fir.ir.txt b/compiler/testData/ir/irText/types/definitelyNonNull.fir.ir.txt index 802ae35bf24..ab8bdb01a22 100644 --- a/compiler/testData/ir/irText/types/definitelyNonNull.fir.ir.txt +++ b/compiler/testData/ir/irText/types/definitelyNonNull.fir.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/definitelyNonNull.kt FUN name:elvisLike visibility:public modality:FINAL (x:T of .elvisLike, y:{T of .elvisLike & Any}) returnType:{T of .elvisLike & Any} - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:x index:0 type:T of .elvisLike VALUE_PARAMETER name:y index:1 type:{T of .elvisLike & Any} BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/definitelyNonNull.ir.txt b/compiler/testData/ir/irText/types/definitelyNonNull.ir.txt index b7ecf07b840..6fcc7d46c1e 100644 --- a/compiler/testData/ir/irText/types/definitelyNonNull.ir.txt +++ b/compiler/testData/ir/irText/types/definitelyNonNull.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/definitelyNonNull.kt FUN name:elvisLike visibility:public modality:FINAL (x:T of .elvisLike, y:{T of .elvisLike & Any}) returnType:{T of .elvisLike & Any} - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:x index:0 type:T of .elvisLike VALUE_PARAMETER name:y index:1 type:{T of .elvisLike & Any} BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/definitelyNonNullOverride.fir.ir.txt b/compiler/testData/ir/irText/types/definitelyNonNullOverride.fir.ir.txt index ebeb1707528..7231d1c09dc 100644 --- a/compiler/testData/ir/irText/types/definitelyNonNullOverride.fir.ir.txt +++ b/compiler/testData/ir/irText/types/definitelyNonNullOverride.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/definitelyNonNullOverride.kt CLASS CLASS name:B modality:OPEN visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.B.B> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -19,7 +19,7 @@ FILE fqName: fileName:/definitelyNonNullOverride.kt VALUE_PARAMETER name:b index:0 type:.B.B> BLOCK_BODY FUN name:six visibility:public modality:OPEN ($this:.B.B>, t:T of .B, q:F of .B.six) returnType:kotlin.Unit - TYPE_PARAMETER name:F index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:F index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.B.B> VALUE_PARAMETER name:t index:0 type:T of .B VALUE_PARAMETER name:q index:1 type:F of .B.six @@ -39,7 +39,7 @@ FILE fqName: fileName:/definitelyNonNullOverride.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.B<{T of .D & Any}>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D.D> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.D.D> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .B' @@ -64,7 +64,7 @@ FILE fqName: fileName:/definitelyNonNullOverride.kt FUN FAKE_OVERRIDE name:six visibility:public modality:OPEN ($this:.B.B>, t:{T of .D & Any}, q:F of .D.six) returnType:kotlin.Unit [fake_override] overridden: public open fun six (t: T of .B, q: F of .B.six): kotlin.Unit declared in .B - TYPE_PARAMETER name:F index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:F index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.B.B> VALUE_PARAMETER name:t index:0 type:{T of .D & Any} VALUE_PARAMETER name:q index:1 type:F of .D.six diff --git a/compiler/testData/ir/irText/types/definitelyNonNullOverride.ir.txt b/compiler/testData/ir/irText/types/definitelyNonNullOverride.ir.txt index f8183044000..8ba7c8d1e09 100644 --- a/compiler/testData/ir/irText/types/definitelyNonNullOverride.ir.txt +++ b/compiler/testData/ir/irText/types/definitelyNonNullOverride.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/definitelyNonNullOverride.kt CLASS CLASS name:B modality:OPEN visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.B.B> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -19,7 +19,7 @@ FILE fqName: fileName:/definitelyNonNullOverride.kt VALUE_PARAMETER name:b index:0 type:.B.B> BLOCK_BODY FUN name:six visibility:public modality:OPEN ($this:.B.B>, t:T of .B, q:F of .B.six) returnType:kotlin.Unit - TYPE_PARAMETER name:F index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:F index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.B.B> VALUE_PARAMETER name:t index:0 type:T of .B VALUE_PARAMETER name:q index:1 type:F of .B.six @@ -39,7 +39,7 @@ FILE fqName: fileName:/definitelyNonNullOverride.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.B<{T of .D & Any}>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D.D> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.D.D> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .B' @@ -64,7 +64,7 @@ FILE fqName: fileName:/definitelyNonNullOverride.kt FUN FAKE_OVERRIDE name:six visibility:public modality:OPEN ($this:.B<{T of .D & Any}>, t:{T of .D & Any}, q:F of .D.six) returnType:kotlin.Unit [fake_override] overridden: public open fun six (t: T of .B, q: F of .B.six): kotlin.Unit declared in .B - TYPE_PARAMETER name:F index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:F index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.B<{T of .D & Any}> VALUE_PARAMETER name:t index:0 type:{T of .D & Any} VALUE_PARAMETER name:q index:1 type:F of .D.six diff --git a/compiler/testData/ir/irText/types/definitelyNonNullSAM.fir.ir.txt b/compiler/testData/ir/irText/types/definitelyNonNullSAM.fir.ir.txt index 63d6a729b03..0efde79f2e9 100644 --- a/compiler/testData/ir/irText/types/definitelyNonNullSAM.fir.ir.txt +++ b/compiler/testData/ir/irText/types/definitelyNonNullSAM.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/definitelyNonNullSAM.kt CLASS INTERFACE name:FIn modality:ABSTRACT visibility:public [fun] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.FIn.FIn> - TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] reified:false FUN name:f visibility:public modality:ABSTRACT <> ($this:.FIn.FIn>, x:T of .FIn) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.FIn.FIn> VALUE_PARAMETER name:x index:0 type:T of .FIn @@ -20,7 +20,7 @@ FILE fqName: fileName:/definitelyNonNullSAM.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test.Test> - TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.Test.Test> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -51,7 +51,7 @@ FILE fqName: fileName:/definitelyNonNullSAM.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:bar visibility:public modality:FINAL () returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit BLOCK type=.bar..bar> origin=OBJECT_LITERAL @@ -86,7 +86,7 @@ FILE fqName: fileName:/definitelyNonNullSAM.kt CONSTRUCTOR_CALL 'private constructor () [primary] declared in .bar.' type=.bar..bar> origin=OBJECT_LITERAL CLASS INTERFACE name:I1 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I1.I1> - TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] reified:false PROPERTY name:l visibility:public modality:ABSTRACT [val] FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.I1.I1>) returnType:@[ExtensionFunctionType] kotlin.Function1.I1, kotlin.Unit> correspondingProperty: PROPERTY name:l visibility:public modality:ABSTRACT [val] @@ -106,7 +106,7 @@ FILE fqName: fileName:/definitelyNonNullSAM.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:I2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I2.I2> - TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] reified:false PROPERTY name:sam visibility:public modality:ABSTRACT [val] FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.I2.I2>) returnType:.FIn.I2> correspondingProperty: PROPERTY name:sam visibility:public modality:ABSTRACT [val] @@ -126,7 +126,7 @@ FILE fqName: fileName:/definitelyNonNullSAM.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:AC modality:ABSTRACT visibility:public superTypes:[.I1.AC>; .I2.AC>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AC.AC> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.AC.AC> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -174,7 +174,7 @@ FILE fqName: fileName:/definitelyNonNullSAM.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:AD modality:ABSTRACT visibility:public superTypes:[.AC<{T of .AD & Any}>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AD.AD> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.AD.AD> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .AC' diff --git a/compiler/testData/ir/irText/types/definitelyNonNullSAM.ir.txt b/compiler/testData/ir/irText/types/definitelyNonNullSAM.ir.txt index 2618ea8933f..0d2e0ffe284 100644 --- a/compiler/testData/ir/irText/types/definitelyNonNullSAM.ir.txt +++ b/compiler/testData/ir/irText/types/definitelyNonNullSAM.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/definitelyNonNullSAM.kt CLASS INTERFACE name:FIn modality:ABSTRACT visibility:public [fun] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.FIn.FIn> - TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] reified:false FUN name:f visibility:public modality:ABSTRACT <> ($this:.FIn.FIn>, x:T of .FIn) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.FIn.FIn> VALUE_PARAMETER name:x index:0 type:T of .FIn @@ -20,7 +20,7 @@ FILE fqName: fileName:/definitelyNonNullSAM.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test.Test> - TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.Test.Test> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -51,7 +51,7 @@ FILE fqName: fileName:/definitelyNonNullSAM.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:bar visibility:public modality:FINAL () returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit BLOCK type=.bar..bar> origin=OBJECT_LITERAL @@ -86,7 +86,7 @@ FILE fqName: fileName:/definitelyNonNullSAM.kt CONSTRUCTOR_CALL 'public constructor () [primary] declared in .bar.' type=.bar..bar> origin=OBJECT_LITERAL CLASS INTERFACE name:I1 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I1.I1> - TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] reified:false PROPERTY name:l visibility:public modality:ABSTRACT [val] FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.I1.I1>) returnType:@[ExtensionFunctionType] kotlin.Function1.I1, kotlin.Unit> correspondingProperty: PROPERTY name:l visibility:public modality:ABSTRACT [val] @@ -106,7 +106,7 @@ FILE fqName: fileName:/definitelyNonNullSAM.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:I2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I2.I2> - TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] reified:false PROPERTY name:sam visibility:public modality:ABSTRACT [val] FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.I2.I2>) returnType:.FIn.I2> correspondingProperty: PROPERTY name:sam visibility:public modality:ABSTRACT [val] @@ -126,7 +126,7 @@ FILE fqName: fileName:/definitelyNonNullSAM.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:AC modality:ABSTRACT visibility:public superTypes:[.I1.AC>; .I2.AC>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AC.AC> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.AC.AC> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -174,7 +174,7 @@ FILE fqName: fileName:/definitelyNonNullSAM.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:AD modality:ABSTRACT visibility:public superTypes:[.AC<{T of .AD & Any}>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AD.AD> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.AD.AD> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .AC' diff --git a/compiler/testData/ir/irText/types/definitelyNonNullWithJava.fir.ir.txt b/compiler/testData/ir/irText/types/definitelyNonNullWithJava.fir.ir.txt index e7768827a97..a46e405d603 100644 --- a/compiler/testData/ir/irText/types/definitelyNonNullWithJava.fir.ir.txt +++ b/compiler/testData/ir/irText/types/definitelyNonNullWithJava.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/main.kt CLASS INTERFACE name:B modality:ABSTRACT visibility:public superTypes:[.A.B>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> - TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false FUN name:foo visibility:public modality:ABSTRACT <> ($this:.B.B>, x:T1 of .B) returnType:T1 of .B overridden: public abstract fun foo (x: @[FlexibleNullability] T of .A?): @[FlexibleNullability] T of .A? declared in .A diff --git a/compiler/testData/ir/irText/types/definitelyNonNullWithJava.ir.txt b/compiler/testData/ir/irText/types/definitelyNonNullWithJava.ir.txt index 5d18811e873..ae06f5d6816 100644 --- a/compiler/testData/ir/irText/types/definitelyNonNullWithJava.ir.txt +++ b/compiler/testData/ir/irText/types/definitelyNonNullWithJava.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/main.kt CLASS INTERFACE name:B modality:ABSTRACT visibility:public superTypes:[.A.B>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> - TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false FUN name:foo visibility:public modality:ABSTRACT <> ($this:.B.B>, x:T1 of .B) returnType:T1 of .B overridden: public abstract fun foo (x: @[FlexibleNullability] T of .A?): @[FlexibleNullability] T of .A? declared in .A diff --git a/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.fir.ir.txt b/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.fir.ir.txt index 4b0f2475df3..9dd064ae834 100644 --- a/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.fir.ir.txt +++ b/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/definitelyNotNullAsArgument.kt CLASS INTERFACE name:I modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I.I> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false FUN name:input visibility:public modality:ABSTRACT <> ($this:.I.I>, t:T of .I) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.I.I> VALUE_PARAMETER name:t index:0 type:T of .I @@ -21,7 +21,7 @@ FILE fqName: fileName:/definitelyNotNullAsArgument.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:foo visibility:public modality:FINAL (i:.I<{T of .foo & Any}>) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:i index:0 type:.I<{T of .foo & Any}> BLOCK_BODY CALL 'public abstract fun input (t: T of .I): kotlin.Unit declared in .I' type=kotlin.Unit origin=null @@ -29,14 +29,14 @@ FILE fqName: fileName:/definitelyNotNullAsArgument.kt t: CALL 'public abstract fun output (): T of .I declared in .I' type={T of .foo & Any} origin=null $this: GET_VAR 'i: .I<{T of .foo & Any}> declared in .foo' type=.I<{T of .foo & Any}> origin=null FUN name:bar visibility:public modality:FINAL (i:.I.bar & Any}>) returnType:{T of .bar & Any} - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:i index:0 type:.I.bar & Any}> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun bar (i: .I.bar & Any}>): {T of .bar & Any} declared in ' CALL 'public abstract fun output (): T of .I declared in .I' type={T of .bar & Any} origin=null $this: GET_VAR 'i: .I.bar & Any}> declared in .bar' type=.I.bar & Any}> origin=null FUN name:qux visibility:public modality:FINAL (t:T of .qux, i:.I.qux & Any}>) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:t index:0 type:T of .qux VALUE_PARAMETER name:i index:1 type:.I.qux & Any}> BLOCK_BODY @@ -47,7 +47,7 @@ FILE fqName: fileName:/definitelyNotNullAsArgument.kt arg0: GET_VAR 't: T of .qux declared in .qux' type=T of .qux origin=null CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.I<{TT of .C & Any}>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> - TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (t:TT of .C) returnType:.C.C> [primary] VALUE_PARAMETER name:t index:0 type:TT of .C BLOCK_BODY @@ -94,8 +94,8 @@ FILE fqName: fileName:/definitelyNotNullAsArgument.kt public open fun toString (): kotlin.String [fake_override] declared in .I $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:foo2 visibility:public modality:FINAL (p1:T1 of .foo2, p2:T2 of .foo2) returnType:kotlin.Unit - TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:T2 index:1 variance: superTypes:[.I<{T1 of .foo2 & Any}>] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:T2 index:1 variance: superTypes:[.I<{T1 of .foo2 & Any}>] reified:false VALUE_PARAMETER name:p1 index:0 type:T1 of .foo2 VALUE_PARAMETER name:p2 index:1 type:T2 of .foo2 BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.ir.txt b/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.ir.txt index 3ef8a29b9a1..f8a27db8be3 100644 --- a/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.ir.txt +++ b/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/definitelyNotNullAsArgument.kt CLASS INTERFACE name:I modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I.I> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false FUN name:input visibility:public modality:ABSTRACT <> ($this:.I.I>, t:T of .I) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.I.I> VALUE_PARAMETER name:t index:0 type:T of .I @@ -21,7 +21,7 @@ FILE fqName: fileName:/definitelyNotNullAsArgument.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:foo visibility:public modality:FINAL (i:.I<{T of .foo & Any}>) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:i index:0 type:.I<{T of .foo & Any}> BLOCK_BODY CALL 'public abstract fun input (t: T of .I): kotlin.Unit declared in .I' type=kotlin.Unit origin=null @@ -29,14 +29,14 @@ FILE fqName: fileName:/definitelyNotNullAsArgument.kt t: CALL 'public abstract fun output (): T of .I declared in .I' type={T of .foo & Any} origin=null $this: GET_VAR 'i: .I<{T of .foo & Any}> declared in .foo' type=.I<{T of .foo & Any}> origin=null FUN name:bar visibility:public modality:FINAL (i:.I.bar & Any}>) returnType:{T of .bar & Any} - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:i index:0 type:.I.bar & Any}> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun bar (i: .I.bar & Any}>): {T of .bar & Any} declared in ' CALL 'public abstract fun output (): T of .I declared in .I' type={T of .bar & Any} origin=null $this: GET_VAR 'i: .I.bar & Any}> declared in .bar' type=.I.bar & Any}> origin=null FUN name:qux visibility:public modality:FINAL (t:T of .qux, i:.I.qux & Any}>) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:t index:0 type:T of .qux VALUE_PARAMETER name:i index:1 type:.I.qux & Any}> BLOCK_BODY @@ -47,7 +47,7 @@ FILE fqName: fileName:/definitelyNotNullAsArgument.kt arg0: GET_VAR 't: T of .qux declared in .qux' type=T of .qux origin=null CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.I<{TT of .C & Any}>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> - TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (t:TT of .C) returnType:.C.C> [primary] VALUE_PARAMETER name:t index:0 type:TT of .C BLOCK_BODY @@ -94,8 +94,8 @@ FILE fqName: fileName:/definitelyNotNullAsArgument.kt public open fun toString (): kotlin.String [fake_override] declared in .I $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:foo2 visibility:public modality:FINAL (p1:T1 of .foo2, p2:T2 of .foo2) returnType:kotlin.Unit - TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:T2 index:1 variance: superTypes:[.I<{T1 of .foo2 & Any}>] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:T2 index:1 variance: superTypes:[.I<{T1 of .foo2 & Any}>] reified:false VALUE_PARAMETER name:p1 index:0 type:T1 of .foo2 VALUE_PARAMETER name:p2 index:1 type:T2 of .foo2 BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/definitelyNotNullAsReceiver.ir.txt b/compiler/testData/ir/irText/types/definitelyNotNullAsReceiver.ir.txt index 18522413d65..c626c8d8bb3 100644 --- a/compiler/testData/ir/irText/types/definitelyNotNullAsReceiver.ir.txt +++ b/compiler/testData/ir/irText/types/definitelyNotNullAsReceiver.ir.txt @@ -1,10 +1,10 @@ FILE fqName: fileName:/definitelyNotNullAsReceiver.kt FUN name:foo visibility:public modality:FINAL ($receiver:{T of .foo & Any}) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:{T of .foo & Any} BLOCK_BODY FUN name:foo visibility:public modality:FINAL (l:kotlin.Function1<{T of .foo & Any}, kotlin.Unit>) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:l index:0 type:kotlin.Function1<{T of .foo & Any}, kotlin.Unit> BLOCK_BODY FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.Unit diff --git a/compiler/testData/ir/irText/types/definitelyNotNullWithIntersection1.fir.ir.txt b/compiler/testData/ir/irText/types/definitelyNotNullWithIntersection1.fir.ir.txt index b660d11c090..6fff4d4dc64 100644 --- a/compiler/testData/ir/irText/types/definitelyNotNullWithIntersection1.fir.ir.txt +++ b/compiler/testData/ir/irText/types/definitelyNotNullWithIntersection1.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/definitelyNotNullWithIntersection1.kt CLASS CLASS name:In modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.In.In> - TYPE_PARAMETER name:I index:0 variance:in superTypes:[kotlin.Any?] + TYPE_PARAMETER name:I index:0 variance:in superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.In.In> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -20,7 +20,7 @@ FILE fqName: fileName:/definitelyNotNullWithIntersection1.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:select visibility:public modality:FINAL (x:S of .select, y:S of .select, z:S of .select) returnType:S of .select - TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:x index:0 type:S of .select VALUE_PARAMETER name:y index:1 type:S of .select VALUE_PARAMETER name:z index:2 type:S of .select @@ -28,7 +28,7 @@ FILE fqName: fileName:/definitelyNotNullWithIntersection1.kt RETURN type=kotlin.Nothing from='public final fun select (x: S of .select, y: S of .select, z: S of .select): S of .select declared in ' GET_VAR 'x: S of .select declared in .select' type=S of .select origin=null FUN name:foo visibility:public modality:FINAL (a:kotlin.Array<.In<{T of .foo & Any}>>, b:kotlin.Array<.In>, c:kotlin.Array<.In.foo>>) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:a index:0 type:kotlin.Array<.In<{T of .foo & Any}>> VALUE_PARAMETER name:b index:1 type:kotlin.Array<.In> VALUE_PARAMETER name:c index:2 type:kotlin.Array<.In.foo>> @@ -45,7 +45,7 @@ FILE fqName: fileName:/definitelyNotNullWithIntersection1.kt index: CONST Int type=kotlin.Int value=0 y: CONST Boolean type=kotlin.Boolean value=true FUN name:ofType visibility:public modality:FINAL ($receiver:.In.ofType>, y:kotlin.Any?) returnType:kotlin.Boolean [inline] - TYPE_PARAMETER name:K index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:K index:0 variance: superTypes:[kotlin.Any?] reified:true $receiver: VALUE_PARAMETER name: type:.In.ofType> VALUE_PARAMETER name:y index:0 type:kotlin.Any? BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/definitelyNotNullWithIntersection1.ir.txt b/compiler/testData/ir/irText/types/definitelyNotNullWithIntersection1.ir.txt index 42e5c37bc4b..3bc6e233ba3 100644 --- a/compiler/testData/ir/irText/types/definitelyNotNullWithIntersection1.ir.txt +++ b/compiler/testData/ir/irText/types/definitelyNotNullWithIntersection1.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/definitelyNotNullWithIntersection1.kt CLASS CLASS name:In modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.In.In> - TYPE_PARAMETER name:I index:0 variance:in superTypes:[kotlin.Any?] + TYPE_PARAMETER name:I index:0 variance:in superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.In.In> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -20,7 +20,7 @@ FILE fqName: fileName:/definitelyNotNullWithIntersection1.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:select visibility:public modality:FINAL (x:S of .select, y:S of .select, z:S of .select) returnType:S of .select - TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:x index:0 type:S of .select VALUE_PARAMETER name:y index:1 type:S of .select VALUE_PARAMETER name:z index:2 type:S of .select @@ -28,7 +28,7 @@ FILE fqName: fileName:/definitelyNotNullWithIntersection1.kt RETURN type=kotlin.Nothing from='public final fun select (x: S of .select, y: S of .select, z: S of .select): S of .select declared in ' GET_VAR 'x: S of .select declared in .select' type=S of .select origin=null FUN name:foo visibility:public modality:FINAL (a:kotlin.Array<.In<{T of .foo & Any}>>, b:kotlin.Array<.In>, c:kotlin.Array<.In.foo>>) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:a index:0 type:kotlin.Array<.In<{T of .foo & Any}>> VALUE_PARAMETER name:b index:1 type:kotlin.Array<.In> VALUE_PARAMETER name:c index:2 type:kotlin.Array<.In.foo>> @@ -45,7 +45,7 @@ FILE fqName: fileName:/definitelyNotNullWithIntersection1.kt index: CONST Int type=kotlin.Int value=0 y: CONST Boolean type=kotlin.Boolean value=true FUN name:ofType visibility:public modality:FINAL ($receiver:.In.ofType>, y:kotlin.Any?) returnType:kotlin.Boolean [inline] - TYPE_PARAMETER name:K index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:K index:0 variance: superTypes:[kotlin.Any?] reified:true $receiver: VALUE_PARAMETER name: type:.In.ofType> VALUE_PARAMETER name:y index:0 type:kotlin.Any? BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/genericDelegatedDeepProperty.fir.ir.txt b/compiler/testData/ir/irText/types/genericDelegatedDeepProperty.fir.ir.txt index 3dfd00798d5..8dc83738a35 100644 --- a/compiler/testData/ir/irText/types/genericDelegatedDeepProperty.fir.ir.txt +++ b/compiler/testData/ir/irText/types/genericDelegatedDeepProperty.fir.ir.txt @@ -1,8 +1,8 @@ FILE fqName: fileName:/genericDelegatedDeepProperty.kt CLASS CLASS name:Value modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Value.Value, IT of .Value> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:IT index:1 variance: superTypes:[.IR.Value>] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:IT index:1 variance: superTypes:[.IR.Value>] reified:false CONSTRUCTOR visibility:public <> (value1:T of .Value, value2:IT of .Value) returnType:.Value.Value, IT of .Value> [primary] VALUE_PARAMETER name:value1 index:0 type:T of .Value VALUE_PARAMETER name:value2 index:1 type:IT of .Value @@ -54,8 +54,8 @@ FILE fqName: fileName:/genericDelegatedDeepProperty.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:IDelegate1 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IDelegate1.IDelegate1, R1 of .IDelegate1> - TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:R1 index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:R1 index:1 variance: superTypes:[kotlin.Any?] reified:false FUN name:getValue visibility:public modality:ABSTRACT <> ($this:.IDelegate1.IDelegate1, R1 of .IDelegate1>, t:T1 of .IDelegate1, p:kotlin.reflect.KProperty<*>) returnType:R1 of .IDelegate1 [operator] $this: VALUE_PARAMETER name: type:.IDelegate1.IDelegate1, R1 of .IDelegate1> VALUE_PARAMETER name:t index:0 type:T1 of .IDelegate1 @@ -75,8 +75,8 @@ FILE fqName: fileName:/genericDelegatedDeepProperty.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:IDelegate2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IDelegate2.IDelegate2, R2 of .IDelegate2> - TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:R2 index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:R2 index:1 variance: superTypes:[kotlin.Any?] reified:false FUN name:getValue visibility:public modality:ABSTRACT <> ($this:.IDelegate2.IDelegate2, R2 of .IDelegate2>, t:T2 of .IDelegate2, p:kotlin.reflect.KProperty<*>) returnType:R2 of .IDelegate2 [operator] $this: VALUE_PARAMETER name: type:.IDelegate2.IDelegate2, R2 of .IDelegate2> VALUE_PARAMETER name:t index:0 type:T2 of .IDelegate2 @@ -96,7 +96,7 @@ FILE fqName: fileName:/genericDelegatedDeepProperty.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:IR modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IR.IR> - TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IR.IR>) returnType:R of .IR $this: VALUE_PARAMETER name: type:.IR.IR> FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] @@ -114,7 +114,7 @@ FILE fqName: fileName:/genericDelegatedDeepProperty.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:CR modality:FINAL visibility:public superTypes:[.IR.CR>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CR.CR> - TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (r:R of .CR) returnType:.CR.CR> [primary] VALUE_PARAMETER name:r index:0 type:R of .CR BLOCK_BODY @@ -154,8 +154,8 @@ FILE fqName: fileName:/genericDelegatedDeepProperty.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:P modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.P.P, P2 of .P> - TYPE_PARAMETER name:P1 index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:P2 index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:P1 index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:P2 index:1 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (p1:P1 of .P, p2:P2 of .P) returnType:.P.P, P2 of .P> [primary] VALUE_PARAMETER name:p1 index:0 type:P1 of .P VALUE_PARAMETER name:p2 index:1 type:P2 of .P @@ -208,14 +208,14 @@ FILE fqName: fileName:/genericDelegatedDeepProperty.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[.IDelegate1<.Value., .CR.>>, .P., T of .>>]' FUN name:qux11 visibility:public modality:FINAL ($this:.additionalText$delegate..>, t:F11T of .additionalText$delegate..qux11) returnType:F11T of .additionalText$delegate..qux11 - TYPE_PARAMETER name:F11T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:F11T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.additionalText$delegate..> VALUE_PARAMETER name:t index:0 type:F11T of .additionalText$delegate..qux11 BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun qux11 (t: F11T of .additionalText$delegate..qux11): F11T of .additionalText$delegate..qux11 declared in .additionalText$delegate.' GET_VAR 't: F11T of .additionalText$delegate..qux11 declared in .additionalText$delegate..qux11' type=F11T of .additionalText$delegate..qux11 origin=null FUN name:qux12 visibility:public modality:FINAL ($this:.additionalText$delegate..>, t:F12T of .additionalText$delegate..qux12) returnType:T of . - TYPE_PARAMETER name:F12T index:0 variance: superTypes:[.IR.>] + TYPE_PARAMETER name:F12T index:0 variance: superTypes:[.IR.>] reified:false $this: VALUE_PARAMETER name: type:.additionalText$delegate..> VALUE_PARAMETER name:t index:0 type:F12T of .additionalText$delegate..qux12 BLOCK_BODY @@ -243,14 +243,14 @@ FILE fqName: fileName:/genericDelegatedDeepProperty.kt CALL 'public final fun (): T of .Value declared in .Value' type=T of . origin=GET_PROPERTY $this: GET_VAR 't: .Value., .CR.>> declared in .additionalText$delegate..deepO$delegate..getValue' type=.Value., .CR.>> origin=null FUN name:qux21 visibility:public modality:FINAL ($this:.additionalText$delegate..deepO$delegate..>, t:F21T of .additionalText$delegate..deepO$delegate..qux21) returnType:F21T of .additionalText$delegate..deepO$delegate..qux21 - TYPE_PARAMETER name:F21T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:F21T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.additionalText$delegate..deepO$delegate..> VALUE_PARAMETER name:t index:0 type:F21T of .additionalText$delegate..deepO$delegate..qux21 BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun qux21 (t: F21T of .additionalText$delegate..deepO$delegate..qux21): F21T of .additionalText$delegate..deepO$delegate..qux21 declared in .additionalText$delegate..deepO$delegate.' GET_VAR 't: F21T of .additionalText$delegate..deepO$delegate..qux21 declared in .additionalText$delegate..deepO$delegate..qux21' type=F21T of .additionalText$delegate..deepO$delegate..qux21 origin=null FUN name:qux22 visibility:public modality:FINAL ($this:.additionalText$delegate..deepO$delegate..>, t:F22T of .additionalText$delegate..deepO$delegate..qux22) returnType:T of . - TYPE_PARAMETER name:F22T index:0 variance: superTypes:[.IR.>] + TYPE_PARAMETER name:F22T index:0 variance: superTypes:[.IR.>] reified:false $this: VALUE_PARAMETER name: type:.additionalText$delegate..deepO$delegate..> VALUE_PARAMETER name:t index:0 type:F22T of .additionalText$delegate..deepO$delegate..qux22 BLOCK_BODY @@ -363,7 +363,7 @@ FILE fqName: fileName:/genericDelegatedDeepProperty.kt CONSTRUCTOR_CALL 'private constructor () [primary] declared in .additionalText$delegate.' type=.additionalText$delegate..> origin=OBJECT_LITERAL FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL ($receiver:.Value., .CR.>>) returnType:.P., T of .> correspondingProperty: PROPERTY name:additionalText visibility:public modality:FINAL [delegated,val] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.Value., .CR.>> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): .P., T of .> declared in ' diff --git a/compiler/testData/ir/irText/types/genericDelegatedDeepProperty.ir.txt b/compiler/testData/ir/irText/types/genericDelegatedDeepProperty.ir.txt index 56a5e1fb95f..855796e757c 100644 --- a/compiler/testData/ir/irText/types/genericDelegatedDeepProperty.ir.txt +++ b/compiler/testData/ir/irText/types/genericDelegatedDeepProperty.ir.txt @@ -1,8 +1,8 @@ FILE fqName: fileName:/genericDelegatedDeepProperty.kt CLASS CLASS name:Value modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Value.Value, IT of .Value> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:IT index:1 variance: superTypes:[.IR.Value>] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:IT index:1 variance: superTypes:[.IR.Value>] reified:false CONSTRUCTOR visibility:public <> (value1:T of .Value, value2:IT of .Value) returnType:.Value.Value, IT of .Value> [primary] VALUE_PARAMETER name:value1 index:0 type:T of .Value VALUE_PARAMETER name:value2 index:1 type:IT of .Value @@ -54,8 +54,8 @@ FILE fqName: fileName:/genericDelegatedDeepProperty.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:IDelegate1 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IDelegate1.IDelegate1, R1 of .IDelegate1> - TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:R1 index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:R1 index:1 variance: superTypes:[kotlin.Any?] reified:false FUN name:getValue visibility:public modality:ABSTRACT <> ($this:.IDelegate1.IDelegate1, R1 of .IDelegate1>, t:T1 of .IDelegate1, p:kotlin.reflect.KProperty<*>) returnType:R1 of .IDelegate1 [operator] $this: VALUE_PARAMETER name: type:.IDelegate1.IDelegate1, R1 of .IDelegate1> VALUE_PARAMETER name:t index:0 type:T1 of .IDelegate1 @@ -75,8 +75,8 @@ FILE fqName: fileName:/genericDelegatedDeepProperty.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:IDelegate2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IDelegate2.IDelegate2, R2 of .IDelegate2> - TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:R2 index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:R2 index:1 variance: superTypes:[kotlin.Any?] reified:false FUN name:getValue visibility:public modality:ABSTRACT <> ($this:.IDelegate2.IDelegate2, R2 of .IDelegate2>, t:T2 of .IDelegate2, p:kotlin.reflect.KProperty<*>) returnType:R2 of .IDelegate2 [operator] $this: VALUE_PARAMETER name: type:.IDelegate2.IDelegate2, R2 of .IDelegate2> VALUE_PARAMETER name:t index:0 type:T2 of .IDelegate2 @@ -96,7 +96,7 @@ FILE fqName: fileName:/genericDelegatedDeepProperty.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:IR modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IR.IR> - TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IR.IR>) returnType:R of .IR $this: VALUE_PARAMETER name: type:.IR.IR> FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] @@ -114,7 +114,7 @@ FILE fqName: fileName:/genericDelegatedDeepProperty.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:CR modality:FINAL visibility:public superTypes:[.IR.CR>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CR.CR> - TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (r:R of .CR) returnType:.CR.CR> [primary] VALUE_PARAMETER name:r index:0 type:R of .CR BLOCK_BODY @@ -154,8 +154,8 @@ FILE fqName: fileName:/genericDelegatedDeepProperty.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:P modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.P.P, P2 of .P> - TYPE_PARAMETER name:P1 index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:P2 index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:P1 index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:P2 index:1 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (p1:P1 of .P, p2:P2 of .P) returnType:.P.P, P2 of .P> [primary] VALUE_PARAMETER name:p1 index:0 type:P1 of .P VALUE_PARAMETER name:p2 index:1 type:P2 of .P @@ -208,14 +208,14 @@ FILE fqName: fileName:/genericDelegatedDeepProperty.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[.IDelegate1<.Value.CR>, .P>]' FUN name:qux11 visibility:public modality:FINAL ($this:.additionalText$delegate., t:F11T of .additionalText$delegate..qux11) returnType:F11T of .additionalText$delegate..qux11 - TYPE_PARAMETER name:F11T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:F11T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.additionalText$delegate. VALUE_PARAMETER name:t index:0 type:F11T of .additionalText$delegate..qux11 BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun qux11 (t: F11T of .additionalText$delegate..qux11): F11T of .additionalText$delegate..qux11 declared in .additionalText$delegate.' GET_VAR 't: F11T of .additionalText$delegate..qux11 declared in .additionalText$delegate..qux11' type=F11T of .additionalText$delegate..qux11 origin=null FUN name:qux12 visibility:public modality:FINAL ($this:.additionalText$delegate., t:F12T of .additionalText$delegate..qux12) returnType:kotlin.Any? - TYPE_PARAMETER name:F12T index:0 variance: superTypes:[.IR] + TYPE_PARAMETER name:F12T index:0 variance: superTypes:[.IR] reified:false $this: VALUE_PARAMETER name: type:.additionalText$delegate. VALUE_PARAMETER name:t index:0 type:F12T of .additionalText$delegate..qux12 BLOCK_BODY @@ -245,14 +245,14 @@ FILE fqName: fileName:/genericDelegatedDeepProperty.kt CALL 'public final fun (): T of .Value declared in .Value' type=kotlin.Any? origin=GET_PROPERTY $this: GET_VAR 't: .Value.CR> declared in .additionalText$delegate..deepO$delegate..getValue' type=.Value.CR> origin=null FUN name:qux21 visibility:public modality:FINAL ($this:.additionalText$delegate..deepO$delegate., t:F21T of .additionalText$delegate..deepO$delegate..qux21) returnType:F21T of .additionalText$delegate..deepO$delegate..qux21 - TYPE_PARAMETER name:F21T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:F21T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.additionalText$delegate..deepO$delegate. VALUE_PARAMETER name:t index:0 type:F21T of .additionalText$delegate..deepO$delegate..qux21 BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun qux21 (t: F21T of .additionalText$delegate..deepO$delegate..qux21): F21T of .additionalText$delegate..deepO$delegate..qux21 declared in .additionalText$delegate..deepO$delegate.' GET_VAR 't: F21T of .additionalText$delegate..deepO$delegate..qux21 declared in .additionalText$delegate..deepO$delegate..qux21' type=F21T of .additionalText$delegate..deepO$delegate..qux21 origin=null FUN name:qux22 visibility:public modality:FINAL ($this:.additionalText$delegate..deepO$delegate., t:F22T of .additionalText$delegate..deepO$delegate..qux22) returnType:kotlin.Any? - TYPE_PARAMETER name:F22T index:0 variance: superTypes:[.IR] + TYPE_PARAMETER name:F22T index:0 variance: superTypes:[.IR] reified:false $this: VALUE_PARAMETER name: type:.additionalText$delegate..deepO$delegate. VALUE_PARAMETER name:t index:0 type:F22T of .additionalText$delegate..deepO$delegate..qux22 BLOCK_BODY @@ -369,7 +369,7 @@ FILE fqName: fileName:/genericDelegatedDeepProperty.kt CONSTRUCTOR_CALL 'public constructor () [primary] declared in .additionalText$delegate.' type=.additionalText$delegate. origin=OBJECT_LITERAL FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL ($receiver:.Value., .CR.>>) returnType:.P., T of .> correspondingProperty: PROPERTY name:additionalText visibility:public modality:FINAL [delegated,val] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.Value., .CR.>> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): .P., T of .> declared in ' diff --git a/compiler/testData/ir/irText/types/genericFunWithStar.fir.ir.txt b/compiler/testData/ir/irText/types/genericFunWithStar.fir.ir.txt index a795811eac8..7f60e1f0c84 100644 --- a/compiler/testData/ir/irText/types/genericFunWithStar.fir.ir.txt +++ b/compiler/testData/ir/irText/types/genericFunWithStar.fir.ir.txt @@ -46,7 +46,7 @@ FILE fqName: fileName:/genericFunWithStar.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:I modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I.I> - TYPE_PARAMETER name:G index:0 variance: superTypes:[.IFoo; .IBar] + TYPE_PARAMETER name:G index:0 variance: superTypes:[.IFoo; .IBar] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -62,13 +62,13 @@ FILE fqName: fileName:/genericFunWithStar.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:Box modality:ABSTRACT visibility:public superTypes:[.IFoo; .IBar] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Box.Box> - TYPE_PARAMETER name:T index:0 variance: superTypes:[.IFoo; .IBar] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.IFoo; .IBar] reified:false CONSTRUCTOR visibility:public <> () returnType:.Box.Box> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Box modality:ABSTRACT visibility:public superTypes:[.IFoo; .IBar]' FUN name:foo visibility:public modality:ABSTRACT ($this:.Box.Box>, tSerializer:.I.Box.foo>) returnType:.I<.Box.Box.foo>> - TYPE_PARAMETER name:F index:0 variance: superTypes:[.IFoo; .IBar] + TYPE_PARAMETER name:F index:0 variance: superTypes:[.IFoo; .IBar] reified:false $this: VALUE_PARAMETER name: type:.Box.Box> VALUE_PARAMETER name:tSerializer index:0 type:.I.Box.foo> FUN name:bar visibility:public modality:FINAL <> ($this:.Box.Box>, serializers:kotlin.Array.I<*>>) returnType:.I<*> diff --git a/compiler/testData/ir/irText/types/genericFunWithStar.ir.txt b/compiler/testData/ir/irText/types/genericFunWithStar.ir.txt index 7e8f692dfed..aeb2fe53f23 100644 --- a/compiler/testData/ir/irText/types/genericFunWithStar.ir.txt +++ b/compiler/testData/ir/irText/types/genericFunWithStar.ir.txt @@ -46,7 +46,7 @@ FILE fqName: fileName:/genericFunWithStar.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:I modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I.I> - TYPE_PARAMETER name:G index:0 variance: superTypes:[.IFoo; .IBar] + TYPE_PARAMETER name:G index:0 variance: superTypes:[.IFoo; .IBar] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -62,13 +62,13 @@ FILE fqName: fileName:/genericFunWithStar.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:Box modality:ABSTRACT visibility:public superTypes:[.IFoo; .IBar] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Box.Box> - TYPE_PARAMETER name:T index:0 variance: superTypes:[.IFoo; .IBar] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.IFoo; .IBar] reified:false CONSTRUCTOR visibility:public <> () returnType:.Box.Box> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Box modality:ABSTRACT visibility:public superTypes:[.IFoo; .IBar]' FUN name:foo visibility:public modality:ABSTRACT ($this:.Box.Box>, tSerializer:.I.Box.foo>) returnType:.I<.Box.Box.foo>> - TYPE_PARAMETER name:F index:0 variance: superTypes:[.IFoo; .IBar] + TYPE_PARAMETER name:F index:0 variance: superTypes:[.IFoo; .IBar] reified:false $this: VALUE_PARAMETER name: type:.Box.Box> VALUE_PARAMETER name:tSerializer index:0 type:.I.Box.foo> FUN name:bar visibility:public modality:FINAL <> ($this:.Box.Box>, serializers:kotlin.Array.I<*>>) returnType:.I<*> diff --git a/compiler/testData/ir/irText/types/genericPropertyReferenceType.fir.ir.txt b/compiler/testData/ir/irText/types/genericPropertyReferenceType.fir.ir.txt index 1fbcb8c17b5..a8e4ab00ea4 100644 --- a/compiler/testData/ir/irText/types/genericPropertyReferenceType.fir.ir.txt +++ b/compiler/testData/ir/irText/types/genericPropertyReferenceType.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/genericPropertyReferenceType.kt CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (x:T of .C) returnType:.C.C> [primary] VALUE_PARAMETER name:x index:0 type:T of .C BLOCK_BODY @@ -42,7 +42,7 @@ FILE fqName: fileName:/genericPropertyReferenceType.kt PROPERTY name:y visibility:public modality:FINAL [var] FUN name: visibility:public modality:FINAL ($receiver:.C.>) returnType:T of . correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [var] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.C.> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): T of . declared in ' @@ -50,7 +50,7 @@ FILE fqName: fileName:/genericPropertyReferenceType.kt $this: GET_VAR ': .C.> declared in .' type=.C.> origin=null FUN name: visibility:public modality:FINAL ($receiver:.C.>, v:T of .) returnType:kotlin.Unit correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [var] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.C.> VALUE_PARAMETER name:v index:0 type:T of . BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/genericPropertyReferenceType.ir.txt b/compiler/testData/ir/irText/types/genericPropertyReferenceType.ir.txt index 6a508d61278..b659baced71 100644 --- a/compiler/testData/ir/irText/types/genericPropertyReferenceType.ir.txt +++ b/compiler/testData/ir/irText/types/genericPropertyReferenceType.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/genericPropertyReferenceType.kt CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (x:T of .C) returnType:.C.C> [primary] VALUE_PARAMETER name:x index:0 type:T of .C BLOCK_BODY @@ -42,7 +42,7 @@ FILE fqName: fileName:/genericPropertyReferenceType.kt PROPERTY name:y visibility:public modality:FINAL [var] FUN name: visibility:public modality:FINAL ($receiver:.C.>) returnType:T of . correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [var] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.C.> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): T of . declared in ' @@ -50,7 +50,7 @@ FILE fqName: fileName:/genericPropertyReferenceType.kt $this: GET_VAR ': .C.> declared in .' type=.C.> origin=null FUN name: visibility:public modality:FINAL ($receiver:.C.>, v:T of .) returnType:kotlin.Unit correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [var] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $receiver: VALUE_PARAMETER name: type:.C.> VALUE_PARAMETER name:v index:0 type:T of . BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/inStarProjectionInReceiverType.ir.txt b/compiler/testData/ir/irText/types/inStarProjectionInReceiverType.ir.txt index 3ea2b3c9cea..feae9404469 100644 --- a/compiler/testData/ir/irText/types/inStarProjectionInReceiverType.ir.txt +++ b/compiler/testData/ir/irText/types/inStarProjectionInReceiverType.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/inStarProjectionInReceiverType.kt CLASS INTERFACE name:Foo modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Foo.Foo> - TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] reified:false PROPERTY name:x visibility:public modality:ABSTRACT [val] FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.Foo.Foo>) returnType:kotlin.Int correspondingProperty: PROPERTY name:x visibility:public modality:ABSTRACT [val] diff --git a/compiler/testData/ir/irText/types/intersectionType1.fir.ir.txt b/compiler/testData/ir/irText/types/intersectionType1.fir.ir.txt index cd123b96104..f8eef1d2a11 100644 --- a/compiler/testData/ir/irText/types/intersectionType1.fir.ir.txt +++ b/compiler/testData/ir/irText/types/intersectionType1.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/intersectionType1.kt CLASS CLASS name:In modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.In.In> - TYPE_PARAMETER name:I index:0 variance:in superTypes:[kotlin.Any?] + TYPE_PARAMETER name:I index:0 variance:in superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.In.In> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -20,14 +20,14 @@ FILE fqName: fileName:/intersectionType1.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:select visibility:public modality:FINAL (x:S of .select, y:S of .select) returnType:S of .select - TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:x index:0 type:S of .select VALUE_PARAMETER name:y index:1 type:S of .select BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun select (x: S of .select, y: S of .select): S of .select declared in ' GET_VAR 'x: S of .select declared in .select' type=S of .select origin=null FUN name:foo visibility:public modality:FINAL (a:kotlin.Array<.In.foo>>, b:kotlin.Array<.In>) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:a index:0 type:kotlin.Array<.In.foo>> VALUE_PARAMETER name:b index:1 type:kotlin.Array<.In> BLOCK_BODY @@ -42,7 +42,7 @@ FILE fqName: fileName:/intersectionType1.kt index: CONST Int type=kotlin.Int value=0 y: CONST Boolean type=kotlin.Boolean value=true FUN name:ofType visibility:public modality:FINAL ($receiver:.In.ofType>, y:kotlin.Any?) returnType:kotlin.Boolean [inline] - TYPE_PARAMETER name:K index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:K index:0 variance: superTypes:[kotlin.Any?] reified:true $receiver: VALUE_PARAMETER name: type:.In.ofType> VALUE_PARAMETER name:y index:0 type:kotlin.Any? BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/intersectionType1.ir.txt b/compiler/testData/ir/irText/types/intersectionType1.ir.txt index c16ca024d7d..fe238ba5142 100644 --- a/compiler/testData/ir/irText/types/intersectionType1.ir.txt +++ b/compiler/testData/ir/irText/types/intersectionType1.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/intersectionType1.kt CLASS CLASS name:In modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.In.In> - TYPE_PARAMETER name:I index:0 variance:in superTypes:[kotlin.Any?] + TYPE_PARAMETER name:I index:0 variance:in superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.In.In> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -20,14 +20,14 @@ FILE fqName: fileName:/intersectionType1.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:select visibility:public modality:FINAL (x:S of .select, y:S of .select) returnType:S of .select - TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:x index:0 type:S of .select VALUE_PARAMETER name:y index:1 type:S of .select BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun select (x: S of .select, y: S of .select): S of .select declared in ' GET_VAR 'x: S of .select declared in .select' type=S of .select origin=null FUN name:foo visibility:public modality:FINAL (a:kotlin.Array<.In.foo>>, b:kotlin.Array<.In>) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:a index:0 type:kotlin.Array<.In.foo>> VALUE_PARAMETER name:b index:1 type:kotlin.Array<.In> BLOCK_BODY @@ -42,7 +42,7 @@ FILE fqName: fileName:/intersectionType1.kt index: CONST Int type=kotlin.Int value=0 y: CONST Boolean type=kotlin.Boolean value=true FUN name:ofType visibility:public modality:FINAL ($receiver:.In.ofType>, y:kotlin.Any?) returnType:kotlin.Boolean [inline] - TYPE_PARAMETER name:K index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:K index:0 variance: superTypes:[kotlin.Any?] reified:true $receiver: VALUE_PARAMETER name: type:.In.ofType> VALUE_PARAMETER name:y index:0 type:kotlin.Any? BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/intersectionType2.fir.ir.txt b/compiler/testData/ir/irText/types/intersectionType2.fir.ir.txt index 33391337924..3b02bffbec0 100644 --- a/compiler/testData/ir/irText/types/intersectionType2.fir.ir.txt +++ b/compiler/testData/ir/irText/types/intersectionType2.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/intersectionType2.kt CLASS INTERFACE name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> - TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Any?] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -75,7 +75,7 @@ FILE fqName: fileName:/intersectionType2.kt public open fun toString (): kotlin.String [fake_override] declared in .A $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:run visibility:public modality:FINAL (fn:kotlin.Function0.run>) returnType:T of .run - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:fn index:0 type:kotlin.Function0.run> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun run (fn: kotlin.Function0.run>): T of .run declared in ' diff --git a/compiler/testData/ir/irText/types/intersectionType2.ir.txt b/compiler/testData/ir/irText/types/intersectionType2.ir.txt index 4709b7ef63e..d57a9cb0168 100644 --- a/compiler/testData/ir/irText/types/intersectionType2.ir.txt +++ b/compiler/testData/ir/irText/types/intersectionType2.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/intersectionType2.kt CLASS INTERFACE name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> - TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Any?] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -75,7 +75,7 @@ FILE fqName: fileName:/intersectionType2.kt public open fun toString (): kotlin.String [fake_override] declared in .A $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:run visibility:public modality:FINAL (fn:kotlin.Function0.run>) returnType:T of .run - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:fn index:0 type:kotlin.Function0.run> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun run (fn: kotlin.Function0.run>): T of .run declared in ' diff --git a/compiler/testData/ir/irText/types/intersectionType3.ir.txt b/compiler/testData/ir/irText/types/intersectionType3.ir.txt index f36f6c0ef49..ddc95a8327f 100644 --- a/compiler/testData/ir/irText/types/intersectionType3.ir.txt +++ b/compiler/testData/ir/irText/types/intersectionType3.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/intersectionType3.kt CLASS INTERFACE name:In modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.In.In> - TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -16,21 +16,21 @@ FILE fqName: fileName:/intersectionType3.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:isT visibility:public modality:FINAL ($receiver:.In.isT>) returnType:kotlin.Boolean [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true $receiver: VALUE_PARAMETER name: type:.In.isT> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun isT (): kotlin.Boolean [inline] declared in ' TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=T of .isT GET_VAR ': .In.isT> declared in .isT' type=.In.isT> origin=null FUN name:asT visibility:public modality:FINAL ($receiver:.In.asT>) returnType:kotlin.Unit [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true $receiver: VALUE_PARAMETER name: type:.In.asT> BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit TYPE_OP type=T of .asT origin=CAST typeOperand=T of .asT GET_VAR ': .In.asT> declared in .asT' type=.In.asT> origin=null FUN name:sel visibility:public modality:FINAL (x:S of .sel, y:S of .sel) returnType:S of .sel - TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:x index:0 type:S of .sel VALUE_PARAMETER name:y index:1 type:S of .sel BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/intersectionTypeInSamType.fir.ir.txt b/compiler/testData/ir/irText/types/intersectionTypeInSamType.fir.ir.txt index 7d28ee3526c..6d684265ce9 100644 --- a/compiler/testData/ir/irText/types/intersectionTypeInSamType.fir.ir.txt +++ b/compiler/testData/ir/irText/types/intersectionTypeInSamType.fir.ir.txt @@ -67,7 +67,7 @@ FILE fqName: fileName:/intersectionTypeInSamType.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:IFoo modality:ABSTRACT visibility:public [fun] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IFoo.IFoo> - TYPE_PARAMETER name:T index:0 variance: superTypes:[.X] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.X] reified:false FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo.IFoo>, t:T of .IFoo) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.IFoo.IFoo> VALUE_PARAMETER name:t index:0 type:T of .IFoo @@ -86,7 +86,7 @@ FILE fqName: fileName:/intersectionTypeInSamType.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:IBar1 modality:ABSTRACT visibility:public [fun] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IBar1.IBar1> - TYPE_PARAMETER name:T index:0 variance: superTypes:[.X; .Z] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.X; .Z] reified:false FUN name:bar visibility:public modality:ABSTRACT <> ($this:.IBar1.IBar1>, t:T of .IBar1) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.IBar1.IBar1> VALUE_PARAMETER name:t index:0 type:T of .IBar1 @@ -105,7 +105,7 @@ FILE fqName: fileName:/intersectionTypeInSamType.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:IBar2 modality:ABSTRACT visibility:public [fun] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IBar2.IBar2> - TYPE_PARAMETER name:T index:0 variance: superTypes:[.X; .Z] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.X; .Z] reified:false FUN name:bar visibility:public modality:ABSTRACT <> ($this:.IBar2.IBar2>, t:T of .IBar2) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.IBar2.IBar2> VALUE_PARAMETER name:t index:0 type:T of .IBar2 @@ -123,7 +123,7 @@ FILE fqName: fileName:/intersectionTypeInSamType.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:sel visibility:public modality:FINAL (x:T of .sel, y:T of .sel) returnType:T of .sel - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:x index:0 type:T of .sel VALUE_PARAMETER name:y index:1 type:T of .sel BLOCK_BODY @@ -131,7 +131,7 @@ FILE fqName: fileName:/intersectionTypeInSamType.kt GET_VAR 'x: T of .sel declared in .sel' type=T of .sel origin=null CLASS CLASS name:G1 modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G1.G1> - TYPE_PARAMETER name:T index:0 variance: superTypes:[.X] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.X] reified:false CONSTRUCTOR visibility:public <> () returnType:.G1.G1> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -155,7 +155,7 @@ FILE fqName: fileName:/intersectionTypeInSamType.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:G2 modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G2.G2> - TYPE_PARAMETER name:T index:0 variance: superTypes:[.X; .Z] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.X; .Z] reified:false CONSTRUCTOR visibility:public <> () returnType:.G2.G2> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' diff --git a/compiler/testData/ir/irText/types/intersectionTypeInSamType.ir.txt b/compiler/testData/ir/irText/types/intersectionTypeInSamType.ir.txt index 60c4361575c..cf1b96526be 100644 --- a/compiler/testData/ir/irText/types/intersectionTypeInSamType.ir.txt +++ b/compiler/testData/ir/irText/types/intersectionTypeInSamType.ir.txt @@ -67,7 +67,7 @@ FILE fqName: fileName:/intersectionTypeInSamType.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:IFoo modality:ABSTRACT visibility:public [fun] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IFoo.IFoo> - TYPE_PARAMETER name:T index:0 variance: superTypes:[.X] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.X] reified:false FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo.IFoo>, t:T of .IFoo) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.IFoo.IFoo> VALUE_PARAMETER name:t index:0 type:T of .IFoo @@ -86,7 +86,7 @@ FILE fqName: fileName:/intersectionTypeInSamType.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:IBar1 modality:ABSTRACT visibility:public [fun] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IBar1.IBar1> - TYPE_PARAMETER name:T index:0 variance: superTypes:[.X; .Z] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.X; .Z] reified:false FUN name:bar visibility:public modality:ABSTRACT <> ($this:.IBar1.IBar1>, t:T of .IBar1) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.IBar1.IBar1> VALUE_PARAMETER name:t index:0 type:T of .IBar1 @@ -105,7 +105,7 @@ FILE fqName: fileName:/intersectionTypeInSamType.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:IBar2 modality:ABSTRACT visibility:public [fun] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IBar2.IBar2> - TYPE_PARAMETER name:T index:0 variance: superTypes:[.X; .Z] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.X; .Z] reified:false FUN name:bar visibility:public modality:ABSTRACT <> ($this:.IBar2.IBar2>, t:T of .IBar2) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.IBar2.IBar2> VALUE_PARAMETER name:t index:0 type:T of .IBar2 @@ -123,7 +123,7 @@ FILE fqName: fileName:/intersectionTypeInSamType.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:sel visibility:public modality:FINAL (x:T of .sel, y:T of .sel) returnType:T of .sel - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:x index:0 type:T of .sel VALUE_PARAMETER name:y index:1 type:T of .sel BLOCK_BODY @@ -131,7 +131,7 @@ FILE fqName: fileName:/intersectionTypeInSamType.kt GET_VAR 'x: T of .sel declared in .sel' type=T of .sel origin=null CLASS CLASS name:G1 modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G1.G1> - TYPE_PARAMETER name:T index:0 variance: superTypes:[.X] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.X] reified:false CONSTRUCTOR visibility:public <> () returnType:.G1.G1> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -155,7 +155,7 @@ FILE fqName: fileName:/intersectionTypeInSamType.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:G2 modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G2.G2> - TYPE_PARAMETER name:T index:0 variance: superTypes:[.X; .Z] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.X; .Z] reified:false CONSTRUCTOR visibility:public <> () returnType:.G2.G2> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' diff --git a/compiler/testData/ir/irText/types/localVariableOfIntersectionType.fir.ir.txt b/compiler/testData/ir/irText/types/localVariableOfIntersectionType.fir.ir.txt index b3c30fa5a63..ff1e4003e49 100644 --- a/compiler/testData/ir/irText/types/localVariableOfIntersectionType.fir.ir.txt +++ b/compiler/testData/ir/irText/types/localVariableOfIntersectionType.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/localVariableOfIntersectionType.kt CLASS INTERFACE name:In modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.In.In> - TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -17,7 +17,7 @@ FILE fqName: fileName:/localVariableOfIntersectionType.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:Inv modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Inv.Inv> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false PROPERTY name:t visibility:public modality:ABSTRACT [val] FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.Inv.Inv>) returnType:T of .Inv correspondingProperty: PROPERTY name:t visibility:public modality:ABSTRACT [val] @@ -38,7 +38,7 @@ FILE fqName: fileName:/localVariableOfIntersectionType.kt CLASS INTERFACE name:Z modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z FUN name:create visibility:public modality:ABSTRACT ($this:.Z, x:.In.Z.create>, y:.In.Z.create>) returnType:.Inv.Z.create> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Z VALUE_PARAMETER name:x index:0 type:.In.Z.create> VALUE_PARAMETER name:y index:1 type:.In.Z.create> diff --git a/compiler/testData/ir/irText/types/localVariableOfIntersectionType.ir.txt b/compiler/testData/ir/irText/types/localVariableOfIntersectionType.ir.txt index 7f58256dde7..54d444a2e26 100644 --- a/compiler/testData/ir/irText/types/localVariableOfIntersectionType.ir.txt +++ b/compiler/testData/ir/irText/types/localVariableOfIntersectionType.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/localVariableOfIntersectionType.kt CLASS INTERFACE name:In modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.In.In> - TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -17,7 +17,7 @@ FILE fqName: fileName:/localVariableOfIntersectionType.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:Inv modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Inv.Inv> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false PROPERTY name:t visibility:public modality:ABSTRACT [val] FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.Inv.Inv>) returnType:T of .Inv correspondingProperty: PROPERTY name:t visibility:public modality:ABSTRACT [val] @@ -38,7 +38,7 @@ FILE fqName: fileName:/localVariableOfIntersectionType.kt CLASS INTERFACE name:Z modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z FUN name:create visibility:public modality:ABSTRACT ($this:.Z, x:.In.Z.create>, y:.In.Z.create>) returnType:.Inv.Z.create> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false $this: VALUE_PARAMETER name: type:.Z VALUE_PARAMETER name:x index:0 type:.In.Z.create> VALUE_PARAMETER name:y index:1 type:.In.Z.create> diff --git a/compiler/testData/ir/irText/types/nullChecks/enhancedNullabilityInDestructuringAssignment.fir.ir.txt b/compiler/testData/ir/irText/types/nullChecks/enhancedNullabilityInDestructuringAssignment.fir.ir.txt index 179dc386ead..b675fa5be5c 100644 --- a/compiler/testData/ir/irText/types/nullChecks/enhancedNullabilityInDestructuringAssignment.fir.ir.txt +++ b/compiler/testData/ir/irText/types/nullChecks/enhancedNullabilityInDestructuringAssignment.fir.ir.txt @@ -60,8 +60,8 @@ FILE fqName: fileName:/enhancedNullabilityInDestructuringAssignment.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:Q modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Q.Q, T2 of .Q> - TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (x:T1 of .Q, y:T2 of .Q) returnType:.Q.Q, T2 of .Q> [primary] VALUE_PARAMETER name:x index:0 type:T1 of .Q VALUE_PARAMETER name:y index:1 type:T2 of .Q diff --git a/compiler/testData/ir/irText/types/nullChecks/enhancedNullabilityInDestructuringAssignment.ir.txt b/compiler/testData/ir/irText/types/nullChecks/enhancedNullabilityInDestructuringAssignment.ir.txt index c3cfc210e77..0fa03db2466 100644 --- a/compiler/testData/ir/irText/types/nullChecks/enhancedNullabilityInDestructuringAssignment.ir.txt +++ b/compiler/testData/ir/irText/types/nullChecks/enhancedNullabilityInDestructuringAssignment.ir.txt @@ -60,8 +60,8 @@ FILE fqName: fileName:/enhancedNullabilityInDestructuringAssignment.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:Q modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Q.Q, T2 of .Q> - TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (x:T1 of .Q, y:T2 of .Q) returnType:.Q.Q, T2 of .Q> [primary] VALUE_PARAMETER name:x index:0 type:T1 of .Q VALUE_PARAMETER name:y index:1 type:T2 of .Q diff --git a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/nnStringVsT.ir.txt b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/nnStringVsT.ir.txt index 676e1489f16..ce81e787a0e 100644 --- a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/nnStringVsT.ir.txt +++ b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/nnStringVsT.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/nnStringVsT.kt FUN name:useT visibility:public modality:FINAL (fn:kotlin.Function0.useT>) returnType:T of .useT - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:fn index:0 type:kotlin.Function0.useT> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun useT (fn: kotlin.Function0.useT>): T of .useT declared in ' diff --git a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/nnStringVsTAny.ir.txt b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/nnStringVsTAny.ir.txt index 24df3e9d26e..8b5a7880114 100644 --- a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/nnStringVsTAny.ir.txt +++ b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/nnStringVsTAny.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/nnStringVsTAny.kt FUN name:useTAny visibility:public modality:FINAL (fn:kotlin.Function0.useTAny>) returnType:T of .useTAny - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false VALUE_PARAMETER name:fn index:0 type:kotlin.Function0.useTAny> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun useTAny (fn: kotlin.Function0.useTAny>): T of .useTAny declared in ' diff --git a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/nnStringVsTConstrained.ir.txt b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/nnStringVsTConstrained.ir.txt index 67c792f9650..b370c3b24d6 100644 --- a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/nnStringVsTConstrained.ir.txt +++ b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/nnStringVsTConstrained.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/nnStringVsTConstrained.kt FUN name:useTConstrained visibility:public modality:FINAL (xs:kotlin.Array.useTConstrained>, fn:kotlin.Function0.useTConstrained>) returnType:T of .useTConstrained - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:xs index:0 type:kotlin.Array.useTConstrained> VALUE_PARAMETER name:fn index:1 type:kotlin.Function0.useTConstrained> BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/nnStringVsTXArray.ir.txt b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/nnStringVsTXArray.ir.txt index 0f7b79a3588..9efd4f7901c 100644 --- a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/nnStringVsTXArray.ir.txt +++ b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/nnStringVsTXArray.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/nnStringVsTXArray.kt FUN name:useTX visibility:public modality:FINAL (x:T of .useTX, fn:kotlin.Function0.useTX>) returnType:T of .useTX - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:x index:0 type:T of .useTX VALUE_PARAMETER name:fn index:1 type:kotlin.Function0.useTX> BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/nnStringVsTXString.ir.txt b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/nnStringVsTXString.ir.txt index cc4c41b4030..013864fe351 100644 --- a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/nnStringVsTXString.ir.txt +++ b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/nnStringVsTXString.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/nnStringVsTXString.kt FUN name:useTX visibility:public modality:FINAL (x:T of .useTX, fn:kotlin.Function0.useTX>) returnType:T of .useTX - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:x index:0 type:T of .useTX VALUE_PARAMETER name:fn index:1 type:kotlin.Function0.useTX> BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/stringVsT.ir.txt b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/stringVsT.ir.txt index 7cde686a9bb..6f8150bb431 100644 --- a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/stringVsT.ir.txt +++ b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/stringVsT.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/stringVsT.kt FUN name:useT visibility:public modality:FINAL (fn:kotlin.Function0.useT>) returnType:T of .useT - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:fn index:0 type:kotlin.Function0.useT> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun useT (fn: kotlin.Function0.useT>): T of .useT declared in ' diff --git a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/stringVsTAny.ir.txt b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/stringVsTAny.ir.txt index 1afb59a44d2..d29d60ee99d 100644 --- a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/stringVsTAny.ir.txt +++ b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/stringVsTAny.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/stringVsTAny.kt FUN name:useTAny visibility:public modality:FINAL (fn:kotlin.Function0.useTAny>) returnType:T of .useTAny - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false VALUE_PARAMETER name:fn index:0 type:kotlin.Function0.useTAny> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun useTAny (fn: kotlin.Function0.useTAny>): T of .useTAny declared in ' diff --git a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/stringVsTConstrained.ir.txt b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/stringVsTConstrained.ir.txt index a3a51c7acaf..8a6d7d6501b 100644 --- a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/stringVsTConstrained.ir.txt +++ b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/stringVsTConstrained.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/stringVsTConstrained.kt FUN name:useTConstrained visibility:public modality:FINAL (xs:kotlin.Array.useTConstrained>, fn:kotlin.Function0.useTConstrained>) returnType:T of .useTConstrained - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:xs index:0 type:kotlin.Array.useTConstrained> VALUE_PARAMETER name:fn index:1 type:kotlin.Function0.useTConstrained> BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/stringVsTXArray.ir.txt b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/stringVsTXArray.ir.txt index b12dc5084f7..f2cfb594130 100644 --- a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/stringVsTXArray.ir.txt +++ b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/stringVsTXArray.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/stringVsTXArray.kt FUN name:useTX visibility:public modality:FINAL (x:T of .useTX, fn:kotlin.Function0.useTX>) returnType:T of .useTX - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:x index:0 type:T of .useTX VALUE_PARAMETER name:fn index:1 type:kotlin.Function0.useTX> BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/stringVsTXString.ir.txt b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/stringVsTXString.ir.txt index 196f1037e62..c10588815f1 100644 --- a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/stringVsTXString.ir.txt +++ b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnLambdaResult/stringVsTXString.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/stringVsTXString.kt FUN name:useTX visibility:public modality:FINAL (x:T of .useTX, fn:kotlin.Function0.useTX>) returnType:T of .useTX - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:x index:0 type:T of .useTX VALUE_PARAMETER name:fn index:1 type:kotlin.Function0.useTX> BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMixedNullableAndNotNullableBounds.fir.ir.txt b/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMixedNullableAndNotNullableBounds.fir.ir.txt index c78d6eaa6b4..e038ecd2dbc 100644 --- a/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMixedNullableAndNotNullableBounds.fir.ir.txt +++ b/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMixedNullableAndNotNullableBounds.fir.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/typeParameterWithMixedNullableAndNotNullableBounds.kt FUN name:f visibility:public modality:FINAL (x:T of .f) returnType:kotlin.Int - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence?; kotlin.Comparable.f>] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence?; kotlin.Comparable.f>] reified:false VALUE_PARAMETER name:x index:0 type:T of .f BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun f (x: T of .f): kotlin.Int declared in ' diff --git a/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMixedNullableAndNotNullableBounds.ir.txt b/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMixedNullableAndNotNullableBounds.ir.txt index 26b059bd966..e990e93a768 100644 --- a/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMixedNullableAndNotNullableBounds.ir.txt +++ b/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMixedNullableAndNotNullableBounds.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/typeParameterWithMixedNullableAndNotNullableBounds.kt FUN name:f visibility:public modality:FINAL (x:T of .f) returnType:kotlin.Int - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence?; kotlin.Comparable.f>] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence?; kotlin.Comparable.f>] reified:false VALUE_PARAMETER name:x index:0 type:T of .f BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun f (x: T of .f): kotlin.Int declared in ' diff --git a/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMultipleNotNullableBounds.fir.ir.txt b/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMultipleNotNullableBounds.fir.ir.txt index b7ba4111a79..6ab0ee16dee 100644 --- a/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMultipleNotNullableBounds.fir.ir.txt +++ b/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMultipleNotNullableBounds.fir.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/typeParameterWithMultipleNotNullableBounds.kt FUN name:f visibility:public modality:FINAL (x:T of .f) returnType:kotlin.Int - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence; kotlin.Comparable.f>] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence; kotlin.Comparable.f>] reified:false VALUE_PARAMETER name:x index:0 type:T of .f BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun f (x: T of .f): kotlin.Int declared in ' diff --git a/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMultipleNotNullableBounds.ir.txt b/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMultipleNotNullableBounds.ir.txt index acbafe111c9..7fe4166e72e 100644 --- a/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMultipleNotNullableBounds.ir.txt +++ b/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMultipleNotNullableBounds.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/typeParameterWithMultipleNotNullableBounds.kt FUN name:f visibility:public modality:FINAL (x:T of .f) returnType:kotlin.Int - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence; kotlin.Comparable.f>] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence; kotlin.Comparable.f>] reified:false VALUE_PARAMETER name:x index:0 type:T of .f BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun f (x: T of .f): kotlin.Int declared in ' diff --git a/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMultipleNullableBounds.fir.ir.txt b/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMultipleNullableBounds.fir.ir.txt index 42ecdc1faf2..297404a5bc4 100644 --- a/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMultipleNullableBounds.fir.ir.txt +++ b/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMultipleNullableBounds.fir.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/typeParameterWithMultipleNullableBounds.kt FUN name:f visibility:public modality:FINAL (x:T of .f) returnType:kotlin.Int? - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence?; kotlin.Comparable.f>?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence?; kotlin.Comparable.f>?] reified:false VALUE_PARAMETER name:x index:0 type:T of .f BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun f (x: T of .f): kotlin.Int? declared in ' diff --git a/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMultipleNullableBounds.ir.txt b/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMultipleNullableBounds.ir.txt index 42ecdc1faf2..297404a5bc4 100644 --- a/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMultipleNullableBounds.ir.txt +++ b/compiler/testData/ir/irText/types/nullChecks/typeParameterWithMultipleNullableBounds.ir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/typeParameterWithMultipleNullableBounds.kt FUN name:f visibility:public modality:FINAL (x:T of .f) returnType:kotlin.Int? - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence?; kotlin.Comparable.f>?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence?; kotlin.Comparable.f>?] reified:false VALUE_PARAMETER name:x index:0 type:T of .f BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun f (x: T of .f): kotlin.Int? declared in ' diff --git a/compiler/testData/ir/irText/types/rawTypeInSignature.fir.ir.txt b/compiler/testData/ir/irText/types/rawTypeInSignature.fir.ir.txt index 1fc940c9eed..ec1890d9c88 100644 --- a/compiler/testData/ir/irText/types/rawTypeInSignature.fir.ir.txt +++ b/compiler/testData/ir/irText/types/rawTypeInSignature.fir.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/rawTypeInSignature.kt CLASS CLASS name:GenericInv modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.GenericInv.GenericInv> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false CONSTRUCTOR visibility:public <> () returnType:.GenericInv.GenericInv> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -21,7 +21,7 @@ FILE fqName: fileName:/rawTypeInSignature.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:GenericIn modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.GenericIn.GenericIn> - TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Number] + TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Number] reified:false CONSTRUCTOR visibility:public <> () returnType:.GenericIn.GenericIn> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -41,7 +41,7 @@ FILE fqName: fileName:/rawTypeInSignature.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:GenericOut modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.GenericOut.GenericOut> - TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Number] + TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Number] reified:false CONSTRUCTOR visibility:public <> () returnType:.GenericOut.GenericOut> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' diff --git a/compiler/testData/ir/irText/types/rawTypeInSignature.ir.txt b/compiler/testData/ir/irText/types/rawTypeInSignature.ir.txt index b7826a66429..a391d6ecd1c 100644 --- a/compiler/testData/ir/irText/types/rawTypeInSignature.ir.txt +++ b/compiler/testData/ir/irText/types/rawTypeInSignature.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/rawTypeInSignature.kt CLASS CLASS name:GenericInv modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.GenericInv.GenericInv> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false CONSTRUCTOR visibility:public <> () returnType:.GenericInv.GenericInv> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -21,7 +21,7 @@ FILE fqName: fileName:/rawTypeInSignature.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:GenericIn modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.GenericIn.GenericIn> - TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Number] + TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Number] reified:false CONSTRUCTOR visibility:public <> () returnType:.GenericIn.GenericIn> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -41,7 +41,7 @@ FILE fqName: fileName:/rawTypeInSignature.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:GenericOut modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.GenericOut.GenericOut> - TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Number] + TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Number] reified:false CONSTRUCTOR visibility:public <> () returnType:.GenericOut.GenericOut> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' diff --git a/compiler/testData/ir/irText/types/smartCastOnFakeOverrideReceiver.fir.ir.txt b/compiler/testData/ir/irText/types/smartCastOnFakeOverrideReceiver.fir.ir.txt index 9610a0e7e23..ae688dc0a78 100644 --- a/compiler/testData/ir/irText/types/smartCastOnFakeOverrideReceiver.fir.ir.txt +++ b/compiler/testData/ir/irText/types/smartCastOnFakeOverrideReceiver.fir.ir.txt @@ -137,7 +137,7 @@ FILE fqName: fileName:/smartCastOnFakeOverrideReceiver.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:GA modality:OPEN visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.GA.GA> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.GA.GA> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -173,8 +173,8 @@ FILE fqName: fileName:/smartCastOnFakeOverrideReceiver.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:GB modality:FINAL visibility:public superTypes:[.GA.GB>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.GB.GB, S of .GB> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:S index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:S index:1 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.GB.GB, S of .GB> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .GA' diff --git a/compiler/testData/ir/irText/types/smartCastOnFakeOverrideReceiver.ir.txt b/compiler/testData/ir/irText/types/smartCastOnFakeOverrideReceiver.ir.txt index 66bfd465835..18f80025aac 100644 --- a/compiler/testData/ir/irText/types/smartCastOnFakeOverrideReceiver.ir.txt +++ b/compiler/testData/ir/irText/types/smartCastOnFakeOverrideReceiver.ir.txt @@ -137,7 +137,7 @@ FILE fqName: fileName:/smartCastOnFakeOverrideReceiver.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:GA modality:OPEN visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.GA.GA> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.GA.GA> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -173,8 +173,8 @@ FILE fqName: fileName:/smartCastOnFakeOverrideReceiver.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:GB modality:FINAL visibility:public superTypes:[.GA.GB>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.GB.GB, S of .GB> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - TYPE_PARAMETER name:S index:1 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:S index:1 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.GB.GB, S of .GB> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in .GA' diff --git a/compiler/testData/ir/irText/types/smartCastOnReceiverOfGenericType.ir.txt b/compiler/testData/ir/irText/types/smartCastOnReceiverOfGenericType.ir.txt index 1c529d1473d..08def90cac4 100644 --- a/compiler/testData/ir/irText/types/smartCastOnReceiverOfGenericType.ir.txt +++ b/compiler/testData/ir/irText/types/smartCastOnReceiverOfGenericType.ir.txt @@ -52,7 +52,7 @@ FILE fqName: fileName:/smartCastOnReceiverOfGenericType.kt x2: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String GET_VAR 'c: kotlin.Any declared in .testInnerClass' type=kotlin.Any origin=null FUN name:testNonSubstitutedTypeParameter visibility:public modality:FINAL (a:kotlin.Any, b:kotlin.Any) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:a index:0 type:kotlin.Any VALUE_PARAMETER name:b index:1 type:kotlin.Any BLOCK_BODY @@ -70,7 +70,7 @@ FILE fqName: fileName:/smartCastOnReceiverOfGenericType.kt GET_VAR 'b: kotlin.Any declared in .testNonSubstitutedTypeParameter' type=kotlin.Any origin=null CLASS CLASS name:Cell modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Cell.Cell> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (value:T of .Cell) returnType:.Cell.Cell> [primary] VALUE_PARAMETER name:value index:0 type:T of .Cell BLOCK_BODY @@ -110,14 +110,14 @@ FILE fqName: fileName:/smartCastOnReceiverOfGenericType.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Outer> - TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> () returnType:.Outer.Outer> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any]' CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner.Outer.Inner, T1 of .Outer> - TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> ($this:.Outer.Outer>) returnType:.Outer.Inner.Outer.Inner, T1 of .Outer> [primary] $outer: VALUE_PARAMETER name: type:.Outer.Outer> BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/starProjection.ir.txt b/compiler/testData/ir/irText/types/starProjection.ir.txt index 40b636e2b0e..cfa79534ee2 100644 --- a/compiler/testData/ir/irText/types/starProjection.ir.txt +++ b/compiler/testData/ir/irText/types/starProjection.ir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/starProjection.kt CLASS INTERFACE name:Continuation modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Continuation.Continuation> - TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] reified:false FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any diff --git a/compiler/testData/ir/irText/types/typeAliasWithUnsafeVariance.fir.ir.txt b/compiler/testData/ir/irText/types/typeAliasWithUnsafeVariance.fir.ir.txt index 02643aef73c..ebefd9d18c4 100644 --- a/compiler/testData/ir/irText/types/typeAliasWithUnsafeVariance.fir.ir.txt +++ b/compiler/testData/ir/irText/types/typeAliasWithUnsafeVariance.fir.ir.txt @@ -1,9 +1,9 @@ FILE fqName: fileName:/typeAliasWithUnsafeVariance.kt TYPEALIAS name:Action visibility:public expandedType:kotlin.Function1.Action, kotlin.Unit> - TYPE_PARAMETER name:RenderingT index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:RenderingT index:0 variance: superTypes:[kotlin.Any?] reified:false CLASS CLASS name:Tag modality:FINAL visibility:public [data] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Tag.Tag> - TYPE_PARAMETER name:RenderingT index:0 variance:out superTypes:[kotlin.Any?] + TYPE_PARAMETER name:RenderingT index:0 variance:out superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (action:kotlin.Function1.Tag, kotlin.Unit>) returnType:.Tag.Tag> [primary] VALUE_PARAMETER name:action index:0 type:kotlin.Function1.Tag, kotlin.Unit> BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/typeAliasWithUnsafeVariance.ir.txt b/compiler/testData/ir/irText/types/typeAliasWithUnsafeVariance.ir.txt index 329ceddc9bf..d4ebb8b223a 100644 --- a/compiler/testData/ir/irText/types/typeAliasWithUnsafeVariance.ir.txt +++ b/compiler/testData/ir/irText/types/typeAliasWithUnsafeVariance.ir.txt @@ -1,9 +1,9 @@ FILE fqName: fileName:/typeAliasWithUnsafeVariance.kt TYPEALIAS name:Action visibility:public expandedType:kotlin.Function1<@[UnsafeVariance] RenderingT of .Action, kotlin.Unit> - TYPE_PARAMETER name:RenderingT index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:RenderingT index:0 variance: superTypes:[kotlin.Any?] reified:false CLASS CLASS name:Tag modality:FINAL visibility:public [data] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Tag.Tag> - TYPE_PARAMETER name:RenderingT index:0 variance:out superTypes:[kotlin.Any?] + TYPE_PARAMETER name:RenderingT index:0 variance:out superTypes:[kotlin.Any?] reified:false CONSTRUCTOR visibility:public <> (action:kotlin.Function1<@[UnsafeVariance] RenderingT of .Tag, kotlin.Unit>{ .Action.Tag> }) returnType:.Tag.Tag> [primary] VALUE_PARAMETER name:action index:0 type:kotlin.Function1<@[UnsafeVariance] RenderingT of .Tag, kotlin.Unit>{ .Action.Tag> } BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/typeCheckOnDefinitelyNotNull.ir.txt b/compiler/testData/ir/irText/types/typeCheckOnDefinitelyNotNull.ir.txt index acbe33381c6..79f0ef524f2 100644 --- a/compiler/testData/ir/irText/types/typeCheckOnDefinitelyNotNull.ir.txt +++ b/compiler/testData/ir/irText/types/typeCheckOnDefinitelyNotNull.ir.txt @@ -1,20 +1,20 @@ FILE fqName: fileName:/typeCheckOnDefinitelyNotNull.kt FUN name:asFoo visibility:public modality:FINAL (t:T of .asFoo) returnType:{T of .asFoo & Any} - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:t index:0 type:T of .asFoo BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun asFoo (t: T of .asFoo): {T of .asFoo & Any} declared in ' TYPE_OP type={T of .asFoo & Any} origin=CAST typeOperand={T of .asFoo & Any} GET_VAR 't: T of .asFoo declared in .asFoo' type=T of .asFoo origin=null FUN name:safeAsFoo visibility:public modality:FINAL (t:T of .safeAsFoo) returnType:T of .safeAsFoo? - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER name:t index:0 type:T of .safeAsFoo BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun safeAsFoo (t: T of .safeAsFoo): T of .safeAsFoo? declared in ' TYPE_OP type=T of .safeAsFoo? origin=SAFE_CAST typeOperand={T of .safeAsFoo & Any} GET_VAR 't: T of .safeAsFoo declared in .safeAsFoo' type=T of .safeAsFoo origin=null FUN name:implicitAsFoo visibility:public modality:FINAL (x:kotlin.Any) returnType:kotlin.Int [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence?] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence?] reified:true VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun implicitAsFoo (x: kotlin.Any): kotlin.Int [inline] declared in ' diff --git a/js/js.tests/test/org/jetbrains/kotlin/incremental/AbstractInvalidationTest.kt b/js/js.tests/test/org/jetbrains/kotlin/incremental/AbstractInvalidationTest.kt index b2adce0d5d8..f95d3d3f1bf 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/incremental/AbstractInvalidationTest.kt +++ b/js/js.tests/test/org/jetbrains/kotlin/incremental/AbstractInvalidationTest.kt @@ -16,6 +16,7 @@ import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment import org.jetbrains.kotlin.codegen.* import org.jetbrains.kotlin.config.CommonConfigurationKeys import org.jetbrains.kotlin.config.CompilerConfiguration +import org.jetbrains.kotlin.ir.backend.js.WholeWorldStageController import org.jetbrains.kotlin.ir.backend.js.generateKLib import org.jetbrains.kotlin.ir.backend.js.ic.* import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsIrLinker @@ -23,6 +24,7 @@ import org.jetbrains.kotlin.ir.backend.js.prepareAnalyzedSourceModule import org.jetbrains.kotlin.ir.declarations.IrFactory import org.jetbrains.kotlin.ir.declarations.IrModuleFragment import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl +import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImplForJsIC import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.test.KotlinTestWithEnvironment @@ -52,8 +54,7 @@ abstract class AbstractInvalidationTest : KotlinTestWithEnvironment() { deserializer: JsIrLinker, configuration: CompilerConfiguration, dirtyFiles: Collection?, // if null consider the whole module dirty - deletedFiles: Collection, - cacheConsumer: PersistentCacheConsumer, + artifactCache: ArtifactCache, exportedDeclarations: Set, mainArguments: List?, ) { @@ -160,7 +161,6 @@ abstract class AbstractInvalidationTest : KotlinTestWithEnvironment() { buildCachesAndCheck( moduleStep, configuration, - moduleSourceDir, outputKlibFile, moduleCacheDir, dependencies, @@ -180,7 +180,6 @@ abstract class AbstractInvalidationTest : KotlinTestWithEnvironment() { private fun buildCachesAndCheck( moduleStep: ModuleInfo.ModuleStep, configuration: CompilerConfiguration, - sourceDir: File, moduleKlibFile: File, moduleCacheDir: File, dependencies: List, @@ -188,35 +187,6 @@ abstract class AbstractInvalidationTest : KotlinTestWithEnvironment() { expectedDirtyFiles: List, expectedDeletedFiles: List ) { - @Suppress("UNUSED_PARAMETER") - fun dirtyFilesChecker( - currentModule: IrModuleFragment, - dependencies: Collection, - deserializer: JsIrLinker, - configuration: CompilerConfiguration, - invalidatedDirtyFiles: Collection?, // if null consider the whole module dirty - deletedFiles: Collection, - cacheConsumer: PersistentCacheConsumer, - exportedDeclarations: Set, - mainArguments: List?, - ) { - val actualDirtyFiles = - invalidatedDirtyFiles?.map { File(it).canonicalPath } ?: sourceDir.filteredKtFiles().map { it.canonicalPath } - val expectedDirtyFilesCanonical = expectedDirtyFiles.map { it.canonicalPath } - - JUnit4Assertions.assertSameElements(expectedDirtyFilesCanonical, actualDirtyFiles) { - "Mismatched DIRTY files for module $moduleKlibFile at step ${moduleStep.id}" - } - - val actualDeletedFiles = - deletedFiles.map { File(it).canonicalPath } - val expectedDeletedFilesCanonical = expectedDeletedFiles.map { it.canonicalPath } - - JUnit4Assertions.assertSameElements(expectedDeletedFilesCanonical, actualDeletedFiles) { - "Mismatched DELETED files for module $moduleKlibFile at step ${moduleStep.id}" - } - } - val dependenciesPaths = mutableListOf() dependencies.mapTo(dependenciesPaths) { it.canonicalPath } dependenciesPaths.add(moduleKlibFile.canonicalPath) @@ -229,18 +199,31 @@ abstract class AbstractInvalidationTest : KotlinTestWithEnvironment() { icCaches.map { it.canonicalPath },// + moduleCacheDir.canonicalPath, IrFactoryImpl, null, // TODO: mainArguments - ::dirtyFilesChecker + ::emptyChecker ) if (StepDirectives.FAST_PATH_UPDATE in moduleStep.directives) { - JUnit4Assertions.assertEquals(CacheUpdateStatus.FAST_PATH, updateStatus) { + JUnit4Assertions.assertEquals(CacheUpdateStatus.FastPath, updateStatus) { "Cache has to be checked by fast path, instead it $updateStatus" } } - JUnit4Assertions.assertEquals(expectedDirtyFiles.isEmpty(), updateStatus.upToDate) { - val filePaths = expectedDirtyFiles.joinToString(",", "[", "]") - "Up to date is not expected for module $moduleKlibFile at step ${moduleStep.id}. Expected dirtyFiles are $filePaths" + val (updated, removed) = when (updateStatus) { + is CacheUpdateStatus.FastPath -> emptySet() to emptySet() + is CacheUpdateStatus.NoDirtyFiles -> emptySet() to updateStatus.removed + is CacheUpdateStatus.Dirty -> updateStatus.updated to updateStatus.removed + } + + val actualDirtyFiles = updated.map { File(it).canonicalPath } + val expectedDirtyFilesCanonical = expectedDirtyFiles.map { it.canonicalPath } + JUnit4Assertions.assertSameElements(expectedDirtyFilesCanonical, actualDirtyFiles) { + "Mismatched DIRTY files for module $moduleKlibFile at step ${moduleStep.id}" + } + + val actualDeletedFiles = removed.map { File(it).canonicalPath } + val expectedDeletedFilesCanonical = expectedDeletedFiles.map { it.canonicalPath } + JUnit4Assertions.assertSameElements(expectedDeletedFilesCanonical, actualDeletedFiles) { + "Mismatched DELETED files for module $moduleKlibFile at step ${moduleStep.id}" } } @@ -248,28 +231,24 @@ abstract class AbstractInvalidationTest : KotlinTestWithEnvironment() { moduleName: String, cachePath: String, compilerConfiguration: CompilerConfiguration, - dependencies: Collection, + dependencies: Collection, icCachePaths: Collection, irFactory: IrFactory, mainArguments: List?, executor: CacheExecutor ): CacheUpdateStatus { - val modulePath = moduleName.toCanonicalPath() - - val icCacheMap: Map = loadCacheInfo(icCachePaths).also { - it[modulePath] = CacheInfo.loadOrCreate(cachePath, modulePath) - } - + val modulePath = File(moduleName).canonicalPath val statuses = mutableMapOf() - actualizeCaches( + val cacheUpdater = CacheUpdater( modulePath, - compilerConfiguration, dependencies, - icCacheMap.map { it.value.path }, + compilerConfiguration, + icCachePaths + cachePath, { irFactory }, mainArguments, executor - ) { updateStatus, updatedModule -> + ) + cacheUpdater.actualizeCaches { updateStatus, updatedModule -> statuses[updatedModule] = updateStatus } return statuses[modulePath] ?: error("Status is missed for $modulePath") diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/utils/JsIrIncrementalDataProvider.kt b/js/js.tests/test/org/jetbrains/kotlin/js/test/utils/JsIrIncrementalDataProvider.kt index 58dce8997b7..eb3c3d49872 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/utils/JsIrIncrementalDataProvider.kt +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/utils/JsIrIncrementalDataProvider.kt @@ -10,7 +10,6 @@ import org.jetbrains.kotlin.ir.backend.js.WholeWorldStageController import org.jetbrains.kotlin.ir.backend.js.ic.* import org.jetbrains.kotlin.ir.backend.js.moduleName import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImplForJsIC -import org.jetbrains.kotlin.ir.util.IdSignature import org.jetbrains.kotlin.js.test.handlers.JsBoxRunner import org.jetbrains.kotlin.konan.properties.propertyList import org.jetbrains.kotlin.library.KLIB_PROPERTY_DEPENDS @@ -25,103 +24,16 @@ import org.jetbrains.kotlin.test.services.configuration.JsEnvironmentConfigurato import org.jetbrains.kotlin.test.services.jsLibraryProvider import java.io.File -class TestModuleCache(val files: MutableMap) { - - constructor() : this(mutableMapOf()) - - private lateinit var storedModuleName: String - - fun cacheProvider(): PersistentCacheProvider { - return object : PersistentCacheProvider { - override fun fileFingerPrint(path: String): Hash { - return 0L - } - - override fun inlineGraphForFile(path: String, sigResolver: (Int) -> IdSignature): Collection> { - error("Is not supported") - } - - override fun inlineHashes(path: String, sigResolver: (Int) -> IdSignature): Map { - error("Is not supported") - } - - override fun allInlineHashes(sigResolver: (String, Int) -> IdSignature): Map { - error("Is not supported") - } - - override fun binaryAst(path: String): ByteArray? { - return files[path]?.ast ?: ByteArray(0) - } - - override fun dts(path: String): ByteArray? { - return files[path]?.dts - } - - override fun sourceMap(path: String): ByteArray? { - return files[path]?.sourceMap - } - - override fun filePaths(): Iterable { - return files.keys - } - - override fun moduleName(): String { - return storedModuleName - } +private class TestArtifactCache(var moduleName: String? = null) : ArtifactCache() { + override fun fetchArtifacts() = KLibArtifact( + moduleName = moduleName ?: error("Module name is not set"), + fileArtifacts = binaryAsts.entries.map { + SrcFileArtifact(it.key, "", it.value) } - } + ) - fun cacheConsumer(): PersistentCacheConsumer { - return object : PersistentCacheConsumer { - override fun commitInlineFunctions( - path: String, - hashes: Collection>, - sigResolver: (IdSignature) -> Int - ) { - - } - - override fun commitFileFingerPrint(path: String, fingerprint: Hash) { - - } - - override fun commitInlineGraph( - path: String, - hashes: Collection>, - sigResolver: (IdSignature) -> Int - ) { - - } - - override fun commitBinaryAst(path: String, astData: ByteArray) { - val storage = files.getOrPut(path) { FileCache(path, null, null, null) } - storage.ast = astData - } - - override fun commitBinaryDts(path: String, dstData: ByteArray) { - val storage = files.getOrPut(path) { FileCache(path, null, null, null) } - storage.dts = dstData - } - - override fun commitSourceMap(path: String, mapData: ByteArray) { - val storage = files.getOrPut(path) { FileCache(path, null, null, null) } - storage.sourceMap = mapData - } - - override fun invalidateForFile(path: String) { - files.remove(path) - } - - override fun invalidate() { - } - - override fun commitLibraryInfo(libraryPath: String, moduleName: String, flatHash: ULong, transHash: ULong, configHash: ULong) { - storedModuleName = moduleName - } - } - } - - fun createModuleCache(): ModuleCache = ModuleCache(storedModuleName, files) + fun invalidateForFile(srcPath: String) = binaryAsts.remove(srcPath) + fun getAst(srcPath: String) = binaryAsts[srcPath] } class JsIrIncrementalDataProvider(private val testServices: TestServices) : TestService { @@ -129,17 +41,15 @@ class JsIrIncrementalDataProvider(private val testServices: TestServices) : Test private val defaultRuntimeKlib = System.getProperty("kotlin.js.reduced.stdlib.path") private val kotlinTestKLib = System.getProperty("kotlin.js.kotlin.test.path") - private val predefinedKlibHasIcCache = mutableMapOf( + private val predefinedKlibHasIcCache = mutableMapOf( File(fullRuntimeKlib).absolutePath to null, File(kotlinTestKLib).absolutePath to null, File(defaultRuntimeKlib).absolutePath to null ) - private val icCache: MutableMap = mutableMapOf() + private val icCache: MutableMap = mutableMapOf() - fun getCaches(): Map { - return icCache.map { it.key to it.value.createModuleCache() }.toMap() - } + fun getCaches() = icCache.map { it.value.fetchArtifacts() } fun getCacheForModule(module: TestModule): Map { val path = JsEnvironmentConfigurator.getJsKlibArtifactPath(testServices, module.name) @@ -147,14 +57,12 @@ class JsIrIncrementalDataProvider(private val testServices: TestServices) : Test val moduleCache = icCache[canonicalPath] ?: error("No cache found for $path") val oldBinaryAsts = mutableMapOf() - val dataProvider = moduleCache.cacheProvider() - val dataConsumer = moduleCache.cacheConsumer() for (testFile in module.files) { if (JsEnvironmentConfigurationDirectives.RECOMPILE in testFile.directives) { val fileName = "/${testFile.name}" - oldBinaryAsts[fileName] = dataProvider.binaryAst(fileName) ?: error("No AST found for $fileName") - dataConsumer.invalidateForFile(fileName) + oldBinaryAsts[fileName] = moduleCache.getAst(fileName) ?: error("No AST found for $fileName") + moduleCache.invalidateForFile(fileName) } } @@ -202,11 +110,11 @@ class JsIrIncrementalDataProvider(private val testServices: TestServices) : Test var moduleCache = predefinedKlibHasIcCache[canonicalPath] if (moduleCache == null) { - moduleCache = icCache[canonicalPath] ?: TestModuleCache() + moduleCache = icCache[canonicalPath] ?: TestArtifactCache() val libs = allDependencies.associateBy { File(it.libraryFile.path).canonicalPath } - val nameToKotlinLibrary: Map = libs.values.associateBy { it.moduleName } + val nameToKotlinLibrary: Map = libs.values.associateBy { it.moduleName } val dependencyGraph = libs.values.associateWith { it.manifestProperties.propertyList(KLIB_PROPERTY_DEPENDS, escapeInQuotes = true).map { depName -> @@ -218,12 +126,12 @@ class JsIrIncrementalDataProvider(private val testServices: TestServices) : Test val testPackage = extractTestPackage(testServices) - rebuildCacheForDirtyFiles( + moduleCache.moduleName = rebuildCacheForDirtyFiles( currentLib, configuration, dependencyGraph, dirtyFiles, - moduleCache.cacheConsumer(), + moduleCache, IrFactoryImplForJsIC(WholeWorldStageController()), setOf(FqName.fromSegments(listOfNotNull(testPackage, JsBoxRunner.TEST_FUNCTION))), mainArguments, diff --git a/js/js.translator/testData/incremental/invalidation/genericInlineFunctions/lib1/l1.kt.6.txt b/js/js.translator/testData/incremental/invalidation/genericInlineFunctions/lib1/l1.kt.6.txt index c411b4a8ce3..4ab437ed115 100644 --- a/js/js.translator/testData/incremental/invalidation/genericInlineFunctions/lib1/l1.kt.6.txt +++ b/js/js.translator/testData/incremental/invalidation/genericInlineFunctions/lib1/l1.kt.6.txt @@ -1,4 +1,3 @@ -// TODO: After KT-51084, m.kt from main module must be dirty inline fun foo(x: T, y: Any = 99) : T { val tmp = y as? T if (tmp != null) { diff --git a/js/js.translator/testData/incremental/invalidation/genericInlineFunctions/lib1/l1.kt.7.txt b/js/js.translator/testData/incremental/invalidation/genericInlineFunctions/lib1/l1.kt.7.txt index 249f6649e49..77776856919 100644 --- a/js/js.translator/testData/incremental/invalidation/genericInlineFunctions/lib1/l1.kt.7.txt +++ b/js/js.translator/testData/incremental/invalidation/genericInlineFunctions/lib1/l1.kt.7.txt @@ -1,4 +1,3 @@ -// TODO: After KT-51084, m.kt from main module must be dirty inline fun foo(x: T, y: Any = 99) : T { val tmp = y as? T if (tmp != null) { diff --git a/js/js.translator/testData/incremental/invalidation/genericInlineFunctions/libProxy/module.info b/js/js.translator/testData/incremental/invalidation/genericInlineFunctions/libProxy/module.info index fe1bdf98e83..3325ad63c26 100644 --- a/js/js.translator/testData/incremental/invalidation/genericInlineFunctions/libProxy/module.info +++ b/js/js.translator/testData/incremental/invalidation/genericInlineFunctions/libProxy/module.info @@ -31,6 +31,7 @@ STEP 8: dirty: proxy.kt STEP 9: dependencies: stdlib, lib1 + dirty: proxy.kt STEP 10: dependencies: stdlib, lib1 dirty: proxy.kt @@ -48,6 +49,7 @@ STEP 14: dirty: proxy.kt STEP 15: dependencies: stdlib, lib1 + dirty: proxy.kt STEP 16: dependencies: stdlib, lib1 modifications: @@ -55,6 +57,7 @@ STEP 16: dirty: proxy.kt STEP 17: dependencies: stdlib, lib1 + dirty: proxy.kt STEP 18: dependencies: stdlib, lib1 dirty: proxy.kt @@ -72,3 +75,4 @@ STEP 22: dirty: proxy.kt STEP 23: dependencies: stdlib, lib1 + dirty: proxy.kt diff --git a/js/js.translator/testData/incremental/invalidation/genericInlineFunctions/main/module.info b/js/js.translator/testData/incremental/invalidation/genericInlineFunctions/main/module.info index fc5e2938034..065039391ed 100644 --- a/js/js.translator/testData/incremental/invalidation/genericInlineFunctions/main/module.info +++ b/js/js.translator/testData/incremental/invalidation/genericInlineFunctions/main/module.info @@ -3,6 +3,7 @@ STEP 0: dirty: m.kt STEP 1: dependencies: stdlib, lib1 + dirty: m.kt STEP 2: dependencies: stdlib, lib1 dirty: m.kt @@ -20,6 +21,7 @@ STEP 6: dirty: m.kt STEP 7: dependencies: stdlib, lib1 + dirty: m.kt STEP 8: dependencies: stdlib, lib1, libProxy modifications: @@ -27,6 +29,7 @@ STEP 8: dirty: m.kt STEP 9: dependencies: stdlib, lib1, libProxy + dirty: m.kt STEP 10: dependencies: stdlib, lib1, libProxy dirty: m.kt @@ -44,11 +47,13 @@ STEP 14: dirty: m.kt STEP 15: dependencies: stdlib, lib1, libProxy + dirty: m.kt STEP 16: dependencies: stdlib, lib1, libProxy dirty: m.kt STEP 17: dependencies: stdlib, lib1, libProxy + dirty: m.kt STEP 18: dependencies: stdlib, lib1, libProxy dirty: m.kt @@ -66,3 +71,4 @@ STEP 22: dirty: m.kt STEP 23: dependencies: stdlib, lib1, libProxy + dirty: m.kt diff --git a/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/lib1/l1.kt.6.txt b/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/lib1/l1.kt.6.txt index f53552104d6..464396adec4 100644 --- a/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/lib1/l1.kt.6.txt +++ b/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/lib1/l1.kt.6.txt @@ -1,4 +1,3 @@ -// TODO: Uncomment default param after KT-51081 -inline fun foo1(/** x: Int = 123 */) = 77 +inline fun foo1(x: Int = 77) = x inline fun foo2() = 88 inline fun foo3() = "foo3 update" diff --git a/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/lib1/l1.kt.7.txt b/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/lib1/l1.kt.7.txt new file mode 100644 index 00000000000..3b4fdcc51f9 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/lib1/l1.kt.7.txt @@ -0,0 +1,3 @@ +inline fun foo1(x: Int = 99) = x +inline fun foo2() = 88 +inline fun foo3() = "foo3 update" diff --git a/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/lib1/l1.kt.8.txt b/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/lib1/l1.kt.8.txt new file mode 100644 index 00000000000..4c7457536c1 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/lib1/l1.kt.8.txt @@ -0,0 +1,3 @@ +inline fun foo1(x: () -> Int = { 99 }) = x() +inline fun foo2() = 88 +inline fun foo3() = "foo3 update" diff --git a/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/lib1/l1.kt.9.txt b/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/lib1/l1.kt.9.txt new file mode 100644 index 00000000000..36aedb27a71 --- /dev/null +++ b/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/lib1/l1.kt.9.txt @@ -0,0 +1,3 @@ +inline fun foo1(x: () -> Int = { 88 }) = x() +inline fun foo2() = 88 +inline fun foo3() = "foo3 update" diff --git a/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/lib1/module.info b/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/lib1/module.info index 7f8892bb8be..f81a6b4c027 100644 --- a/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/lib1/module.info +++ b/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/lib1/module.info @@ -33,3 +33,18 @@ STEP 6: modifications: U : l1.kt.6.txt -> l1.kt dirty: l1.kt +STEP 7: + dependencies: stdlib + modifications: + U : l1.kt.7.txt -> l1.kt + dirty: l1.kt +STEP 8: + dependencies: stdlib + modifications: + U : l1.kt.8.txt -> l1.kt + dirty: l1.kt +STEP 9: + dependencies: stdlib + modifications: + U : l1.kt.9.txt -> l1.kt + dirty: l1.kt diff --git a/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/main/module.info b/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/main/module.info index 1b39ad47e4c..a76fcc02081 100644 --- a/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/main/module.info +++ b/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/main/module.info @@ -16,3 +16,13 @@ STEP 5: dirty: m.kt STEP 6: dependencies: stdlib, lib1 + dirty: m.kt +STEP 7: + dependencies: stdlib, lib1 + dirty: m.kt +STEP 8: + dependencies: stdlib, lib1 + dirty: m.kt +STEP 9: + dependencies: stdlib, lib1 + dirty: m.kt diff --git a/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/project.info b/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/project.info index 63aeb972074..8249af14c86 100644 --- a/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/project.info +++ b/js/js.translator/testData/incremental/invalidation/inlineFunctionAsParam/project.info @@ -14,3 +14,9 @@ STEP 5: libs: lib1, main STEP 6: libs: lib1, main +STEP 7: + libs: lib1, main +STEP 8: + libs: lib1, main +STEP 9: + libs: lib1, main