diff --git a/compiler/testData/diagnostics/nativeTests/identifiers.txt b/compiler/testData/diagnostics/nativeTests/identifiers.txt index 0456bf0b629..4f096ac6cc4 100644 --- a/compiler/testData/diagnostics/nativeTests/identifiers.txt +++ b/compiler/testData/diagnostics/nativeTests/identifiers.txt @@ -50,6 +50,7 @@ package totally { public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String // Static members + public final /*synthesized*/ val entries: kotlin.enums.EnumEntriesEnum>Entry`> public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): totally.normal.pkg.`Check>Enum>Entry` public final /*synthesized*/ fun values(): kotlin.ArrayEnum>Entry`> } diff --git a/compiler/testData/diagnostics/nativeTests/nativeProtectedFunCall.kt b/compiler/testData/diagnostics/nativeTests/nativeProtectedFunCall.kt index 5b181ed32e9..c3b93d87b51 100644 --- a/compiler/testData/diagnostics/nativeTests/nativeProtectedFunCall.kt +++ b/compiler/testData/diagnostics/nativeTests/nativeProtectedFunCall.kt @@ -11,10 +11,10 @@ open class ProtectedInsideInlineError : ProtectedInsideInlineParent() { protected var protectedVar = 0 protected fun protectedFun() = 0 - inline fun publicInlineUserFun() { - println(protectedVar + protectedParentVar) + inline fun publicInlineUserFun(): Int { protectedFun() protectedParentFun() + return protectedVar + protectedParentVar } inline var publicInlineUserVal: Int diff --git a/compiler/testData/diagnostics/nativeTests/objCName.txt b/compiler/testData/diagnostics/nativeTests/objCName.txt index 2bdd29d8b96..0a6eb4da527 100644 --- a/compiler/testData/diagnostics/nativeTests/objCName.txt +++ b/compiler/testData/diagnostics/nativeTests/objCName.txt @@ -56,6 +56,7 @@ public open class Derived2 : Derived { public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String // Static members + public final /*synthesized*/ val entries: kotlin.enums.EnumEntries public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): EnumExactChecks public final /*synthesized*/ fun values(): kotlin.Array } diff --git a/compiler/testData/diagnostics/nativeTests/objCRefinement.txt b/compiler/testData/diagnostics/nativeTests/objCRefinement.txt index c579afa03bd..7aa6e7995f0 100644 --- a/compiler/testData/diagnostics/nativeTests/objCRefinement.txt +++ b/compiler/testData/diagnostics/nativeTests/objCRefinement.txt @@ -140,6 +140,7 @@ internal final class InternalInheritsFromNested : OuterHidden.Nested.Nested { public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String // Static members + public final /*synthesized*/ val entries: kotlin.enums.EnumEntries public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): MyHiddenEnum public final /*synthesized*/ fun values(): kotlin.Array } @@ -162,6 +163,7 @@ internal final class InternalInheritsFromNested : OuterHidden.Nested.Nested { public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String // Static members + public final /*synthesized*/ val entries: kotlin.enums.EnumEntries public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): MyHiddenNonTrivialEnum public final /*synthesized*/ fun values(): kotlin.Array } diff --git a/compiler/testData/diagnostics/nativeTests/topLevelSingleton.txt b/compiler/testData/diagnostics/nativeTests/topLevelSingleton.txt index 2f3c75da000..f153c91b88e 100644 --- a/compiler/testData/diagnostics/nativeTests/topLevelSingleton.txt +++ b/compiler/testData/diagnostics/nativeTests/topLevelSingleton.txt @@ -54,6 +54,7 @@ public final class Bar2 { public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String // Static members + public final /*synthesized*/ val entries: kotlin.enums.EnumEntries public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Color public final /*synthesized*/ fun values(): kotlin.Array } @@ -76,6 +77,7 @@ public final enum class Color1 : kotlin.Enum { public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String // Static members + public final /*synthesized*/ val entries: kotlin.enums.EnumEntries public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Color1 public final /*synthesized*/ fun values(): kotlin.Array } @@ -98,6 +100,7 @@ public final enum class Color2 : kotlin.Enum { public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String // Static members + public final /*synthesized*/ val entries: kotlin.enums.EnumEntries public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Color2 public final /*synthesized*/ fun values(): kotlin.Array } @@ -120,6 +123,7 @@ public final enum class Color3 : kotlin.Enum { public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String // Static members + public final /*synthesized*/ val entries: kotlin.enums.EnumEntries public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Color3 public final /*synthesized*/ fun values(): kotlin.Array } @@ -142,6 +146,7 @@ public final enum class Color4 : kotlin.Enum { public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String // Static members + public final /*synthesized*/ val entries: kotlin.enums.EnumEntries public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Color4 public final /*synthesized*/ fun values(): kotlin.Array } @@ -215,3 +220,4 @@ package kotlin { } } } + diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/classic/ClassicFrontendFacade.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/classic/ClassicFrontendFacade.kt index 205f29cfe36..dfc9943bd13 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/classic/ClassicFrontendFacade.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/classic/ClassicFrontendFacade.kt @@ -77,6 +77,7 @@ import org.jetbrains.kotlin.test.model.FrontendKinds import org.jetbrains.kotlin.test.model.TestModule import org.jetbrains.kotlin.test.services.* import org.jetbrains.kotlin.test.services.configuration.JsEnvironmentConfigurator +import org.jetbrains.kotlin.test.services.configuration.NativeEnvironmentConfigurator import org.jetbrains.kotlin.test.services.configuration.getDependencies import org.jetbrains.kotlin.test.util.KtTestUtil import org.jetbrains.kotlin.types.typeUtil.closure @@ -168,7 +169,7 @@ class ClassicFrontendFacade( module, project, configuration, compilerEnvironment, files, dependencyDescriptors, friendsDescriptors ) targetPlatform.isNative() -> performNativeModuleResolve( - module, project, compilerEnvironment, files, dependencyDescriptors, friendsDescriptors, dependsOnDescriptors + module, project, configuration, compilerEnvironment, files, dependencyDescriptors, friendsDescriptors, dependsOnDescriptors ) targetPlatform.isCommon() -> performCommonModuleResolve( module, @@ -381,6 +382,7 @@ class ClassicFrontendFacade( private fun performNativeModuleResolve( module: TestModule, project: Project, + configuration: CompilerConfiguration, compilerEnvironment: TargetEnvironment, files: List, dependencyDescriptors: List, @@ -388,9 +390,12 @@ class ClassicFrontendFacade( dependsOnDescriptors: List, ): AnalysisResult { val moduleTrace = NoScopeRecordCliBindingTrace() + val runtimeKlibsNames = NativeEnvironmentConfigurator.getRuntimePathsForModule(module, testServices) + val runtimeKlibs = loadKlib(runtimeKlibsNames, configuration).mapNotNull { it as? ModuleDescriptorImpl } + val moduleContext = createModuleContext( module, project, - dependencyDescriptors = dependencyDescriptors, + dependencyDescriptors = dependencyDescriptors + runtimeKlibs, friendsDescriptors = friendsDescriptors, dependsOnDescriptors = dependsOnDescriptors ) { diff --git a/native/native.tests/tests/org/jetbrains/kotlin/konan/diagnostics/AbstractDiagnosticsNativeTest.kt b/native/native.tests/tests/org/jetbrains/kotlin/konan/diagnostics/AbstractDiagnosticsNativeTest.kt index 07b72feb447..c249e10b1a9 100644 --- a/native/native.tests/tests/org/jetbrains/kotlin/konan/diagnostics/AbstractDiagnosticsNativeTest.kt +++ b/native/native.tests/tests/org/jetbrains/kotlin/konan/diagnostics/AbstractDiagnosticsNativeTest.kt @@ -24,6 +24,7 @@ import org.jetbrains.kotlin.test.model.* import org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerTest import org.jetbrains.kotlin.test.runners.configurationForClassicAndFirTestsAlongside import org.jetbrains.kotlin.test.runners.enableLazyResolvePhaseChecking +import org.jetbrains.kotlin.test.services.LibraryProvider import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigurator import org.jetbrains.kotlin.test.services.configuration.NativeEnvironmentConfigurator import org.jetbrains.kotlin.test.services.sourceProviders.AdditionalDiagnosticsSourceFilesProvider @@ -43,6 +44,7 @@ abstract class AbstractDiagnosticsNativeTestBase