[FIR] Add two kinds of Java origin to distinguish source and library declarations
This commit is contained in:
committed by
teamcity
parent
26df9d74e8
commit
fb57e1ecd5
+12
-3
@@ -5,12 +5,21 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.declarations
|
||||
|
||||
sealed class FirDeclarationOrigin(private val displayName: String? = null, val fromSupertypes: Boolean = false, val generated: Boolean = false) {
|
||||
object Source : FirDeclarationOrigin()
|
||||
sealed class FirDeclarationOrigin(
|
||||
private val displayName: String? = null,
|
||||
val fromSupertypes: Boolean = false,
|
||||
val generated: Boolean = false,
|
||||
val fromSource: Boolean = false
|
||||
) {
|
||||
object Source : FirDeclarationOrigin(fromSource = true)
|
||||
object Library : FirDeclarationOrigin()
|
||||
object Precompiled : FirDeclarationOrigin() // currently used for incremental compilation
|
||||
object BuiltIns : FirDeclarationOrigin()
|
||||
object Java : FirDeclarationOrigin()
|
||||
sealed class Java(displayName: String, fromSource: Boolean = false) : FirDeclarationOrigin(displayName, fromSource = fromSource) {
|
||||
object Source : Java("Java(Source)", fromSource = true)
|
||||
object Library : Java("Java(Library)")
|
||||
}
|
||||
|
||||
object Synthetic : FirDeclarationOrigin()
|
||||
object DynamicScope : FirDeclarationOrigin()
|
||||
object SamConstructor : FirDeclarationOrigin()
|
||||
|
||||
+6
-4
@@ -47,16 +47,18 @@ val FirQualifiedAccess.referredPropertySymbol: FirPropertySymbol?
|
||||
}
|
||||
|
||||
inline val FirDeclaration.isJava: Boolean
|
||||
get() = origin == FirDeclarationOrigin.Java
|
||||
get() = origin is FirDeclarationOrigin.Java
|
||||
inline val FirDeclaration.isJavaSource: Boolean
|
||||
get() = origin == FirDeclarationOrigin.Java.Source
|
||||
inline val FirDeclaration.isFromLibrary: Boolean
|
||||
get() = origin == FirDeclarationOrigin.Library
|
||||
get() = origin == FirDeclarationOrigin.Library || origin == FirDeclarationOrigin.Java.Library
|
||||
inline val FirDeclaration.isPrecompiled: Boolean
|
||||
get() = origin == FirDeclarationOrigin.Precompiled
|
||||
inline val FirDeclaration.isSynthetic: Boolean
|
||||
get() = origin == FirDeclarationOrigin.Synthetic
|
||||
|
||||
inline val FirDeclaration.isJavaOrEnhancement: Boolean
|
||||
get() = origin == FirDeclarationOrigin.Java || origin == FirDeclarationOrigin.Enhancement
|
||||
get() = origin is FirDeclarationOrigin.Java || origin == FirDeclarationOrigin.Enhancement
|
||||
inline val FirBasedSymbol<*>.isJavaOrEnhancement: Boolean
|
||||
get() = origin == FirDeclarationOrigin.Java || origin == FirDeclarationOrigin.Enhancement
|
||||
get() = origin is FirDeclarationOrigin.Java || origin == FirDeclarationOrigin.Enhancement
|
||||
|
||||
|
||||
Reference in New Issue
Block a user