K2: fix/universalize logic to determine that member is from Java
This commit is contained in:
committed by
Space Team
parent
d35dedcb72
commit
4dc7b6dddc
@@ -7,9 +7,11 @@ package org.jetbrains.kotlin.fir.declarations
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.PrivateForInline
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.isInline
|
||||
import org.jetbrains.kotlin.fir.resolve.fullyExpandedType
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.declaredMemberScope
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.importedFromObjectOrStaticData
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
|
||||
@@ -99,3 +101,18 @@ fun FirRegularClassSymbol.isInlineOrValueClass(): Boolean {
|
||||
|
||||
return isInline
|
||||
}
|
||||
|
||||
@PrivateForInline
|
||||
inline val FirDeclarationOrigin.isJavaOrEnhancement: Boolean
|
||||
get() = this is FirDeclarationOrigin.Java || this == FirDeclarationOrigin.Enhancement
|
||||
|
||||
@OptIn(PrivateForInline::class)
|
||||
val FirDeclaration.isJavaOrEnhancement: Boolean
|
||||
get() = origin.isJavaOrEnhancement ||
|
||||
(this as? FirCallableDeclaration)?.importedFromObjectOrStaticData?.original?.isJavaOrEnhancement == true
|
||||
|
||||
@OptIn(PrivateForInline::class)
|
||||
inline val FirBasedSymbol<*>.isJavaOrEnhancement: Boolean
|
||||
get() = origin.isJavaOrEnhancement ||
|
||||
(fir as? FirCallableDeclaration)?.importedFromObjectOrStaticData?.original?.isJavaOrEnhancement == true
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.fir.FirAnnotationContainer
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.caches.FirCachesFactory
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.isJavaOrEnhancement
|
||||
import org.jetbrains.kotlin.fir.expressions.*
|
||||
import org.jetbrains.kotlin.fir.languageVersionSettings
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReference
|
||||
|
||||
Reference in New Issue
Block a user