Refactoring. Replace hasModifier(HEADER_KEYWORD) to hasHeaderModifier()

This commit is contained in:
Stanislav Erokhin
2017-09-14 19:22:20 +03:00
committed by Mikhail Glukhikh
parent 79b2b40289
commit 1ebfe1af43
14 changed files with 33 additions and 24 deletions
@@ -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
}
}
@@ -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)
@@ -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) {
@@ -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)) {
@@ -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()
@@ -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>(KtCallableDeclaration::class.java, "Convert member to extension"), LowPriorityAction {