Refactoring. Replace hasModifier(IMPL_KEYWORD) to hasImplModifier()

This commit is contained in:
Stanislav Erokhin
2017-09-14 19:39:39 +03:00
committed by Mikhail Glukhikh
parent 1ebfe1af43
commit 0bf7dc3e0c
9 changed files with 18 additions and 11 deletions
@@ -385,3 +385,7 @@ inline fun <reified T : PsiElement> PsiElement.getLastParentOfTypeInRow() = pare
fun KtModifierListOwner.hasHeaderModifier() = hasModifier(KtTokens.HEADER_KEYWORD) fun KtModifierListOwner.hasHeaderModifier() = hasModifier(KtTokens.HEADER_KEYWORD)
fun KtModifierList.hasHeaderModifier() = hasModifier(KtTokens.HEADER_KEYWORD) fun KtModifierList.hasHeaderModifier() = hasModifier(KtTokens.HEADER_KEYWORD)
fun KtModifierListOwner.hasImplModifier() = hasModifier(KtTokens.IMPL_KEYWORD)
fun KtModifierList.hasImplModifier() = hasModifier(KtTokens.IMPL_KEYWORD)
@@ -29,6 +29,7 @@ import org.jetbrains.kotlin.diagnostics.Errors
import org.jetbrains.kotlin.diagnostics.Errors.* import org.jetbrains.kotlin.diagnostics.Errors.*
import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.hasImplModifier
import org.jetbrains.kotlin.psi.psiUtil.visibilityModifier import org.jetbrains.kotlin.psi.psiUtil.visibilityModifier
import org.jetbrains.kotlin.resolve.BindingContext.* import org.jetbrains.kotlin.resolve.BindingContext.*
import org.jetbrains.kotlin.resolve.DescriptorUtils.classCanHaveAbstractMembers import org.jetbrains.kotlin.resolve.DescriptorUtils.classCanHaveAbstractMembers
@@ -165,7 +166,7 @@ class DeclarationsChecker(
} }
} }
if (declaration.hasModifier(KtTokens.IMPL_KEYWORD)) { if (declaration.hasImplModifier()) {
checkImplTypeAlias(declaration, typeAliasDescriptor) checkImplTypeAlias(declaration, typeAliasDescriptor)
} }
} }
@@ -876,7 +876,7 @@ public class DescriptorResolver {
modifierList != null && modifierList.hasModifier(KtTokens.CONST_KEYWORD), modifierList != null && modifierList.hasModifier(KtTokens.CONST_KEYWORD),
modifierList != null && PsiUtilsKt.hasHeaderModifier(modifierList) && container instanceof PackageFragmentDescriptor || modifierList != null && PsiUtilsKt.hasHeaderModifier(modifierList) && container instanceof PackageFragmentDescriptor ||
container instanceof ClassDescriptor && ((ClassDescriptor) container).isHeader(), container instanceof ClassDescriptor && ((ClassDescriptor) container).isHeader(),
modifierList != null && modifierList.hasModifier(KtTokens.IMPL_KEYWORD), modifierList != null && PsiUtilsKt.hasImplModifier(modifierList),
modifierList != null && modifierList.hasModifier(KtTokens.EXTERNAL_KEYWORD), modifierList != null && modifierList.hasModifier(KtTokens.EXTERNAL_KEYWORD),
propertyInfo.getHasDelegate() propertyInfo.getHasDelegate()
); );
@@ -1202,7 +1202,7 @@ public class DescriptorResolver {
false, false,
false, false,
classDescriptor.isHeader(), classDescriptor.isHeader(),
modifierList != null && modifierList.hasModifier(KtTokens.IMPL_KEYWORD), modifierList != null && PsiUtilsKt.hasImplModifier(modifierList),
false, false,
false false
); );
@@ -34,6 +34,7 @@ import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.hasHeaderModifier import org.jetbrains.kotlin.psi.psiUtil.hasHeaderModifier
import org.jetbrains.kotlin.psi.psiUtil.hasImplModifier
import org.jetbrains.kotlin.resolve.DescriptorResolver.getDefaultModality import org.jetbrains.kotlin.resolve.DescriptorResolver.getDefaultModality
import org.jetbrains.kotlin.resolve.DescriptorResolver.getDefaultVisibility import org.jetbrains.kotlin.resolve.DescriptorResolver.getDefaultVisibility
import org.jetbrains.kotlin.resolve.DescriptorUtils.getDispatchReceiverParameterIfNeeded import org.jetbrains.kotlin.resolve.DescriptorUtils.getDispatchReceiverParameterIfNeeded
@@ -185,7 +186,7 @@ class FunctionDescriptorResolver(
functionDescriptor.isSuspend = function.hasModifier(KtTokens.SUSPEND_KEYWORD) functionDescriptor.isSuspend = function.hasModifier(KtTokens.SUSPEND_KEYWORD)
functionDescriptor.isHeader = container is PackageFragmentDescriptor && function.hasHeaderModifier() || functionDescriptor.isHeader = container is PackageFragmentDescriptor && function.hasHeaderModifier() ||
container is ClassDescriptor && container.isHeader container is ClassDescriptor && container.isHeader
functionDescriptor.isImpl = function.hasModifier(KtTokens.IMPL_KEYWORD) functionDescriptor.isImpl = function.hasImplModifier()
receiverType?.let { ForceResolveUtil.forceResolveAllContents(it.annotations) } receiverType?.let { ForceResolveUtil.forceResolveAllContents(it.annotations) }
for (valueParameterDescriptor in valueParameterDescriptors) { for (valueParameterDescriptor in valueParameterDescriptors) {
@@ -24,11 +24,11 @@ import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.diagnostics.DiagnosticSink import org.jetbrains.kotlin.diagnostics.DiagnosticSink
import org.jetbrains.kotlin.diagnostics.Errors import org.jetbrains.kotlin.diagnostics.Errors
import org.jetbrains.kotlin.incremental.components.NoLookupLocation import org.jetbrains.kotlin.incremental.components.NoLookupLocation
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.psi.KtConstructor import org.jetbrains.kotlin.psi.KtConstructor
import org.jetbrains.kotlin.psi.KtDeclaration import org.jetbrains.kotlin.psi.KtDeclaration
import org.jetbrains.kotlin.psi.KtElement import org.jetbrains.kotlin.psi.KtElement
import org.jetbrains.kotlin.psi.psiUtil.hasImplModifier
import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.DescriptorUtils
@@ -127,7 +127,7 @@ object HeaderImplDeclarationChecker : DeclarationChecker {
// TODO: use common module here // TODO: use common module here
val compatibility = findHeaderForImpl(descriptor, descriptor.module) ?: return val compatibility = findHeaderForImpl(descriptor, descriptor.module) ?: return
val hasImplModifier = descriptor.isImpl && reportOn.hasModifier(KtTokens.IMPL_KEYWORD) val hasImplModifier = descriptor.isImpl && reportOn.hasImplModifier()
if (!hasImplModifier) { if (!hasImplModifier) {
if (Compatible !in compatibility) return if (Compatible !in compatibility) return
@@ -166,7 +166,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes
this.isInner = modifierList != null && modifierList.hasModifier(INNER_KEYWORD) && !isIllegalInner(this); this.isInner = modifierList != null && modifierList.hasModifier(INNER_KEYWORD) && !isIllegalInner(this);
this.isData = modifierList != null && modifierList.hasModifier(KtTokens.DATA_KEYWORD); this.isData = modifierList != null && modifierList.hasModifier(KtTokens.DATA_KEYWORD);
this.isImpl = modifierList != null && modifierList.hasModifier(KtTokens.IMPL_KEYWORD); this.isImpl = modifierList != null && PsiUtilsKt.hasImplModifier(modifierList);
this.isHeader = modifierList != null && PsiUtilsKt.hasHeaderModifier(modifierList) || this.isHeader = modifierList != null && PsiUtilsKt.hasHeaderModifier(modifierList) ||
containingDeclaration instanceof ClassDescriptor && ((ClassDescriptor) containingDeclaration).isHeader(); containingDeclaration instanceof ClassDescriptor && ((ClassDescriptor) containingDeclaration).isHeader();
@@ -20,9 +20,9 @@ import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.descriptors.annotations.Annotations import org.jetbrains.kotlin.descriptors.annotations.Annotations
import org.jetbrains.kotlin.descriptors.impl.AbstractTypeAliasDescriptor import org.jetbrains.kotlin.descriptors.impl.AbstractTypeAliasDescriptor
import org.jetbrains.kotlin.descriptors.impl.TypeAliasConstructorDescriptor import org.jetbrains.kotlin.descriptors.impl.TypeAliasConstructorDescriptor
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.psi.KtTypeAlias import org.jetbrains.kotlin.psi.KtTypeAlias
import org.jetbrains.kotlin.psi.psiUtil.hasImplModifier
import org.jetbrains.kotlin.resolve.BindingTrace import org.jetbrains.kotlin.resolve.BindingTrace
import org.jetbrains.kotlin.resolve.source.getPsi import org.jetbrains.kotlin.resolve.source.getPsi
import org.jetbrains.kotlin.storage.NotNullLazyValue import org.jetbrains.kotlin.storage.NotNullLazyValue
@@ -49,7 +49,7 @@ class LazyTypeAliasDescriptor(
private lateinit var expandedTypeImpl: NotNullLazyValue<SimpleType> private lateinit var expandedTypeImpl: NotNullLazyValue<SimpleType>
private lateinit var defaultTypeImpl: NotNullLazyValue<SimpleType> private lateinit var defaultTypeImpl: NotNullLazyValue<SimpleType>
private lateinit var classDescriptorImpl: NullableLazyValue<ClassDescriptor> private lateinit var classDescriptorImpl: NullableLazyValue<ClassDescriptor>
private val isImpl = (source.getPsi() as? KtTypeAlias)?.hasModifier(KtTokens.IMPL_KEYWORD) == true private val isImpl = (source.getPsi() as? KtTypeAlias)?.hasImplModifier() == true
override val underlyingType: SimpleType get() = underlyingTypeImpl() override val underlyingType: SimpleType get() = underlyingTypeImpl()
override val expandedType: SimpleType get() = expandedTypeImpl() override val expandedType: SimpleType get() = expandedTypeImpl()
@@ -49,6 +49,7 @@ import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.hasHeaderModifier import org.jetbrains.kotlin.psi.psiUtil.hasHeaderModifier
import org.jetbrains.kotlin.psi.psiUtil.hasImplModifier
import java.awt.event.MouseEvent import java.awt.event.MouseEvent
import java.util.* import java.util.*
import javax.swing.Icon import javax.swing.Icon
@@ -102,7 +103,7 @@ class KotlinLineMarkerProvider : LineMarkerProvider {
if (element.hasHeaderModifier()) { if (element.hasHeaderModifier()) {
collectImplementationMarkers(element, result) collectImplementationMarkers(element, result)
} }
else if (element.hasModifier(KtTokens.IMPL_KEYWORD)) { else if (element.hasImplModifier()) {
collectHeaderMarkers(element, result) collectHeaderMarkers(element, result)
} }
} }
@@ -326,7 +326,7 @@ class UnusedSymbolInspection : AbstractKotlinInspection() {
} }
private fun isPlatformImplementation(declaration: KtNamedDeclaration) = private fun isPlatformImplementation(declaration: KtNamedDeclaration) =
declaration.hasModifier(KtTokens.IMPL_KEYWORD) declaration.hasImplModifier()
private fun hasPlatformImplementations(declaration: KtNamedDeclaration, descriptor: DeclarationDescriptor?): Boolean { private fun hasPlatformImplementations(declaration: KtNamedDeclaration, descriptor: DeclarationDescriptor?): Boolean {
if (!declaration.hasHeaderModifier()) return false if (!declaration.hasHeaderModifier()) return false