[FE] Add isLocal name to ClassId constructor calls where it needed
This commit is contained in:
committed by
Space Team
parent
adaf8ae46a
commit
9e5ee3afa0
+1
-1
@@ -181,7 +181,7 @@ abstract class AbstractFirTypeEnhancementTest : KtUsefulTestCase() {
|
||||
val packageStatement = psiFile.children.filterIsInstance<PsiPackageStatement>().firstOrNull()
|
||||
val packageName = packageStatement?.packageName
|
||||
val fqName = parentFqName.child(Name.identifier(this.name!!))
|
||||
return ClassId(packageName?.let { FqName(it) } ?: FqName.ROOT, fqName, false)
|
||||
return ClassId(packageName?.let { FqName(it) } ?: FqName.ROOT, fqName, isLocal = false)
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
@@ -178,7 +178,7 @@ fun FirClassSymbol<*>.getContainingDeclarationSymbol(session: FirSession): FirCl
|
||||
} else {
|
||||
val parentId = classId.relativeClassName.parent()
|
||||
if (!parentId.isRoot) {
|
||||
val containingDeclarationId = ClassId(classId.packageFqName, parentId, false)
|
||||
val containingDeclarationId = ClassId(classId.packageFqName, parentId, isLocal = false)
|
||||
return session.symbolProvider.getClassLikeSymbolByClassId(containingDeclarationId)
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -205,7 +205,7 @@ object FirImportsChecker : FirFileChecker() {
|
||||
val parentClass = resolvedParentClassId!!
|
||||
val relativeClassName = this.relativeParentClassName ?: return false
|
||||
val importedName = this.importedName ?: return false
|
||||
val innerClassId = ClassId(parentClass.packageFqName, relativeClassName.child(importedName), false)
|
||||
val innerClassId = ClassId(parentClass.packageFqName, relativeClassName.child(importedName), isLocal = false)
|
||||
return innerClassId.resolveToClass(context) != null
|
||||
} else {
|
||||
val importedFqName = importedFqName ?: return false
|
||||
|
||||
+1
-1
@@ -84,7 +84,7 @@ abstract class AbstractFirReflectionApiCallChecker : FirBasicExpressionChecker()
|
||||
|
||||
private val ALLOWED_CLASSES: Set<ClassId> =
|
||||
listOf("KType", "KTypeParameter", "KTypeProjection", "KTypeProjection.Companion", "KVariance").mapTo(HashSet()) {
|
||||
ClassId(StandardNames.KOTLIN_REFLECT_FQ_NAME, FqName(it), false)
|
||||
ClassId(StandardNames.KOTLIN_REFLECT_FQ_NAME, FqName(it), isLocal = false)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -97,7 +97,7 @@ class FirDeserializationContext(
|
||||
)
|
||||
|
||||
val memberDeserializer: FirMemberDeserializer = FirMemberDeserializer(this)
|
||||
val dispatchReceiver = relativeClassName?.let { ClassId(packageFqName, it, false).defaultType(allTypeParameters) }
|
||||
val dispatchReceiver = relativeClassName?.let { ClassId(packageFqName, it, isLocal = false).defaultType(allTypeParameters) }
|
||||
|
||||
companion object {
|
||||
fun createForPackage(
|
||||
@@ -623,7 +623,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
|
||||
dispatchReceiverType =
|
||||
if (!isInner) null
|
||||
else with(c) {
|
||||
ClassId(packageFqName, relativeClassName.parent(), false).defaultType(outerTypeParameters)
|
||||
ClassId(packageFqName, relativeClassName.parent(), isLocal = false).defaultType(outerTypeParameters)
|
||||
}
|
||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||
this.typeParameters +=
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ class FirJvmElementAwareStringTable(
|
||||
is IrClass -> parent.getLocalClassIdReplacement().createNestedClassId(name)
|
||||
else -> {
|
||||
val fqName = FqName(typeMapper.mapClass(this).internalName.replace('/', '.'))
|
||||
ClassId(fqName.parent(), FqName.topLevel(fqName.shortName()), true)
|
||||
ClassId(fqName.parent(), FqName.topLevel(fqName.shortName()), isLocal = true)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -153,7 +153,7 @@ abstract class AbstractRawFirBuilder<T>(val baseSession: FirSession, val context
|
||||
fun callableIdForName(name: Name) =
|
||||
when {
|
||||
context.className.shortNameOrSpecial() == SpecialNames.ANONYMOUS -> CallableId(
|
||||
ClassId(context.packageFqName, SpecialNames.ANONYMOUS_FQ_NAME, true), name
|
||||
ClassId(context.packageFqName, SpecialNames.ANONYMOUS_FQ_NAME, isLocal = true), name
|
||||
)
|
||||
context.className.isRoot && !context.inLocalContext -> CallableId(context.packageFqName, name)
|
||||
context.inLocalContext -> {
|
||||
@@ -162,7 +162,7 @@ abstract class AbstractRawFirBuilder<T>(val baseSession: FirSession, val context
|
||||
if (context.classNameBeforeLocalContext.isRoot) {
|
||||
context.packageFqName
|
||||
} else {
|
||||
ClassId(context.packageFqName, context.classNameBeforeLocalContext, false).asSingleFqName()
|
||||
ClassId(context.packageFqName, context.classNameBeforeLocalContext, isLocal = false).asSingleFqName()
|
||||
}
|
||||
) { result, firFunctionTarget ->
|
||||
if (firFunctionTarget.isLambda || firFunctionTarget.labelName == null)
|
||||
@@ -960,7 +960,7 @@ abstract class AbstractRawFirBuilder<T>(val baseSession: FirSession, val context
|
||||
private fun generateCopyFunction() {
|
||||
classBuilder.addDeclaration(
|
||||
classBuilder.createDataClassCopyFunction(
|
||||
ClassId(packageFqName, classFqName, false),
|
||||
ClassId(packageFqName, classFqName, isLocal = false),
|
||||
source,
|
||||
currentDispatchReceiverType(),
|
||||
zippedParameters,
|
||||
|
||||
@@ -26,8 +26,8 @@ class Context<T> {
|
||||
var inLocalContext: Boolean = false
|
||||
val currentClassId
|
||||
get() = when {
|
||||
inLocalContext -> ClassId(CallableId.PACKAGE_FQ_NAME_FOR_LOCAL, className, /*local =*/ true)
|
||||
else -> ClassId(packageFqName, className, /*local =*/ false)
|
||||
inLocalContext -> ClassId(CallableId.PACKAGE_FQ_NAME_FOR_LOCAL, className, isLocal = true)
|
||||
else -> ClassId(packageFqName, className, isLocal = false)
|
||||
}
|
||||
|
||||
var classNameBeforeLocalContext: FqName = FqName.ROOT
|
||||
|
||||
+2
-2
@@ -24,7 +24,7 @@ class FirQualifierResolverImpl(val session: FirSession) : FirQualifierResolver()
|
||||
val fqName = ClassId(
|
||||
prefix.packageFqName,
|
||||
parts.drop(1).fold(prefix.relativeClassName) { result, suffix -> result.child(suffix.name) },
|
||||
false
|
||||
isLocal = false
|
||||
)
|
||||
return symbolProvider.getClassLikeSymbolByClassId(fqName)
|
||||
}
|
||||
@@ -44,7 +44,7 @@ class FirQualifierResolverImpl(val session: FirSession) : FirQualifierResolver()
|
||||
lastPart.add(0, firstPart.last())
|
||||
firstPart.removeAt(firstPart.lastIndex)
|
||||
|
||||
val fqName = ClassId(firstPart.toFqName(), lastPart.toFqName(), false)
|
||||
val fqName = ClassId(firstPart.toFqName(), lastPart.toFqName(), isLocal = false)
|
||||
val foundSymbol = firProvider.getClassLikeSymbolByClassId(fqName)
|
||||
if (foundSymbol != null) {
|
||||
return foundSymbol
|
||||
|
||||
@@ -24,7 +24,7 @@ fun FirClassLikeDeclaration.getContainingDeclaration(session: FirSession): FirCl
|
||||
val classId = symbol.classId
|
||||
val parentId = classId.relativeClassName.parent()
|
||||
if (!parentId.isRoot) {
|
||||
val containingDeclarationId = ClassId(classId.packageFqName, parentId, false)
|
||||
val containingDeclarationId = ClassId(classId.packageFqName, parentId, isLocal = false)
|
||||
return session.symbolProvider.getClassLikeSymbolByClassId(containingDeclarationId)?.fir
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ fun resolveToPackageOrClass(symbolProvider: FirSymbolProvider, fqName: FqName):
|
||||
if (currentPackage == fqName) return PackageResolutionResult.PackageOrClass(currentPackage, null, null)
|
||||
val relativeClassFqName = FqName.fromSegments((prefixSize until pathSegments.size).map { pathSegments[it].asString() })
|
||||
|
||||
val classId = ClassId(currentPackage, relativeClassFqName, false)
|
||||
val classId = ClassId(currentPackage, relativeClassFqName, isLocal = false)
|
||||
val symbol = symbolProvider.getClassLikeSymbolByClassId(classId) ?: return PackageResolutionResult.Error(
|
||||
ConeUnresolvedParentInImport(classId)
|
||||
)
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ internal class FirResolvedImportImpl(
|
||||
override val isAllUnder: Boolean get() = delegate.isAllUnder
|
||||
override val aliasName: Name? get() = delegate.aliasName
|
||||
override val aliasSource: KtSourceElement? get() = delegate.aliasSource
|
||||
override val resolvedParentClassId: ClassId? get() = relativeParentClassName?.let { ClassId(packageFqName, it, false) }
|
||||
override val resolvedParentClassId: ClassId? get() = relativeParentClassName?.let { ClassId(packageFqName, it, isLocal = false) }
|
||||
override val importedName: Name? get() = importedFqName?.shortName()
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
|
||||
+1
-1
@@ -43,7 +43,7 @@ internal class FirErrorResolvedQualifierImpl(
|
||||
override val diagnostic: ConeDiagnostic,
|
||||
) : FirErrorResolvedQualifier() {
|
||||
override val classId: ClassId? get() = relativeClassFqName?.let {
|
||||
ClassId(packageFqName, it, false)
|
||||
ClassId(packageFqName, it, isLocal = false)
|
||||
}
|
||||
override val resolvedToCompanionObject: Boolean get() = false
|
||||
|
||||
|
||||
+1
-1
@@ -43,7 +43,7 @@ internal class FirResolvedQualifierImpl(
|
||||
override var typeArguments: MutableOrEmptyList<FirTypeProjection>,
|
||||
) : FirResolvedQualifier() {
|
||||
override val classId: ClassId? get() = relativeClassFqName?.let {
|
||||
ClassId(packageFqName, it, false)
|
||||
ClassId(packageFqName, it, isLocal = false)
|
||||
}
|
||||
override var resolvedToCompanionObject: Boolean = (symbol?.fir as? FirRegularClass)?.companionObjectSymbol != null
|
||||
|
||||
|
||||
@@ -84,7 +84,7 @@ class FirRegularClassSymbol(classId: ClassId) : FirClassSymbol<FirRegularClass>(
|
||||
}
|
||||
|
||||
class FirAnonymousObjectSymbol(packageFqName: FqName) : FirClassSymbol<FirAnonymousObject>(
|
||||
ClassId(packageFqName, SpecialNames.ANONYMOUS_FQ_NAME, true)
|
||||
ClassId(packageFqName, SpecialNames.ANONYMOUS_FQ_NAME, isLocal = true)
|
||||
)
|
||||
|
||||
class FirTypeAliasSymbol(classId: ClassId) : FirClassLikeSymbol<FirTypeAlias>(classId), TypeAliasSymbolMarker {
|
||||
|
||||
+2
-2
@@ -64,7 +64,7 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
||||
|
||||
default("resolvedParentClassId") {
|
||||
delegate = "relativeParentClassName"
|
||||
delegateCall = "let { ClassId(packageFqName, it, false) }"
|
||||
delegateCall = "let { ClassId(packageFqName, it, isLocal = false) }"
|
||||
withGetter = true
|
||||
}
|
||||
|
||||
@@ -703,7 +703,7 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
||||
default("classId") {
|
||||
value = """
|
||||
|relativeClassFqName?.let {
|
||||
| ClassId(packageFqName, it, false)
|
||||
| ClassId(packageFqName, it, isLocal = false)
|
||||
|}
|
||||
""".trimMargin()
|
||||
withGetter = true
|
||||
|
||||
Reference in New Issue
Block a user