[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
// 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 values(): kotlin.Array<totally.normal.pkg.`Check>Enum>Entry`>
}
@@ -11,10 +11,10 @@ open class ProtectedInsideInlineError : ProtectedInsideInlineParent() {
protected var protectedVar = 0
protected fun protectedFun() = 0
inline fun publicInlineUserFun() {
<!UNRESOLVED_REFERENCE!>println<!>(<!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>protectedVar<!> + <!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>protectedParentVar<!>)
inline fun publicInlineUserFun(): Int {
<!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>protectedFun<!>()
<!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
@@ -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<EnumExactChecks>
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): 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
// 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 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
// 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 values(): kotlin.Array<MyHiddenNonTrivialEnum>
}
@@ -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<Color>
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): 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
// 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 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
// 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 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
// 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 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
// 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 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.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<KtFile>,
dependencyDescriptors: List<ModuleDescriptorImpl>,
@@ -388,9 +390,12 @@ class ClassicFrontendFacade(
dependsOnDescriptors: List<ModuleDescriptorImpl>,
): 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
) {
@@ -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<R : ResultingArtifact.FrontendO
defaultDirectives {
+JvmEnvironmentConfigurationDirectives.USE_PSI_CLASS_FILES_READING
+ConfigurationDirectives.WITH_STDLIB
}
enableMetaInfoHandler()
@@ -65,12 +67,6 @@ abstract class AbstractDiagnosticsNativeTestBase<R : ResultingArtifact.FrontendO
forTestsMatching("testData/diagnostics/nativeTests/*") {
defaultDirectives {
+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,
)
}
builder.useAdditionalService(::LibraryProvider)
}
}