K2: report EXPLICIT_TYPE_ARGUMENTS_... also on resolved qualifiers

#KT-64982 Fixed
This commit is contained in:
Mikhail Glukhikh
2024-01-16 08:49:02 +01:00
committed by Space Team
parent ee515ec5c4
commit 581cac3d45
2 changed files with 9 additions and 4 deletions
@@ -25,7 +25,12 @@ object FirStandaloneQualifierChecker : FirResolvedQualifierChecker() {
if (!expression.isStandalone(context)) return
// Note: if it's real Unit, it will be filtered by ClassKind.OBJECT check below in reportErrorOn
if (!expression.resolvedType.isUnit) return
if (!expression.resolvedType.isUnit) {
if (expression.typeArguments.any { it.source != null }) {
reporter.reportOn(expression.source, FirErrors.EXPLICIT_TYPE_ARGUMENTS_IN_PROPERTY_ACCESS, context)
}
return
}
expression.symbol.reportErrorOn(expression.source, context, reporter)
}
@@ -15,11 +15,11 @@ class Outer<T> {
object Obj
}
val test = Outer<String>
val test = <!EXPLICIT_TYPE_ARGUMENTS_IN_PROPERTY_ACCESS!>Outer<!><String>
val test2 = Outer.Nested<String>
val test2 = Outer.<!EXPLICIT_TYPE_ARGUMENTS_IN_PROPERTY_ACCESS!>Nested<!><String>
val test3 = Outer<Int>.<!NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE!>Inner<!><Double>
val test3 = Outer<Int>.<!EXPLICIT_TYPE_ARGUMENTS_IN_PROPERTY_ACCESS, NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE!>Inner<!><Double>
val test4 = Outer<Int>.<!NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE!>Obj<!>