[K/N] Fix stdlib import in DiagnosticsNativeTests

Merge-request: KT-MR-11635
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
This commit is contained in:
Vladimir Sukharev
2023-08-16 08:27:16 +00:00
committed by Space Team
parent 97bbf69bdc
commit 8f03eb9314
7 changed files with 22 additions and 10 deletions
@@ -50,6 +50,7 @@ package totally {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members // Static members
public final /*synthesized*/ val entries: kotlin.enums.EnumEntries<totally.normal.pkg.`Check>Enum>Entry`>
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): totally.normal.pkg.`Check>Enum>Entry` public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): totally.normal.pkg.`Check>Enum>Entry`
public final /*synthesized*/ fun values(): kotlin.Array<totally.normal.pkg.`Check>Enum>Entry`> public final /*synthesized*/ fun values(): kotlin.Array<totally.normal.pkg.`Check>Enum>Entry`>
} }
@@ -11,10 +11,10 @@ open class ProtectedInsideInlineError : ProtectedInsideInlineParent() {
protected var protectedVar = 0 protected var protectedVar = 0
protected fun protectedFun() = 0 protected fun protectedFun() = 0
inline fun publicInlineUserFun() { inline fun publicInlineUserFun(): Int {
<!UNRESOLVED_REFERENCE!>println<!>(<!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>protectedVar<!> + <!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>protectedParentVar<!>)
<!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>protectedFun<!>() <!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>protectedFun<!>()
<!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>protectedParentFun<!>() <!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>protectedParentFun<!>()
return <!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>protectedVar<!> + <!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>protectedParentVar<!>
} }
inline var publicInlineUserVal: Int inline var publicInlineUserVal: Int
@@ -56,6 +56,7 @@ public open class Derived2 : Derived {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members // Static members
public final /*synthesized*/ val entries: kotlin.enums.EnumEntries<EnumExactChecks>
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): EnumExactChecks public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): EnumExactChecks
public final /*synthesized*/ fun values(): kotlin.Array<EnumExactChecks> public final /*synthesized*/ fun values(): kotlin.Array<EnumExactChecks>
} }
@@ -140,6 +140,7 @@ internal final class InternalInheritsFromNested : OuterHidden.Nested.Nested {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members // Static members
public final /*synthesized*/ val entries: kotlin.enums.EnumEntries<MyHiddenEnum>
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): MyHiddenEnum public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): MyHiddenEnum
public final /*synthesized*/ fun values(): kotlin.Array<MyHiddenEnum> public final /*synthesized*/ fun values(): kotlin.Array<MyHiddenEnum>
} }
@@ -162,6 +163,7 @@ internal final class InternalInheritsFromNested : OuterHidden.Nested.Nested {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members // Static members
public final /*synthesized*/ val entries: kotlin.enums.EnumEntries<MyHiddenNonTrivialEnum>
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): MyHiddenNonTrivialEnum public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): MyHiddenNonTrivialEnum
public final /*synthesized*/ fun values(): kotlin.Array<MyHiddenNonTrivialEnum> public final /*synthesized*/ fun values(): kotlin.Array<MyHiddenNonTrivialEnum>
} }
@@ -54,6 +54,7 @@ public final class Bar2 {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members // Static members
public final /*synthesized*/ val entries: kotlin.enums.EnumEntries<Color>
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Color public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Color
public final /*synthesized*/ fun values(): kotlin.Array<Color> public final /*synthesized*/ fun values(): kotlin.Array<Color>
} }
@@ -76,6 +77,7 @@ public final enum class Color1 : kotlin.Enum<Color1> {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members // Static members
public final /*synthesized*/ val entries: kotlin.enums.EnumEntries<Color1>
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Color1 public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Color1
public final /*synthesized*/ fun values(): kotlin.Array<Color1> public final /*synthesized*/ fun values(): kotlin.Array<Color1>
} }
@@ -98,6 +100,7 @@ public final enum class Color2 : kotlin.Enum<Color2> {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members // Static members
public final /*synthesized*/ val entries: kotlin.enums.EnumEntries<Color2>
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Color2 public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Color2
public final /*synthesized*/ fun values(): kotlin.Array<Color2> public final /*synthesized*/ fun values(): kotlin.Array<Color2>
} }
@@ -120,6 +123,7 @@ public final enum class Color3 : kotlin.Enum<Color3> {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members // Static members
public final /*synthesized*/ val entries: kotlin.enums.EnumEntries<Color3>
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Color3 public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Color3
public final /*synthesized*/ fun values(): kotlin.Array<Color3> public final /*synthesized*/ fun values(): kotlin.Array<Color3>
} }
@@ -142,6 +146,7 @@ public final enum class Color4 : kotlin.Enum<Color4> {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members // Static members
public final /*synthesized*/ val entries: kotlin.enums.EnumEntries<Color4>
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Color4 public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Color4
public final /*synthesized*/ fun values(): kotlin.Array<Color4> public final /*synthesized*/ fun values(): kotlin.Array<Color4>
} }
@@ -215,3 +220,4 @@ package kotlin {
} }
} }
} }
@@ -77,6 +77,7 @@ import org.jetbrains.kotlin.test.model.FrontendKinds
import org.jetbrains.kotlin.test.model.TestModule import org.jetbrains.kotlin.test.model.TestModule
import org.jetbrains.kotlin.test.services.* import org.jetbrains.kotlin.test.services.*
import org.jetbrains.kotlin.test.services.configuration.JsEnvironmentConfigurator 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.services.configuration.getDependencies
import org.jetbrains.kotlin.test.util.KtTestUtil import org.jetbrains.kotlin.test.util.KtTestUtil
import org.jetbrains.kotlin.types.typeUtil.closure import org.jetbrains.kotlin.types.typeUtil.closure
@@ -168,7 +169,7 @@ class ClassicFrontendFacade(
module, project, configuration, compilerEnvironment, files, dependencyDescriptors, friendsDescriptors module, project, configuration, compilerEnvironment, files, dependencyDescriptors, friendsDescriptors
) )
targetPlatform.isNative() -> performNativeModuleResolve( targetPlatform.isNative() -> performNativeModuleResolve(
module, project, compilerEnvironment, files, dependencyDescriptors, friendsDescriptors, dependsOnDescriptors module, project, configuration, compilerEnvironment, files, dependencyDescriptors, friendsDescriptors, dependsOnDescriptors
) )
targetPlatform.isCommon() -> performCommonModuleResolve( targetPlatform.isCommon() -> performCommonModuleResolve(
module, module,
@@ -381,6 +382,7 @@ class ClassicFrontendFacade(
private fun performNativeModuleResolve( private fun performNativeModuleResolve(
module: TestModule, module: TestModule,
project: Project, project: Project,
configuration: CompilerConfiguration,
compilerEnvironment: TargetEnvironment, compilerEnvironment: TargetEnvironment,
files: List<KtFile>, files: List<KtFile>,
dependencyDescriptors: List<ModuleDescriptorImpl>, dependencyDescriptors: List<ModuleDescriptorImpl>,
@@ -388,9 +390,12 @@ class ClassicFrontendFacade(
dependsOnDescriptors: List<ModuleDescriptorImpl>, dependsOnDescriptors: List<ModuleDescriptorImpl>,
): AnalysisResult { ): AnalysisResult {
val moduleTrace = NoScopeRecordCliBindingTrace() val moduleTrace = NoScopeRecordCliBindingTrace()
val runtimeKlibsNames = NativeEnvironmentConfigurator.getRuntimePathsForModule(module, testServices)
val runtimeKlibs = loadKlib(runtimeKlibsNames, configuration).mapNotNull { it as? ModuleDescriptorImpl }
val moduleContext = createModuleContext( val moduleContext = createModuleContext(
module, project, module, project,
dependencyDescriptors = dependencyDescriptors, dependencyDescriptors = dependencyDescriptors + runtimeKlibs,
friendsDescriptors = friendsDescriptors, friendsDescriptors = friendsDescriptors,
dependsOnDescriptors = dependsOnDescriptors dependsOnDescriptors = dependsOnDescriptors
) { ) {
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.test.model.*
import org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerTest import org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerTest
import org.jetbrains.kotlin.test.runners.configurationForClassicAndFirTestsAlongside import org.jetbrains.kotlin.test.runners.configurationForClassicAndFirTestsAlongside
import org.jetbrains.kotlin.test.runners.enableLazyResolvePhaseChecking 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.CommonEnvironmentConfigurator
import org.jetbrains.kotlin.test.services.configuration.NativeEnvironmentConfigurator import org.jetbrains.kotlin.test.services.configuration.NativeEnvironmentConfigurator
import org.jetbrains.kotlin.test.services.sourceProviders.AdditionalDiagnosticsSourceFilesProvider import org.jetbrains.kotlin.test.services.sourceProviders.AdditionalDiagnosticsSourceFilesProvider
@@ -43,6 +44,7 @@ abstract class AbstractDiagnosticsNativeTestBase<R : ResultingArtifact.FrontendO
defaultDirectives { defaultDirectives {
+JvmEnvironmentConfigurationDirectives.USE_PSI_CLASS_FILES_READING +JvmEnvironmentConfigurationDirectives.USE_PSI_CLASS_FILES_READING
+ConfigurationDirectives.WITH_STDLIB
} }
enableMetaInfoHandler() enableMetaInfoHandler()
@@ -65,12 +67,6 @@ abstract class AbstractDiagnosticsNativeTestBase<R : ResultingArtifact.FrontendO
forTestsMatching("testData/diagnostics/nativeTests/*") { forTestsMatching("testData/diagnostics/nativeTests/*") {
defaultDirectives { defaultDirectives {
+LanguageSettingsDirectives.ALLOW_KOTLIN_PACKAGE +LanguageSettingsDirectives.ALLOW_KOTLIN_PACKAGE
+ConfigurationDirectives.WITH_STDLIB
}
}
forTestsMatching("testData/diagnostics/nativeTests/testsWithStdLib/*") {
defaultDirectives {
+ConfigurationDirectives.WITH_STDLIB
} }
} }
} }
@@ -90,6 +86,7 @@ abstract class AbstractDiagnosticsNativeTest : AbstractDiagnosticsNativeTestBase
::ClassicDiagnosticsHandler, ::ClassicDiagnosticsHandler,
) )
} }
builder.useAdditionalService(::LibraryProvider)
} }
} }