[FIR] Mark implicit types in accessors as fake
To not check their types in deprecation checker
This commit is contained in:
committed by
teamcityserver
parent
caa6b630ab
commit
15be38192b
+2
-1
@@ -5,6 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.analysis.checkers.extended
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirFakeSourceElementKind
|
||||
import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext
|
||||
import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirPropertyChecker
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.DiagnosticReporter
|
||||
@@ -21,7 +22,7 @@ object RedundantSetterParameterTypeChecker : FirPropertyChecker() {
|
||||
val propertyTypeSource = declaration.returnTypeRef.source
|
||||
val setterParameterTypeSource = valueParameter.returnTypeRef.source ?: return
|
||||
|
||||
if (setterParameterTypeSource != propertyTypeSource) {
|
||||
if (setterParameterTypeSource.kind !is FirFakeSourceElementKind && setterParameterTypeSource != propertyTypeSource) {
|
||||
reporter.reportOn(setterParameterTypeSource, REDUNDANT_SETTER_PARAMETER_TYPE, context)
|
||||
}
|
||||
}
|
||||
|
||||
+4
-3
@@ -5,6 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.analysis.checkers.type
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirFakeSourceElementKind
|
||||
import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext
|
||||
import org.jetbrains.kotlin.fir.analysis.checkers.context.findClosest
|
||||
import org.jetbrains.kotlin.fir.analysis.checkers.expression.FirDeprecationChecker
|
||||
@@ -17,11 +18,11 @@ import org.jetbrains.kotlin.fir.types.coneTypeSafe
|
||||
|
||||
object FirDeprecatedTypeChecker : FirTypeRefChecker() {
|
||||
override fun check(typeRef: FirTypeRef, context: CheckerContext, reporter: DiagnosticReporter) {
|
||||
if (context.findClosest<FirPropertyAccessor>() != null) return
|
||||
|
||||
val source = typeRef.source ?: return
|
||||
if (source.kind is FirFakeSourceElementKind) return
|
||||
val resolved = typeRef.coneTypeSafe<ConeClassLikeType>() ?: return
|
||||
val symbol = resolved.lookupTag.toSymbol(context.session) ?: return
|
||||
|
||||
FirDeprecationChecker.reportDeprecationIfNeeded(typeRef.source, symbol, null, context, reporter)
|
||||
FirDeprecationChecker.reportDeprecationIfNeeded(source, symbol, null, context, reporter)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user