FIR: forbid nullable source for function type parameters
diff --git a/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/type/FirFunctionalTypeParameterNameChecker.kt b/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/type/FirFunctionalTypeParameterNameChecker.kt index 15deba9..b923b91 100644 --- a/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/type/FirFunctionalTypeParameterNameChecker.kt +++ b/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/type/FirFunctionalTypeParameterNameChecker.kt
@@ -22,7 +22,7 @@ private fun check(typeRef: FirFunctionTypeParameter, context: CheckerContext, reporter: DiagnosticReporter) { val name = typeRef.name ?: return - val typeRefSource = typeRef.source ?: return + val typeRefSource = typeRef.source FirJvmNamesChecker.checkNameAndReport(name, typeRefSource, context, reporter) } }
diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirSupertypesChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirSupertypesChecker.kt index 2bde134..3e7732f 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirSupertypesChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirSupertypesChecker.kt
@@ -237,7 +237,6 @@ } private fun FirFunctionTypeParameter.findSourceForParameterName(): KtSourceElement? { - val source = this.source ?: return null val name = this.name ?: return null val treeStructure = source.treeStructure val nodes = source.lighterASTNode.getChildren(treeStructure)
diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/LookupTagUtils.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/LookupTagUtils.kt index ca3b5c5..ecccb6f 100644 --- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/LookupTagUtils.kt +++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/LookupTagUtils.kt
@@ -44,7 +44,7 @@ // Existing @ParameterName annotation takes precedence if (attributes.parameterNameAttribute != null) return this - val fakeSource = parameter.source?.fakeElement(KtFakeSourceElementKind.ParameterNameAnnotationCall) + val fakeSource = parameter.source.fakeElement(KtFakeSourceElementKind.ParameterNameAnnotationCall) val parameterNameAnnotationCall = buildAnnotation { source = fakeSource annotationTypeRef =
diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/FirFunctionTypeParameter.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/FirFunctionTypeParameter.kt index 0f4d951..5a9d471 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/FirFunctionTypeParameter.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/FirFunctionTypeParameter.kt
@@ -18,7 +18,7 @@ * Generated from: [org.jetbrains.kotlin.fir.tree.generator.FirTree.functionTypeParameter] */ abstract class FirFunctionTypeParameter : FirPureAbstractElement(), FirElement { - abstract override val source: KtSourceElement? + abstract override val source: KtSourceElement abstract val name: Name? abstract val returnTypeRef: FirTypeRef
diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/builder/FirFunctionTypeParameterBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/builder/FirFunctionTypeParameterBuilder.kt index c44cb83..8f755c4 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/builder/FirFunctionTypeParameterBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/builder/FirFunctionTypeParameterBuilder.kt
@@ -19,7 +19,7 @@ @FirBuilderDsl class FirFunctionTypeParameterBuilder { - var source: KtSourceElement? = null + lateinit var source: KtSourceElement var name: Name? = null lateinit var returnTypeRef: FirTypeRef
diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/impl/FirFunctionTypeParameterImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/impl/FirFunctionTypeParameterImpl.kt index 95cacb8..ab225ad 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/impl/FirFunctionTypeParameterImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/impl/FirFunctionTypeParameterImpl.kt
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.name.Name internal class FirFunctionTypeParameterImpl( - override val source: KtSourceElement?, + override val source: KtSourceElement, override val name: Name?, override var returnTypeRef: FirTypeRef, ) : FirFunctionTypeParameter() {
diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/FirTree.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/FirTree.kt index d3ab2d4..951fb7e 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/FirTree.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/FirTree.kt
@@ -672,6 +672,7 @@ val functionTypeParameter: Element by element(Other) { parent(rootElement) + +field("source", sourceElementType, nullable = false) +field("name", nameType, nullable = true) +field("returnTypeRef", typeRef) }