Skip to content

Commit 19a054f

Browse files
authored
Merge branch 'JetBrains:master' into zip-cache
2 parents 4558431 + 79238d8 commit 19a054f

File tree

392 files changed

+4338
-2335
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

392 files changed

+4338
-2335
lines changed

analysis/analysis-api-fe10/build.gradle.kts

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile
33
plugins {
44
kotlin("jvm")
55
id("jps-compatible")
6+
id("java-test-fixtures")
67
}
78

89
dependencies {
@@ -20,26 +21,24 @@ dependencies {
2021
implementation(project(":compiler:backend.jvm"))
2122
implementation(project(":compiler:backend.jvm.entrypoint"))
2223

23-
testApi(platform(libs.junit.bom))
24-
testImplementation(libs.junit.jupiter.api)
24+
testFixturesApi(platform(libs.junit.bom))
25+
testFixturesApi(libs.junit.jupiter.api)
2526
testRuntimeOnly(libs.junit.jupiter.engine)
26-
testImplementation(project(":analysis:analysis-api-platform-interface"))
27-
testImplementation(project(":analysis:analysis-api-standalone:analysis-api-standalone-base"))
28-
testImplementation(projectTests(":compiler:tests-common"))
29-
testApi(projectTests(":compiler:test-infrastructure-utils"))
30-
testApi(projectTests(":compiler:test-infrastructure"))
31-
testImplementation(projectTests(":compiler:tests-common-new"))
32-
testImplementation(projectTests(":analysis:analysis-api-impl-base"))
33-
testImplementation(projectTests(":analysis:analysis-test-framework"))
27+
testFixturesImplementation(project(":analysis:analysis-api-platform-interface"))
28+
testFixturesImplementation(project(":analysis:analysis-api-standalone:analysis-api-standalone-base"))
29+
testFixturesImplementation(testFixtures(project(":compiler:tests-common")))
30+
testFixturesApi(testFixtures(project(":compiler:test-infrastructure-utils")))
31+
testFixturesApi(testFixtures(project(":compiler:test-infrastructure")))
32+
testFixturesImplementation(testFixtures(project(":compiler:tests-common-new")))
33+
testFixturesApi(testFixtures(project(":analysis:analysis-api-impl-base")))
34+
testFixturesApi(testFixtures(project(":analysis:analysis-test-framework")))
3435

3536
}
3637

3738
sourceSets {
3839
"main" { projectDefault() }
39-
"test" {
40-
projectDefault()
41-
generatedTestDir()
42-
}
40+
"test" { generatedTestDir() }
41+
"testFixtures" { projectDefault() }
4342
}
4443

4544
tasks.withType<KotlinJvmCompile>().configureEach {

analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/types/Fe10IdeNormalAnalysisSourceModuleTypeByDeclarationReturnTypeTestGenerated.java

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

analysis/analysis-api-fir/build.gradle.kts

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ plugins {
44
kotlin("jvm")
55
id("jps-compatible")
66
id("generated-sources")
7+
id("java-test-fixtures")
78
}
89

910
dependencies {
@@ -37,25 +38,27 @@ dependencies {
3738
implementation(libs.caffeine)
3839
implementation(libs.opentelemetry.api)
3940

40-
testImplementation(projectTests(":analysis:low-level-api-fir"))
41-
testImplementation(project(":analysis:analysis-api-standalone:analysis-api-standalone-base"))
42-
testImplementation(projectTests(":compiler:tests-common"))
43-
testApi(projectTests(":compiler:test-infrastructure-utils"))
44-
testApi(projectTests(":compiler:test-infrastructure"))
45-
testImplementation(projectTests(":compiler:tests-common-new"))
46-
testImplementation(projectTests(":compiler:fir:analysis-tests:legacy-fir-tests"))
47-
testImplementation(projectTests(":analysis:analysis-api-impl-base"))
48-
testImplementation(projectTests(":analysis:decompiled:decompiler-to-file-stubs"))
49-
testImplementation(project(":analysis:analysis-api-standalone:analysis-api-fir-standalone-base"))
50-
testImplementation(project(":analysis:decompiled:decompiler-to-file-stubs"))
51-
testImplementation(project(":analysis:decompiled:decompiler-to-psi"))
52-
testImplementation(kotlinTest("junit"))
53-
testApi(projectTests(":analysis:analysis-test-framework"))
41+
testFixturesImplementation(testFixtures(project(":analysis:low-level-api-fir")))
42+
testFixturesApi(project(":analysis:analysis-api-standalone:analysis-api-standalone-base"))
43+
testFixturesImplementation(testFixtures(project(":compiler:tests-common")))
44+
testFixturesApi(testFixtures(project(":compiler:test-infrastructure-utils")))
45+
testFixturesApi(testFixtures(project(":compiler:test-infrastructure")))
46+
testFixturesImplementation(testFixtures(project(":compiler:tests-common-new")))
47+
testFixturesImplementation(testFixtures(project(":compiler:fir:analysis-tests:legacy-fir-tests")))
48+
testFixturesApi(testFixtures(project(":analysis:analysis-api-impl-base")))
49+
testFixturesImplementation(testFixtures(project(":analysis:decompiled:decompiler-to-file-stubs")))
50+
testFixturesImplementation(project(":analysis:analysis-api-standalone:analysis-api-fir-standalone-base"))
51+
testFixturesImplementation(project(":analysis:decompiled:decompiler-to-file-stubs"))
52+
testFixturesImplementation(project(":analysis:decompiled:decompiler-to-psi"))
53+
testFixturesImplementation(kotlinTest("junit"))
54+
testFixturesApi(testFixtures(project(":analysis:analysis-test-framework")))
55+
56+
testImplementation(testFixtures(project(":analysis:low-level-api-fir")))
5457

5558
testCompileOnly(toolsJarApi())
5659
testRuntimeOnly(toolsJar())
57-
testApi(platform(libs.junit.bom))
58-
testImplementation(libs.junit.jupiter.api)
60+
testFixturesApi(platform(libs.junit.bom))
61+
testFixturesImplementation(libs.junit.jupiter.api)
5962
testRuntimeOnly(libs.junit.jupiter.engine)
6063
}
6164

@@ -65,6 +68,7 @@ sourceSets {
6568
projectDefault()
6669
generatedTestDir()
6770
}
71+
"testFixtures" { projectDefault() }
6872
}
6973

7074
optInToUnsafeDuringIrConstructionAPI()

analysis/analysis-api-fir/gen/org/jetbrains/kotlin/analysis/api/fir/diagnostics/KaFirDataClassConverters.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3671,6 +3671,14 @@ internal val KT_DIAGNOSTIC_CONVERTER = KaDiagnosticConverterBuilder.buildConvert
36713671
token,
36723672
)
36733673
}
3674+
add(FirErrors.OVERRIDING_IGNORABLE_WITH_MUST_USE) { firDiagnostic ->
3675+
OverridingIgnorableWithMustUseImpl(
3676+
firSymbolBuilder.callableBuilder.buildCallableSymbol(firDiagnostic.a),
3677+
firSymbolBuilder.classifierBuilder.buildClassLikeSymbol(firDiagnostic.b),
3678+
firDiagnostic as KtPsiDiagnostic,
3679+
token,
3680+
)
3681+
}
36743682
add(FirErrors.MANY_COMPANION_OBJECTS) { firDiagnostic ->
36753683
ManyCompanionObjectsImpl(
36763684
firDiagnostic as KtPsiDiagnostic,

analysis/analysis-api-fir/gen/org/jetbrains/kotlin/analysis/api/fir/diagnostics/KaFirDiagnostics.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2586,6 +2586,12 @@ sealed interface KaFirDiagnostic<PSI : PsiElement> : KaDiagnosticWithPsi<PSI> {
25862586
val overriddenDeclaration: KaCallableSymbol
25872587
}
25882588

2589+
interface OverridingIgnorableWithMustUse : KaFirDiagnostic<KtDeclaration> {
2590+
override val diagnosticClass get() = OverridingIgnorableWithMustUse::class
2591+
val method: KaCallableSymbol
2592+
val parentClass: KaClassLikeSymbol
2593+
}
2594+
25892595
interface ManyCompanionObjects : KaFirDiagnostic<KtObjectDeclaration> {
25902596
override val diagnosticClass get() = ManyCompanionObjects::class
25912597
}

analysis/analysis-api-fir/gen/org/jetbrains/kotlin/analysis/api/fir/diagnostics/KaFirDiagnosticsImpl.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3092,6 +3092,13 @@ internal class NonSuspendOverriddenBySuspendImpl(
30923092
token: KaLifetimeToken,
30933093
) : KaAbstractFirDiagnostic<KtCallableDeclaration>(firDiagnostic, token), KaFirDiagnostic.NonSuspendOverriddenBySuspend
30943094

3095+
internal class OverridingIgnorableWithMustUseImpl(
3096+
override val method: KaCallableSymbol,
3097+
override val parentClass: KaClassLikeSymbol,
3098+
firDiagnostic: KtPsiDiagnostic,
3099+
token: KaLifetimeToken,
3100+
) : KaAbstractFirDiagnostic<KtDeclaration>(firDiagnostic, token), KaFirDiagnostic.OverridingIgnorableWithMustUse
3101+
30953102
internal class ManyCompanionObjectsImpl(
30963103
firDiagnostic: KtPsiDiagnostic,
30973104
token: KaLifetimeToken,

analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KaFirSymbolRelationProvider.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ internal class KaFirSymbolRelationProvider(
143143
}
144144

145145
private fun getContainingDeclarationsForLocalClass(firSymbol: FirBasedSymbol<*>, symbolFirSession: FirSession): KaDeclarationSymbol? {
146-
val fir = firSymbol.fir as? FirRegularClass ?: return null
146+
val fir = firSymbol.fir as? FirClassLikeDeclaration ?: return null
147147
val containerSymbol = fir.containingClassForLocalAttr?.toSymbol(symbolFirSession) ?: return null
148148
return firSymbolBuilder.classifierBuilder.buildClassLikeSymbol(containerSymbol)
149149
}

analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KaFirTypeProvider.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ internal class KaFirTypeProvider(
106106
val firFile = position.containingKtFile.getOrBuildFirFile(resolutionFacade)
107107
val scopeContext = ContextCollector.process(resolutionFacade, firFile, position)
108108
val scopeClassifiers = scopeContext?.towerDataContext?.localScopes?.map { localScope ->
109-
localScope.classes
109+
localScope.classLikeSymbols
110110
}
111111

112112
/**
@@ -132,7 +132,7 @@ internal class KaFirTypeProvider(
132132
* It iterates through all the scopes from the outermost to the localmost and puts all named classifiers into the map.
133133
* If there is already some classifier stored for a given name, then another more local classifier shadows the previous one in the map.
134134
*/
135-
val allAccessibleClassifiers = HashMap<Name, FirRegularClassSymbol>().apply {
135+
val allAccessibleClassifiers = HashMap<Name, FirClassLikeSymbol<*>>().apply {
136136
scopeClassifiers?.forEach { currentScope ->
137137
this.putAll(currentScope)
138138
}

analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/types/qualifiers/UsualClassTypeQualifierBuilder.kt

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import org.jetbrains.kotlin.fir.declarations.utils.isInner
1717
import org.jetbrains.kotlin.fir.declarations.utils.isLocal
1818
import org.jetbrains.kotlin.fir.resolve.toRegularClassSymbol
1919
import org.jetbrains.kotlin.fir.resolve.toSymbol
20-
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
2120
import org.jetbrains.kotlin.fir.symbols.impl.LookupTagInternals
2221
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
2322
import org.jetbrains.kotlin.fir.utils.exceptions.withConeTypeEntry
@@ -35,20 +34,10 @@ internal object UsualClassTypeQualifierBuilder {
3534
withEntry("useSiteSession", builder.rootSession) { it.toString() }
3635
}
3736

38-
39-
if (classSymbolToRender !is FirRegularClassSymbol) {
40-
return listOf(
41-
KaBaseResolvedClassTypeQualifier(
42-
builder.classifierBuilder.buildClassifierSymbol(classSymbolToRender),
43-
coneType.typeArguments.map { builder.typeBuilder.buildTypeProjection(it) },
44-
)
45-
)
46-
}
47-
4837
val designation = classSymbolToRender.fir.let {
4938
val nonLocalDesignation = it.tryCollectDesignationWithOptionalFile()
5039
nonLocalDesignation?.toSequence(includeTarget = true)?.toList() ?: collectDesignationPathForLocal(it)
51-
}.filterIsInstance<FirRegularClass>()
40+
}.filterIsInstance<FirClassLikeDeclaration>()
5241

5342
var typeParametersLeft = coneType.typeArguments.size
5443

@@ -80,7 +69,7 @@ internal object UsualClassTypeQualifierBuilder {
8069
return result
8170
}
8271

83-
private fun FirRegularClass.collectForLocal(): List<FirClassLikeDeclaration> {
72+
private fun FirClassLikeDeclaration.collectForLocal(): List<FirClassLikeDeclaration> {
8473
require(isLocal)
8574
var containingClassLookUp = containingClassForLocal()
8675
val designation = mutableListOf<FirClassLikeDeclaration>(this)
@@ -102,8 +91,9 @@ internal object UsualClassTypeQualifierBuilder {
10291
}
10392
return when (declaration) {
10493
is FirAnonymousObject -> listOf(declaration)
105-
is FirRegularClass -> declaration.collectForLocal()
106-
is FirTypeAlias -> listOf(declaration) // TODO: handle type aliases
94+
is FirRegularClass,
95+
is FirTypeAlias
96+
-> declaration.collectForLocal()
10797
}
10898
}
10999
}

analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/types/FirIdeNormalAnalysisSourceModuleTypeByDeclarationReturnTypeTestGenerated.java

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)