[FIR] Introduce isRealOwnerOf utility function
This commit is contained in:
committed by
Space Team
parent
bfc0126105
commit
7ce0284e81
+3
-2
@@ -18,11 +18,11 @@ import org.jetbrains.kotlin.fir.analysis.checkers.toRegularClassSymbol
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.declarations.annotationPlatformSupport
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.*
|
||||
import org.jetbrains.kotlin.fir.dispatchReceiverClassLookupTagOrNull
|
||||
import org.jetbrains.kotlin.fir.expressions.*
|
||||
import org.jetbrains.kotlin.fir.moduleData
|
||||
import org.jetbrains.kotlin.fir.resolve.defaultType
|
||||
import org.jetbrains.kotlin.fir.resolve.fullyExpandedType
|
||||
import org.jetbrains.kotlin.fir.resolve.isRealOwnerOf
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
@@ -453,9 +453,10 @@ object FirSerializationPluginClassChecker : FirClassChecker() {
|
||||
properties: List<FirSerializableProperty>,
|
||||
reporter: DiagnosticReporter
|
||||
) {
|
||||
val classLookupTag = classSymbol.toLookupTag()
|
||||
for (property in properties) {
|
||||
// Don't report anything on properties from supertypes
|
||||
if (property.propertySymbol.dispatchReceiverClassLookupTagOrNull() != classSymbol.toLookupTag()) continue
|
||||
if (!classLookupTag.isRealOwnerOf(property.propertySymbol)) continue
|
||||
val customSerializerType = property.serializableWith
|
||||
val serializerSymbol = customSerializerType?.toRegularClassSymbol(session)
|
||||
val propertySymbol = property.propertySymbol
|
||||
|
||||
Reference in New Issue
Block a user