FIR: Support import-references to callables
This commit is contained in:
@@ -8,14 +8,16 @@ package org.jetbrains.kotlin.fir.declarations
|
||||
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
interface FirResolvedImport : FirImport {
|
||||
val packageFqName: FqName
|
||||
|
||||
val relativeClassName: FqName?
|
||||
val resolvedClassId: ClassId? get() = relativeClassName?.let { ClassId(packageFqName, it, false) }
|
||||
|
||||
val resolvedFqName: ClassId?
|
||||
val importedName: Name? get() = importedFqName?.shortName()
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
|
||||
visitor.visitResolvedImport(this, data)
|
||||
}
|
||||
}
|
||||
|
||||
+3
-9
@@ -9,21 +9,15 @@ import org.jetbrains.kotlin.fir.FirAbstractElement
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.FirImport
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvedImport
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
class FirResolvedImportImpl(
|
||||
session: FirSession,
|
||||
val delegate: FirImport,
|
||||
override val resolvedFqName: ClassId
|
||||
override val packageFqName: FqName,
|
||||
override val relativeClassName: FqName?
|
||||
) : FirAbstractElement(session, delegate.psi), FirResolvedImport, FirImport {
|
||||
override val packageFqName: FqName
|
||||
get() = resolvedFqName.packageFqName
|
||||
|
||||
override val relativeClassName: FqName
|
||||
get() = resolvedFqName.relativeClassName
|
||||
|
||||
override val aliasName: Name?
|
||||
get() = delegate.aliasName
|
||||
|
||||
@@ -32,4 +26,4 @@ class FirResolvedImportImpl(
|
||||
|
||||
override val isAllUnder: Boolean
|
||||
get() = delegate.isAllUnder
|
||||
}
|
||||
}
|
||||
|
||||
-35
@@ -1,35 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
||||
* that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.fir.declarations.impl
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirAbstractElement
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.FirImport
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvedImport
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
class FirResolvedPackageStarImport(
|
||||
session: FirSession,
|
||||
val delegate: FirImport,
|
||||
override val packageFqName: FqName
|
||||
) : FirAbstractElement(session, delegate.psi), FirResolvedImport, FirImport {
|
||||
override val relativeClassName: FqName?
|
||||
get() = null
|
||||
|
||||
override val resolvedFqName: ClassId?
|
||||
get() = null
|
||||
|
||||
override val aliasName: Name?
|
||||
get() = delegate.aliasName
|
||||
|
||||
override val importedFqName: FqName?
|
||||
get() = delegate.importedFqName
|
||||
|
||||
override val isAllUnder: Boolean
|
||||
get() = delegate.isAllUnder
|
||||
}
|
||||
Reference in New Issue
Block a user