rrn/sukharev/kt59433-add-text-for-NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE
Follow-up to https://jetbrains.team/p/kt/reviews/12502/timeline which was incomplete for https://youtrack.jetbrains.com/issue/KT-59433/K2-Missing-NESTEDCLASSACCESSEDVIAINSTANCEREFERENCE - Fix test DefaultMessagesTest by adding a text for new diagnostic. - Move diagnostic's definition into better place Merge-request: KT-MR-12680 Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
This commit is contained in:
committed by
Space Team
parent
ad0fad5fad
commit
f98451e381
+7
-7
@@ -524,13 +524,6 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE) { firDiagnostic ->
|
||||
NestedClassAccessedViaInstanceReferenceImpl(
|
||||
firSymbolBuilder.classifierBuilder.buildClassLikeSymbol(firDiagnostic.a),
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.SUPER_IS_NOT_AN_EXPRESSION) { firDiagnostic ->
|
||||
SuperIsNotAnExpressionImpl(
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
@@ -2024,6 +2017,13 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE) { firDiagnostic ->
|
||||
NestedClassAccessedViaInstanceReferenceImpl(
|
||||
firSymbolBuilder.classifierBuilder.buildClassLikeSymbol(firDiagnostic.a),
|
||||
firDiagnostic as KtPsiDiagnostic,
|
||||
token,
|
||||
)
|
||||
}
|
||||
add(FirErrors.OVERLOAD_RESOLUTION_AMBIGUITY) { firDiagnostic ->
|
||||
OverloadResolutionAmbiguityImpl(
|
||||
firDiagnostic.a.map { firBasedSymbol ->
|
||||
|
||||
+5
-5
@@ -414,11 +414,6 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
val suggestedFunction: String
|
||||
}
|
||||
|
||||
interface NestedClassAccessedViaInstanceReference : KtFirDiagnostic<PsiElement> {
|
||||
override val diagnosticClass get() = NestedClassAccessedViaInstanceReference::class
|
||||
val symbol: KtClassLikeSymbol
|
||||
}
|
||||
|
||||
interface SuperIsNotAnExpression : KtFirDiagnostic<PsiElement> {
|
||||
override val diagnosticClass get() = SuperIsNotAnExpression::class
|
||||
}
|
||||
@@ -1452,6 +1447,11 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
val message: String
|
||||
}
|
||||
|
||||
interface NestedClassAccessedViaInstanceReference : KtFirDiagnostic<PsiElement> {
|
||||
override val diagnosticClass get() = NestedClassAccessedViaInstanceReference::class
|
||||
val symbol: KtClassLikeSymbol
|
||||
}
|
||||
|
||||
interface OverloadResolutionAmbiguity : KtFirDiagnostic<PsiElement> {
|
||||
override val diagnosticClass get() = OverloadResolutionAmbiguity::class
|
||||
val candidates: List<KtSymbol>
|
||||
|
||||
+6
-6
@@ -480,12 +480,6 @@ internal class DeprecatedBinaryModImpl(
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<PsiElement>(firDiagnostic, token), KtFirDiagnostic.DeprecatedBinaryMod
|
||||
|
||||
internal class NestedClassAccessedViaInstanceReferenceImpl(
|
||||
override val symbol: KtClassLikeSymbol,
|
||||
firDiagnostic: KtPsiDiagnostic,
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<PsiElement>(firDiagnostic, token), KtFirDiagnostic.NestedClassAccessedViaInstanceReference
|
||||
|
||||
internal class SuperIsNotAnExpressionImpl(
|
||||
firDiagnostic: KtPsiDiagnostic,
|
||||
token: KtLifetimeToken,
|
||||
@@ -1742,6 +1736,12 @@ internal class InferenceUnsuccessfulForkImpl(
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<PsiElement>(firDiagnostic, token), KtFirDiagnostic.InferenceUnsuccessfulFork
|
||||
|
||||
internal class NestedClassAccessedViaInstanceReferenceImpl(
|
||||
override val symbol: KtClassLikeSymbol,
|
||||
firDiagnostic: KtPsiDiagnostic,
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<PsiElement>(firDiagnostic, token), KtFirDiagnostic.NestedClassAccessedViaInstanceReference
|
||||
|
||||
internal class OverloadResolutionAmbiguityImpl(
|
||||
override val candidates: List<KtSymbol>,
|
||||
firDiagnostic: KtPsiDiagnostic,
|
||||
|
||||
+3
-3
@@ -225,9 +225,6 @@ object DIAGNOSTICS_LIST : DiagnosticList("FirErrors") {
|
||||
parameter<FirBasedSymbol<*>>("forbiddenFunction")
|
||||
parameter<String>("suggestedFunction")
|
||||
}
|
||||
val NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE by error<PsiElement> {
|
||||
parameter<FirClassLikeSymbol<*>>("symbol")
|
||||
}
|
||||
}
|
||||
|
||||
val SUPER by object : DiagnosticGroup("Super") {
|
||||
@@ -645,6 +642,9 @@ object DIAGNOSTICS_LIST : DiagnosticList("FirErrors") {
|
||||
val INFERENCE_UNSUCCESSFUL_FORK by error<PsiElement> {
|
||||
parameter<String>("message")
|
||||
}
|
||||
val NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE by error<PsiElement> {
|
||||
parameter<FirClassLikeSymbol<*>>("symbol")
|
||||
}
|
||||
}
|
||||
|
||||
val AMBIGUITY by object : DiagnosticGroup("Ambiguity") {
|
||||
|
||||
+1
-1
@@ -194,7 +194,6 @@ object FirErrors {
|
||||
val AMBIGUOUS_ALTERED_ASSIGN by error1<PsiElement, List<String?>>()
|
||||
val FORBIDDEN_BINARY_MOD by error2<PsiElement, FirBasedSymbol<*>, String>(SourceElementPositioningStrategies.OPERATOR_MODIFIER)
|
||||
val DEPRECATED_BINARY_MOD by error2<PsiElement, FirBasedSymbol<*>, String>(SourceElementPositioningStrategies.OPERATOR_MODIFIER)
|
||||
val NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE by error1<PsiElement, FirClassLikeSymbol<*>>()
|
||||
|
||||
// Super
|
||||
val SUPER_IS_NOT_AN_EXPRESSION by error0<PsiElement>(SourceElementPositioningStrategies.REFERENCED_NAME_BY_QUALIFIED)
|
||||
@@ -403,6 +402,7 @@ object FirErrors {
|
||||
val REDUNDANT_SPREAD_OPERATOR_IN_NAMED_FORM_IN_ANNOTATION by warning0<KtExpression>()
|
||||
val REDUNDANT_SPREAD_OPERATOR_IN_NAMED_FORM_IN_FUNCTION by warning0<KtExpression>()
|
||||
val INFERENCE_UNSUCCESSFUL_FORK by error1<PsiElement, String>()
|
||||
val NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE by error1<PsiElement, FirClassLikeSymbol<*>>()
|
||||
|
||||
// Ambiguity
|
||||
val OVERLOAD_RESOLUTION_AMBIGUITY by error1<PsiElement, Collection<FirBasedSymbol<*>>>(SourceElementPositioningStrategies.REFERENCE_BY_QUALIFIED)
|
||||
|
||||
+1
-1
@@ -68,7 +68,6 @@ val FIR_NON_SUPPRESSIBLE_ERROR_NAMES: Set<String> = setOf(
|
||||
"AMBIGUOUS_ALTERED_ASSIGN",
|
||||
"FORBIDDEN_BINARY_MOD",
|
||||
"DEPRECATED_BINARY_MOD",
|
||||
"NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE",
|
||||
"SUPER_IS_NOT_AN_EXPRESSION",
|
||||
"SUPER_NOT_AVAILABLE",
|
||||
"ABSTRACT_SUPER_CALL",
|
||||
@@ -253,6 +252,7 @@ val FIR_NON_SUPPRESSIBLE_ERROR_NAMES: Set<String> = setOf(
|
||||
"NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER",
|
||||
"SPREAD_OF_NULLABLE",
|
||||
"INFERENCE_UNSUCCESSFUL_FORK",
|
||||
"NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE",
|
||||
"OVERLOAD_RESOLUTION_AMBIGUITY",
|
||||
"ASSIGN_OPERATOR_AMBIGUITY",
|
||||
"ITERATOR_AMBIGUITY",
|
||||
|
||||
+2
@@ -399,6 +399,7 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.NAMED_ARGUMENTS_N
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.NAMED_PARAMETER_NOT_FOUND
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.NAME_FOR_AMBIGUOUS_PARAMETER
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.NAME_IN_CONSTRAINT_IS_NOT_A_TYPE_PARAMETER
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.NESTED_CLASS_NOT_ALLOWED
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.NEWER_VERSION_IN_SINCE_KOTLIN
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.NEW_INFERENCE_ERROR
|
||||
@@ -1184,6 +1185,7 @@ object FirErrorsDefaultMessages : BaseDiagnosticRendererFactory() {
|
||||
map.put(REDUNDANT_SPREAD_OPERATOR_IN_NAMED_FORM_IN_ANNOTATION, "Redundant spread (*) operator.")
|
||||
map.put(REDUNDANT_SPREAD_OPERATOR_IN_NAMED_FORM_IN_FUNCTION, "Redundant spread (*) operator.")
|
||||
map.put(INFERENCE_UNSUCCESSFUL_FORK, "Unsuccessful inference fork at position ''{0}''.", TO_STRING)
|
||||
map.put(NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE, "Nested {0} accessed via instance reference", RENDER_CLASS_OR_OBJECT_NAME)
|
||||
map.put(
|
||||
INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION,
|
||||
"Type argument for type parameter ''{0}'' cannot be inferred because it has incompatible upper bounds: {1} ({2}{3}).",
|
||||
|
||||
Reference in New Issue
Block a user