[FIR] Make type parameters inaccessible for non-inner nested types
#KT-57209
This commit is contained in:
committed by
Space Team
parent
c39ab956a0
commit
1f0d56e157
+2
-1
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.fir.declarations.utils.isAbstract
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.visibility
|
||||
import org.jetbrains.kotlin.fir.types.ConeErrorType
|
||||
import org.jetbrains.kotlin.fir.types.coneType
|
||||
import org.jetbrains.kotlin.fir.types.hasError
|
||||
import org.jetbrains.kotlin.fir.types.isUnit
|
||||
|
||||
object FirPropertyAccessorsTypesChecker : FirPropertyChecker() {
|
||||
@@ -99,7 +100,7 @@ object FirPropertyAccessorsTypesChecker : FirPropertyChecker() {
|
||||
return
|
||||
}
|
||||
|
||||
if (valueSetterType != propertyType) {
|
||||
if (valueSetterType != propertyType && !valueSetterType.hasError()) {
|
||||
reporter.reportOn(valueSetterTypeSource, FirErrors.WRONG_SETTER_PARAMETER_TYPE, propertyType, valueSetterType, context)
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -6,16 +6,15 @@
|
||||
package org.jetbrains.kotlin.fir.analysis.checkers.expression
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||
import org.jetbrains.kotlin.diagnostics.DiagnosticReporter
|
||||
import org.jetbrains.kotlin.diagnostics.reportOn
|
||||
import org.jetbrains.kotlin.fir.analysis.checkers.checkCondition
|
||||
import org.jetbrains.kotlin.fir.analysis.checkers.classKind
|
||||
import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext
|
||||
import org.jetbrains.kotlin.diagnostics.DiagnosticReporter
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
|
||||
import org.jetbrains.kotlin.diagnostics.reportOn
|
||||
import org.jetbrains.kotlin.fir.expressions.*
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirElseIfTrueCondition
|
||||
import org.jetbrains.kotlin.fir.references.toResolvedCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.expressions.unwrapSmartcastExpression
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirEnumEntrySymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.coneType
|
||||
@@ -58,7 +57,8 @@ object FirWhenConditionChecker : FirWhenExpressionChecker() {
|
||||
}
|
||||
}
|
||||
is FirTypeOperatorCall -> {
|
||||
if (!checkedTypes.add(condition.conversionTypeRef.coneType to condition.operation)) {
|
||||
val coneType = condition.conversionTypeRef.coneType
|
||||
if (!checkedTypes.add(coneType to condition.operation)) {
|
||||
reporter.reportOn(condition.conversionTypeRef.source, FirErrors.DUPLICATE_LABEL_IN_WHEN, context)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user