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:
Tianyu Geng
2021-08-20 12:47:41 -07:00
committed by Ilya Kirillov
parent e5b9d667c0
commit 211544e790
11 changed files with 25 additions and 25 deletions
@@ -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)
@@ -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,
)
}
@@ -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) {
@@ -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
}
@@ -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,