From 1ebfe1af437e84421bf09ed681e43be8398efb34 Mon Sep 17 00:00:00 2001 From: Stanislav Erokhin Date: Thu, 14 Sep 2017 19:22:20 +0300 Subject: [PATCH] Refactoring. Replace `hasModifier(HEADER_KEYWORD)` to hasHeaderModifier() --- .../org/jetbrains/kotlin/codegen/PackageCodegenImpl.java | 4 ++-- .../org/jetbrains/kotlin/codegen/PackagePartCodegen.java | 4 ++-- compiler/frontend/src/org/jetbrains/kotlin/psi/KtFile.kt | 4 ++-- .../src/org/jetbrains/kotlin/psi/psiUtil/psiUtils.kt | 5 +++++ .../org/jetbrains/kotlin/resolve/DescriptorResolver.java | 2 +- .../kotlin/resolve/FunctionDescriptorResolver.kt | 3 ++- .../resolve/lazy/descriptors/LazyClassDescriptor.java | 3 ++- .../asJava/classes/KtLightClassForSourceDeclaration.kt | 9 ++++++--- .../kotlin/idea/highlighter/PlatformHeaderAnnotator.kt | 6 +++--- .../overrideImplement/OverrideMemberChooserObject.kt | 3 ++- .../idea/highlighter/markers/DeclaredHeaderMarker.kt | 4 ++-- .../idea/highlighter/markers/KotlinLineMarkerProvider.kt | 3 ++- .../kotlin/idea/inspections/UnusedSymbolInspection.kt | 2 +- .../declarations/ConvertMemberToExtensionIntention.kt | 5 +---- 14 files changed, 33 insertions(+), 24 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/PackageCodegenImpl.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/PackageCodegenImpl.java index e20d0e84bb8..a5a8257e117 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/PackageCodegenImpl.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/PackageCodegenImpl.java @@ -28,10 +28,10 @@ import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor; import org.jetbrains.kotlin.diagnostics.DiagnosticUtils; import org.jetbrains.kotlin.fileClasses.JvmFileClassInfo; import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil; -import org.jetbrains.kotlin.lexer.KtTokens; import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.progress.ProgressIndicatorAndCompilationCanceledStatus; import org.jetbrains.kotlin.psi.*; +import org.jetbrains.kotlin.psi.psiUtil.PsiUtilsKt; import org.jetbrains.kotlin.resolve.BindingContext; import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOriginKt; import org.jetbrains.org.objectweb.asm.Type; @@ -99,7 +99,7 @@ public class PackageCodegenImpl implements PackageCodegen { List classOrObjects = new ArrayList<>(); for (KtDeclaration declaration : file.getDeclarations()) { - if (declaration.hasModifier(KtTokens.HEADER_KEYWORD)) continue; + if (PsiUtilsKt.hasHeaderModifier(declaration)) continue; if (declaration instanceof KtProperty || declaration instanceof KtNamedFunction || declaration instanceof KtTypeAlias) { generatePackagePart = true; diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/PackagePartCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/PackagePartCodegen.java index 5c2d2319564..f737211ae65 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/PackagePartCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/PackagePartCodegen.java @@ -30,9 +30,9 @@ import org.jetbrains.kotlin.descriptors.VariableDescriptor; import org.jetbrains.kotlin.descriptors.annotations.Annotated; import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor; import org.jetbrains.kotlin.descriptors.annotations.AnnotationsImpl; -import org.jetbrains.kotlin.lexer.KtTokens; import org.jetbrains.kotlin.load.kotlin.header.KotlinClassHeader; import org.jetbrains.kotlin.psi.*; +import org.jetbrains.kotlin.psi.psiUtil.PsiUtilsKt; import org.jetbrains.kotlin.resolve.BindingContext; import org.jetbrains.kotlin.serialization.DescriptorSerializer; import org.jetbrains.kotlin.serialization.ProtoBuf; @@ -89,7 +89,7 @@ public class PackagePartCodegen extends MemberCodegen { @Override protected void generateBody() { for (KtDeclaration declaration : element.getDeclarations()) { - if (declaration.hasModifier(KtTokens.HEADER_KEYWORD)) continue; + if (PsiUtilsKt.hasHeaderModifier(declaration)) continue; if (declaration instanceof KtNamedFunction || declaration instanceof KtProperty || declaration instanceof KtTypeAlias) { genSimpleMember(declaration); diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtFile.kt b/compiler/frontend/src/org/jetbrains/kotlin/psi/KtFile.kt index 94a654e1aa6..65b951a8eab 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtFile.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/KtFile.kt @@ -27,10 +27,10 @@ import com.intellij.util.IncorrectOperationException import org.jetbrains.kotlin.KtNodeTypes import org.jetbrains.kotlin.idea.KotlinFileType import org.jetbrains.kotlin.idea.KotlinLanguage -import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.parsing.KotlinParserDefinition import org.jetbrains.kotlin.psi.psiUtil.getChildOfType +import org.jetbrains.kotlin.psi.psiUtil.hasHeaderModifier import org.jetbrains.kotlin.psi.stubs.KotlinFileStub import org.jetbrains.kotlin.psi.stubs.elements.KtPlaceHolderStubElementType import org.jetbrains.kotlin.psi.stubs.elements.KtStubElementTypes @@ -171,7 +171,7 @@ open class KtFile(viewProvider: FileViewProvider, val isCompiled: Boolean) : (it is KtProperty || it is KtNamedFunction || it is KtScript || - it is KtTypeAlias) && !it.hasModifier(KtTokens.HEADER_KEYWORD) + it is KtTypeAlias) && !it.hasHeaderModifier() } hasTopLeveCallables = result diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/psiUtils.kt b/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/psiUtils.kt index c81f0ae99a7..00a5e7fd45d 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/psiUtils.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/psiUtils.kt @@ -23,8 +23,11 @@ import com.intellij.psi.search.PsiSearchScopeUtil import com.intellij.psi.search.SearchScope import com.intellij.psi.util.PsiTreeUtil import org.jetbrains.kotlin.diagnostics.DiagnosticUtils +import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtFileAnnotationList +import org.jetbrains.kotlin.psi.KtModifierList +import org.jetbrains.kotlin.psi.KtModifierListOwner import java.util.* // NOTE: in this file we collect only LANGUAGE INDEPENDENT methods working with PSI and not modifying it @@ -380,3 +383,5 @@ fun PsiElement.before(element: PsiElement) = textRange.endOffset <= element.text inline fun PsiElement.getLastParentOfTypeInRow() = parents.takeWhile { it is T }.lastOrNull() as? T +fun KtModifierListOwner.hasHeaderModifier() = hasModifier(KtTokens.HEADER_KEYWORD) +fun KtModifierList.hasHeaderModifier() = hasModifier(KtTokens.HEADER_KEYWORD) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java index a4fa9a24d87..e44f717609f 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java @@ -874,7 +874,7 @@ public class DescriptorResolver { KotlinSourceElementKt.toSourceElement(variableDeclaration), modifierList != null && modifierList.hasModifier(KtTokens.LATEINIT_KEYWORD), modifierList != null && modifierList.hasModifier(KtTokens.CONST_KEYWORD), - modifierList != null && modifierList.hasModifier(KtTokens.HEADER_KEYWORD) && container instanceof PackageFragmentDescriptor || + modifierList != null && PsiUtilsKt.hasHeaderModifier(modifierList) && container instanceof PackageFragmentDescriptor || container instanceof ClassDescriptor && ((ClassDescriptor) container).isHeader(), modifierList != null && modifierList.hasModifier(KtTokens.IMPL_KEYWORD), modifierList != null && modifierList.hasModifier(KtTokens.EXTERNAL_KEYWORD), diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt index a2395adcc39..aea96b9402c 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt @@ -33,6 +33,7 @@ import org.jetbrains.kotlin.diagnostics.Errors.* import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.* +import org.jetbrains.kotlin.psi.psiUtil.hasHeaderModifier import org.jetbrains.kotlin.resolve.DescriptorResolver.getDefaultModality import org.jetbrains.kotlin.resolve.DescriptorResolver.getDefaultVisibility import org.jetbrains.kotlin.resolve.DescriptorUtils.getDispatchReceiverParameterIfNeeded @@ -182,7 +183,7 @@ class FunctionDescriptorResolver( functionDescriptor.isInline = function.hasModifier(KtTokens.INLINE_KEYWORD) functionDescriptor.isTailrec = function.hasModifier(KtTokens.TAILREC_KEYWORD) functionDescriptor.isSuspend = function.hasModifier(KtTokens.SUSPEND_KEYWORD) - functionDescriptor.isHeader = container is PackageFragmentDescriptor && function.hasModifier(KtTokens.HEADER_KEYWORD) || + functionDescriptor.isHeader = container is PackageFragmentDescriptor && function.hasHeaderModifier() || container is ClassDescriptor && container.isHeader functionDescriptor.isImpl = function.hasModifier(KtTokens.IMPL_KEYWORD) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassDescriptor.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassDescriptor.java index 9ca67bc9e4a..de102f574d0 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassDescriptor.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassDescriptor.java @@ -33,6 +33,7 @@ import org.jetbrains.kotlin.lexer.KtTokens; import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.psiUtil.KtPsiUtilKt; +import org.jetbrains.kotlin.psi.psiUtil.PsiUtilsKt; import org.jetbrains.kotlin.psi.synthetics.SyntheticClassOrObjectDescriptor; import org.jetbrains.kotlin.resolve.BindingContext; import org.jetbrains.kotlin.resolve.BindingTrace; @@ -167,7 +168,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes this.isData = modifierList != null && modifierList.hasModifier(KtTokens.DATA_KEYWORD); this.isImpl = modifierList != null && modifierList.hasModifier(KtTokens.IMPL_KEYWORD); - this.isHeader = modifierList != null && modifierList.hasModifier(KtTokens.HEADER_KEYWORD) || + this.isHeader = modifierList != null && PsiUtilsKt.hasHeaderModifier(modifierList) || containingDeclaration instanceof ClassDescriptor && ((ClassDescriptor) containingDeclaration).isHeader(); // Annotation entries are taken from both own annotations (if any) and object literal annotations (if any) diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForSourceDeclaration.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForSourceDeclaration.kt index 07aa00d3c6b..914318ee78b 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForSourceDeclaration.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForSourceDeclaration.kt @@ -39,7 +39,10 @@ import org.jetbrains.kotlin.asJava.ImpreciseResolveResult import org.jetbrains.kotlin.asJava.ImpreciseResolveResult.UNSURE import org.jetbrains.kotlin.asJava.LightClassGenerationSupport import org.jetbrains.kotlin.asJava.LightClassUtil -import org.jetbrains.kotlin.asJava.builder.* +import org.jetbrains.kotlin.asJava.builder.InvalidLightClassDataHolder +import org.jetbrains.kotlin.asJava.builder.LightClassData +import org.jetbrains.kotlin.asJava.builder.LightClassDataHolder +import org.jetbrains.kotlin.asJava.builder.LightClassDataProviderForClassOrObject import org.jetbrains.kotlin.asJava.elements.FakeFileForLightClass import org.jetbrains.kotlin.asJava.elements.KtLightIdentifier import org.jetbrains.kotlin.asJava.elements.KtLightModifierList @@ -47,7 +50,6 @@ import org.jetbrains.kotlin.asJava.elements.KtLightPsiReferenceList import org.jetbrains.kotlin.asJava.hasInterfaceDefaultImpls import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.descriptors.ClassDescriptor -import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.lexer.KtTokens.* import org.jetbrains.kotlin.load.java.structure.LightClassOriginKind import org.jetbrains.kotlin.name.FqName @@ -56,6 +58,7 @@ import org.jetbrains.kotlin.platform.JavaToKotlinClassMap import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.debugText.getDebugText import org.jetbrains.kotlin.psi.psiUtil.getElementTextWithContext +import org.jetbrains.kotlin.psi.psiUtil.hasHeaderModifier import org.jetbrains.kotlin.psi.stubs.KotlinClassOrObjectStub import org.jetbrains.kotlin.resolve.DescriptorUtils import java.util.* @@ -331,7 +334,7 @@ abstract class KtLightClassForSourceDeclaration(protected val classOrObject: KtC fun create(classOrObject: KtClassOrObject): KtLightClassForSourceDeclaration? { - if (classOrObject.hasModifier(KtTokens.HEADER_KEYWORD)) { + if (classOrObject.hasHeaderModifier()) { return null } diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/PlatformHeaderAnnotator.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/PlatformHeaderAnnotator.kt index 796f0358dcc..7d21d6f7c82 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/PlatformHeaderAnnotator.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/PlatformHeaderAnnotator.kt @@ -28,10 +28,10 @@ import org.jetbrains.kotlin.idea.caches.resolve.ModuleTestSourceInfo import org.jetbrains.kotlin.idea.caches.resolve.findModuleDescriptor import org.jetbrains.kotlin.idea.core.toDescriptor import org.jetbrains.kotlin.idea.project.TargetPlatformDetector -import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.KtClassOrObject import org.jetbrains.kotlin.psi.KtDeclaration import org.jetbrains.kotlin.psi.KtPsiUtil +import org.jetbrains.kotlin.psi.psiUtil.hasHeaderModifier import org.jetbrains.kotlin.resolve.BindingTraceContext import org.jetbrains.kotlin.resolve.TargetPlatform import org.jetbrains.kotlin.resolve.checkers.HeaderImplDeclarationChecker @@ -81,7 +81,7 @@ class PlatformHeaderAnnotator : Annotator { } private fun isHeaderDeclaration(declaration: KtDeclaration): Boolean { - return declaration.hasModifier(KtTokens.HEADER_KEYWORD) || - declaration is KtClassOrObject && KtPsiUtil.getOutermostClassOrObject(declaration)?.hasModifier(KtTokens.HEADER_KEYWORD) == true + return declaration.hasHeaderModifier() || + declaration is KtClassOrObject && KtPsiUtil.getOutermostClassOrObject(declaration)?.hasHeaderModifier() == true } } diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/overrideImplement/OverrideMemberChooserObject.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/overrideImplement/OverrideMemberChooserObject.kt index d7fa2b5d17b..0ebfbb1033c 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/overrideImplement/OverrideMemberChooserObject.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/overrideImplement/OverrideMemberChooserObject.kt @@ -35,6 +35,7 @@ import org.jetbrains.kotlin.idea.util.approximateFlexibleTypes import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.findDocComment.findDocComment +import org.jetbrains.kotlin.psi.psiUtil.hasHeaderModifier import org.jetbrains.kotlin.renderer.* import org.jetbrains.kotlin.resolve.descriptorUtil.setSingleOverridden @@ -99,7 +100,7 @@ interface OverrideMemberChooserObject : ClassMember { fun OverrideMemberChooserObject.generateMember(targetClass: KtClassOrObject, copyDoc: Boolean): KtCallableDeclaration { val project = targetClass.project - val bodyType = if (targetClass.hasModifier(KtTokens.HEADER_KEYWORD)) OverrideMemberChooserObject.BodyType.NO_BODY else bodyType + val bodyType = if (targetClass.hasHeaderModifier()) OverrideMemberChooserObject.BodyType.NO_BODY else bodyType val descriptor = immediateSuper if (preferConstructorParameter && descriptor is PropertyDescriptor) return generateConstructorParameter(project, descriptor) diff --git a/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/DeclaredHeaderMarker.kt b/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/DeclaredHeaderMarker.kt index af44975fb59..1181f5286f6 100644 --- a/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/DeclaredHeaderMarker.kt +++ b/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/DeclaredHeaderMarker.kt @@ -21,9 +21,9 @@ import org.jetbrains.kotlin.idea.caches.resolve.findModuleDescriptor import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny import org.jetbrains.kotlin.idea.core.toDescriptor import org.jetbrains.kotlin.idea.highlighter.sourceKind -import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.KtDeclaration import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject +import org.jetbrains.kotlin.psi.psiUtil.hasHeaderModifier import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils import org.jetbrains.kotlin.resolve.MultiTargetPlatform import org.jetbrains.kotlin.resolve.checkers.HeaderImplDeclarationChecker @@ -66,7 +66,7 @@ internal fun KtDeclaration.headerDeclarationIfAny(): KtDeclaration? { } internal fun KtDeclaration.isHeaderOrHeaderClassMember() = - hasModifier(KtTokens.HEADER_KEYWORD) || (containingClassOrObject?.hasModifier(KtTokens.HEADER_KEYWORD) ?: false) + hasHeaderModifier() || (containingClassOrObject?.hasHeaderModifier() ?: false) internal fun DeclarationDescriptor.liftToHeader(): DeclarationDescriptor? { if (this is MemberDescriptor) { diff --git a/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/KotlinLineMarkerProvider.kt b/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/KotlinLineMarkerProvider.kt index 0b1ca4ff7d2..6a2a2e596ca 100644 --- a/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/KotlinLineMarkerProvider.kt +++ b/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/KotlinLineMarkerProvider.kt @@ -48,6 +48,7 @@ import org.jetbrains.kotlin.idea.highlighter.allImplementingCompatibleModules import org.jetbrains.kotlin.idea.util.ProjectRootsUtil import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.* +import org.jetbrains.kotlin.psi.psiUtil.hasHeaderModifier import java.awt.event.MouseEvent import java.util.* import javax.swing.Icon @@ -98,7 +99,7 @@ class KotlinLineMarkerProvider : LineMarkerProvider { for (element in elements) { if (element !is KtNamedDeclaration) continue - if (element.hasModifier(KtTokens.HEADER_KEYWORD)) { + if (element.hasHeaderModifier()) { collectImplementationMarkers(element, result) } else if (element.hasModifier(KtTokens.IMPL_KEYWORD)) { diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedSymbolInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedSymbolInspection.kt index 8db5b3cd097..1e17c3ee79b 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedSymbolInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedSymbolInspection.kt @@ -329,7 +329,7 @@ class UnusedSymbolInspection : AbstractKotlinInspection() { declaration.hasModifier(KtTokens.IMPL_KEYWORD) private fun hasPlatformImplementations(declaration: KtNamedDeclaration, descriptor: DeclarationDescriptor?): Boolean { - if (!declaration.hasModifier(KtTokens.HEADER_KEYWORD)) return false + if (!declaration.hasHeaderModifier()) return false descriptor as? MemberDescriptor ?: return false val commonModuleDescriptor = declaration.containingKtFile.findModuleDescriptor() diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtensionIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtensionIntention.kt index 5953893e27a..6a8201dc668 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtensionIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtensionIntention.kt @@ -44,10 +44,7 @@ import org.jetbrains.kotlin.idea.util.ImportInsertHelper import org.jetbrains.kotlin.idea.util.application.runWriteAction import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.* -import org.jetbrains.kotlin.psi.psiUtil.allChildren -import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject -import org.jetbrains.kotlin.psi.psiUtil.endOffset -import org.jetbrains.kotlin.psi.psiUtil.siblings +import org.jetbrains.kotlin.psi.psiUtil.* import org.jetbrains.kotlin.utils.addIfNotNull class ConvertMemberToExtensionIntention : SelfTargetingRangeIntention(KtCallableDeclaration::class.java, "Convert member to extension"), LowPriorityAction {