[LightTree] Stop reporting LOCAL_VARIABLE_WITH_TYPE_PARAMETERS on
...destructuring declarations to make it similar to PSI. ^KT-62704
This commit is contained in:
committed by
Space Team
parent
d22cc01638
commit
8c000b8319
+3
-4
@@ -5,10 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.fir.analysis.checkers.syntax
|
package org.jetbrains.kotlin.fir.analysis.checkers.syntax
|
||||||
|
|
||||||
import org.jetbrains.kotlin.KtFakeSourceElementKind
|
import org.jetbrains.kotlin.*
|
||||||
import org.jetbrains.kotlin.KtLightSourceElement
|
|
||||||
import org.jetbrains.kotlin.KtPsiSourceElement
|
|
||||||
import org.jetbrains.kotlin.KtSourceElement
|
|
||||||
import org.jetbrains.kotlin.config.LanguageFeature
|
import org.jetbrains.kotlin.config.LanguageFeature
|
||||||
import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext
|
import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext
|
||||||
import org.jetbrains.kotlin.diagnostics.DiagnosticReporter
|
import org.jetbrains.kotlin.diagnostics.DiagnosticReporter
|
||||||
@@ -45,6 +42,8 @@ object FirLocalVariableTypeParametersSyntaxChecker : FirDeclarationSyntaxChecker
|
|||||||
context: CheckerContext,
|
context: CheckerContext,
|
||||||
reporter: DiagnosticReporter
|
reporter: DiagnosticReporter
|
||||||
) {
|
) {
|
||||||
|
val node = source.lighterASTNode
|
||||||
|
if (node.tokenType != KtNodeTypes.PROPERTY) return
|
||||||
source.treeStructure.typeParametersList(source.lighterASTNode)?.let { _ ->
|
source.treeStructure.typeParametersList(source.lighterASTNode)?.let { _ ->
|
||||||
val diagnostic =
|
val diagnostic =
|
||||||
if (context.languageVersionSettings.supportsFeature(LanguageFeature.ProhibitTypeParametersForLocalVariables))
|
if (context.languageVersionSettings.supportsFeature(LanguageFeature.ProhibitTypeParametersForLocalVariables))
|
||||||
|
|||||||
Vendored
+4
-5
@@ -1,6 +1,5 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
// COMPARE_WITH_LIGHT_TREE
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
|
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
|
||||||
@@ -47,8 +46,8 @@ fun case_5() {
|
|||||||
* UNEXPECTED BEHAVIOUR
|
* UNEXPECTED BEHAVIOUR
|
||||||
*/
|
*/
|
||||||
fun case_6() {
|
fun case_6() {
|
||||||
val <!LOCAL_VARIABLE_WITH_TYPE_PARAMETERS{LT}!><T : __UNRESOLVED__><!> (x1, y1) = Pair(1, 2)
|
val <T : __UNRESOLVED__> (x1, y1) = Pair(1, 2)
|
||||||
var <!LOCAL_VARIABLE_WITH_TYPE_PARAMETERS{LT}!><T : __UNRESOLVED__><!> (x2, y2) = Pair(1, 2)
|
var <T : __UNRESOLVED__> (x2, y2) = Pair(1, 2)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -56,8 +55,8 @@ fun case_6() {
|
|||||||
* UNEXPECTED BEHAVIOUR
|
* UNEXPECTED BEHAVIOUR
|
||||||
*/
|
*/
|
||||||
fun case_7() {
|
fun case_7() {
|
||||||
val <!LOCAL_VARIABLE_WITH_TYPE_PARAMETERS{LT}!><T : __UNRESOLVED__><!> (x1, y1) where __UNRESOLVED__: __UNRESOLVED__ = Pair(1, 2)
|
val <T : __UNRESOLVED__> (x1, y1) where __UNRESOLVED__: __UNRESOLVED__ = Pair(1, 2)
|
||||||
var <!LOCAL_VARIABLE_WITH_TYPE_PARAMETERS{LT}!><T : __UNRESOLVED__><!> (x2, y2) where __UNRESOLVED__: __UNRESOLVED__ = Pair(1, 2)
|
var <T : __UNRESOLVED__> (x2, y2) where __UNRESOLVED__: __UNRESOLVED__ = Pair(1, 2)
|
||||||
}
|
}
|
||||||
|
|
||||||
// TESTCASE NUMBER: 8
|
// TESTCASE NUMBER: 8
|
||||||
|
|||||||
Vendored
-1
@@ -1,6 +1,5 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
// COMPARE_WITH_LIGHT_TREE
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
|
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
|
||||||
|
|||||||
Reference in New Issue
Block a user