FIR: rename FirResolvedImport.resolvedClassId|relativeClassName
These two fields references the parent of the import rather than the classes that are imported. For example ``` import java.util.Map // resolvedClassId -> null import java.util.Map.Entry // resolvedClassId -> java.util.Map import java.util.Map.* // resolvedClassId -> java.util.Map import java.util.Map.someStaticMethod // resolvedClassId -> java.util.Map import kotlin.package.someTopLevelFuntion // resolvedClassId -> null import kotlin.package.MyObject.someObjectFuntion // resolvedClassId -> kotlin.package.MyObject ```
This commit is contained in:
committed by
Ilya Kirillov
parent
e5b9d667c0
commit
211544e790
@@ -26,8 +26,8 @@ abstract class FirResolvedImport : FirPureAbstractElement(), FirImport {
|
||||
abstract override val aliasSource: FirSourceElement?
|
||||
abstract val delegate: FirImport
|
||||
abstract val packageFqName: FqName
|
||||
abstract val relativeClassName: FqName?
|
||||
abstract val resolvedClassId: ClassId?
|
||||
abstract val relativeParentClassName: FqName?
|
||||
abstract val resolvedParentClassId: ClassId?
|
||||
abstract val importedName: Name?
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitResolvedImport(this, data)
|
||||
|
||||
+2
-2
@@ -25,13 +25,13 @@ import org.jetbrains.kotlin.name.Name
|
||||
class FirResolvedImportBuilder {
|
||||
lateinit var delegate: FirImport
|
||||
lateinit var packageFqName: FqName
|
||||
var relativeClassName: FqName? = null
|
||||
var relativeParentClassName: FqName? = null
|
||||
|
||||
fun build(): FirResolvedImport {
|
||||
return FirResolvedImportImpl(
|
||||
delegate,
|
||||
packageFqName,
|
||||
relativeClassName,
|
||||
relativeParentClassName,
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -21,14 +21,14 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
internal class FirResolvedImportImpl(
|
||||
override var delegate: FirImport,
|
||||
override val packageFqName: FqName,
|
||||
override val relativeClassName: FqName?,
|
||||
override val relativeParentClassName: FqName?,
|
||||
) : FirResolvedImport() {
|
||||
override val source: FirSourceElement? get() = delegate.source
|
||||
override val importedFqName: FqName? get() = delegate.importedFqName
|
||||
override val isAllUnder: Boolean get() = delegate.isAllUnder
|
||||
override val aliasName: Name? get() = delegate.aliasName
|
||||
override val aliasSource: FirSourceElement? get() = delegate.aliasSource
|
||||
override val resolvedClassId: ClassId? get() = relativeClassName?.let { ClassId(packageFqName, it, false) }
|
||||
override val resolvedParentClassId: ClassId? get() = relativeParentClassName?.let { ClassId(packageFqName, it, false) }
|
||||
override val importedName: Name? get() = importedFqName?.shortName()
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
|
||||
+2
-2
@@ -52,8 +52,8 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
||||
delegate = "delegate"
|
||||
}
|
||||
|
||||
default("resolvedClassId") {
|
||||
delegate = "relativeClassName"
|
||||
default("resolvedParentClassId") {
|
||||
delegate = "relativeParentClassName"
|
||||
delegateCall = "let { ClassId(packageFqName, it, false) }"
|
||||
withGetter = true
|
||||
}
|
||||
|
||||
+2
-2
@@ -431,8 +431,8 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
resolvedImport.configure {
|
||||
+field("delegate", import)
|
||||
+field("packageFqName", fqNameType)
|
||||
+field("relativeClassName", fqNameType, nullable = true)
|
||||
+field("resolvedClassId", classIdType, nullable = true)
|
||||
+field("relativeParentClassName", fqNameType, nullable = true)
|
||||
+field("resolvedParentClassId", classIdType, nullable = true)
|
||||
+field(
|
||||
"importedName",
|
||||
nameType,
|
||||
|
||||
Reference in New Issue
Block a user