Remove FqNameBase, simplify FqName and FqNameUnsafe
This commit is contained in:
+4
-4
@@ -106,7 +106,7 @@ private fun setupFileStub(fileStub: KotlinFileStubImpl, packageFqName: FqName) {
|
||||
|
||||
fun createStubForPackageName(packageDirectiveStub: KotlinPlaceHolderStubImpl<KtPackageDirective>, packageFqName: FqName) {
|
||||
val segments = packageFqName.pathSegments().toArrayList()
|
||||
val iterator = segments.listIterator(segments.size())
|
||||
val iterator = segments.listIterator(segments.size)
|
||||
|
||||
fun recCreateStubForPackageName(current: StubElement<out PsiElement>) {
|
||||
when (iterator.previousIndex()) {
|
||||
@@ -130,10 +130,10 @@ fun createStubForPackageName(packageDirectiveStub: KotlinPlaceHolderStubImpl<KtP
|
||||
fun createStubForTypeName(typeClassId: ClassId, parent: StubElement<out PsiElement>): KotlinUserTypeStub {
|
||||
val fqName =
|
||||
if (typeClassId.isLocal()) KotlinBuiltIns.FQ_NAMES.any
|
||||
else typeClassId.asSingleFqName()
|
||||
else typeClassId.asSingleFqName().toUnsafe()
|
||||
val segments = fqName.pathSegments().toArrayList()
|
||||
assert(segments.isNotEmpty())
|
||||
val iterator = segments.listIterator(segments.size())
|
||||
val iterator = segments.listIterator(segments.size)
|
||||
|
||||
fun recCreateStubForType(current: StubElement<out PsiElement>): KotlinUserTypeStub {
|
||||
val lastSegment = iterator.previous()
|
||||
@@ -276,7 +276,7 @@ fun createTargetedAnnotationStubs(
|
||||
hasValueArguments = false
|
||||
)
|
||||
if (target != null) {
|
||||
KotlinAnnotationUseSiteTargetStubImpl(annotationEntryStubImpl, StringRef.fromString(target.name())!!)
|
||||
KotlinAnnotationUseSiteTargetStubImpl(annotationEntryStubImpl, StringRef.fromString(target.name)!!)
|
||||
}
|
||||
val constructorCallee = KotlinPlaceHolderStubImpl<KtConstructorCalleeExpression>(annotationEntryStubImpl, KtStubElementTypes.CONSTRUCTOR_CALLEE)
|
||||
val typeReference = KotlinPlaceHolderStubImpl<KtTypeReference>(constructorCallee, KtStubElementTypes.TYPE_REFERENCE)
|
||||
|
||||
@@ -19,7 +19,6 @@ package org.jetbrains.kotlin.idea.highlighter.renderersUtil
|
||||
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRenderer
|
||||
import org.jetbrains.kotlin.renderer.NameShortness
|
||||
import org.jetbrains.kotlin.renderer.RenderingFormat
|
||||
@@ -112,7 +111,7 @@ fun <D : CallableDescriptor> renderResolvedCall(resolvedCall: ResolvedCall<D>):
|
||||
append(" <i>defined in</i> ")
|
||||
val containingDeclaration = resultingDescriptor.getContainingDeclaration()
|
||||
val fqName = DescriptorUtils.getFqName(containingDeclaration)
|
||||
append(if (FqName.ROOT.equalsTo(fqName)) "root package" else fqName.asString())
|
||||
append(if (fqName.isRoot) "root package" else fqName.asString())
|
||||
}
|
||||
return stringBuilder.toString()
|
||||
}
|
||||
|
||||
+2
-2
@@ -34,7 +34,7 @@ import org.jetbrains.kotlin.psi.KtNamedDeclaration
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRenderer
|
||||
import org.jetbrains.kotlin.renderer.NameShortness
|
||||
import org.jetbrains.kotlin.renderer.render
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameUnsafe
|
||||
import javax.swing.Icon
|
||||
|
||||
public open class DescriptorMemberChooserObject(
|
||||
@@ -75,7 +75,7 @@ public open class DescriptorMemberChooserObject(
|
||||
|
||||
public fun getText(descriptor: DeclarationDescriptor): String {
|
||||
return if (descriptor is ClassDescriptor)
|
||||
descriptor.fqNameSafe.render()
|
||||
descriptor.fqNameUnsafe.render()
|
||||
else
|
||||
MEMBER_RENDERER.render(descriptor)
|
||||
}
|
||||
|
||||
@@ -211,10 +211,10 @@ public class KotlinImportOptimizer() : ImportOptimizer {
|
||||
}
|
||||
|
||||
// now check that there are no conflicts and all classes are really imported
|
||||
val fileWithImportsText = StringBuilder {
|
||||
append("package ").append(file.packageFqName.render()).append("\n")
|
||||
importsToGenerate.filter { it.isAllUnder() }.map { "import " + it.pathStr }.joinTo(this, "\n")
|
||||
}.toString()
|
||||
val fileWithImportsText = buildString {
|
||||
append("package ").append(file.packageFqName.toUnsafe().render()).append("\n")
|
||||
importsToGenerate.filter { it.isAllUnder }.map { "import " + it.pathStr }.joinTo(this, "\n")
|
||||
}
|
||||
val fileWithImports = KtPsiFactory(file).createAnalyzableFile("Dummy.kt", fileWithImportsText, file)
|
||||
val scope = fileWithImports.getResolutionFacade().getFileResolutionScope(fileWithImports)
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
||||
import org.jetbrains.kotlin.idea.util.string.collapseSpaces
|
||||
import org.jetbrains.kotlin.j2k.ConverterSettings
|
||||
import org.jetbrains.kotlin.j2k.JavaToKotlinConverter
|
||||
import org.jetbrains.kotlin.name.FqNameBase
|
||||
import org.jetbrains.kotlin.name.FqNameUnsafe
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.psi.codeFragmentUtil.suppressDiagnosticsInDebugMode
|
||||
import org.jetbrains.kotlin.psi.psiUtil.*
|
||||
@@ -692,7 +692,7 @@ public fun invokeOnceOnCommandFinish(action: () -> Unit) {
|
||||
|
||||
public fun String.quoteIfNeeded(): String = if (KotlinNameSuggester.isIdentifier(this)) this else "`$this`"
|
||||
|
||||
public fun FqNameBase.hasIdentifiersOnly(): Boolean = pathSegments().all { KotlinNameSuggester.isIdentifier(it.asString()) }
|
||||
public fun FqNameUnsafe.hasIdentifiersOnly(): Boolean = pathSegments().all { KotlinNameSuggester.isIdentifier(it.asString()) }
|
||||
|
||||
public fun KtClass.createPrimaryConstructorIfAbsent(): KtPrimaryConstructor {
|
||||
val constructor = getPrimaryConstructor()
|
||||
|
||||
+4
-4
@@ -24,14 +24,14 @@ import org.jetbrains.kotlin.idea.intentions.JetSelfTargetingOffsetIndependentInt
|
||||
import org.jetbrains.kotlin.psi.KtPackageDirective
|
||||
|
||||
public class ChangePackageToMatchDirectoryIntention : JetSelfTargetingOffsetIndependentIntention<KtPackageDirective>(
|
||||
javaClass(), "", "Change file's package to match directory"
|
||||
KtPackageDirective::class.java, "", "Change file's package to match directory"
|
||||
) {
|
||||
override fun isApplicableTo(element: KtPackageDirective): Boolean {
|
||||
val file = element.getContainingJetFile()
|
||||
if (file.packageMatchesDirectory()) return false
|
||||
|
||||
val fqNameByDirectory = file.getFqNameByDirectory()
|
||||
if (!fqNameByDirectory.hasIdentifiersOnly()) {
|
||||
if (!fqNameByDirectory.toUnsafe().hasIdentifiersOnly()) {
|
||||
if (isIntentionBaseInspectionEnabled(file.project, element)) {
|
||||
text = "File package doesn't match directory"
|
||||
return true
|
||||
@@ -46,7 +46,7 @@ public class ChangePackageToMatchDirectoryIntention : JetSelfTargetingOffsetInde
|
||||
override fun applyTo(element: KtPackageDirective, editor: Editor) {
|
||||
val file = element.getContainingJetFile()
|
||||
val newFqName = file.getFqNameByDirectory()
|
||||
if (!newFqName.hasIdentifiersOnly()) return
|
||||
if (!newFqName.toUnsafe().hasIdentifiersOnly()) return
|
||||
KotlinChangePackageRefactoring(file).run(newFqName)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user