Rename has[Header|Impl]Modifier() to has[Expect|Actual]Modifier()

This commit is contained in:
Stanislav Erokhin
2017-09-14 19:42:10 +03:00
committed by Mikhail Glukhikh
parent 0bf7dc3e0c
commit 4dc47c734c
16 changed files with 38 additions and 38 deletions
@@ -99,7 +99,7 @@ public class PackageCodegenImpl implements PackageCodegen {
List<KtClassOrObject> classOrObjects = new ArrayList<>(); List<KtClassOrObject> classOrObjects = new ArrayList<>();
for (KtDeclaration declaration : file.getDeclarations()) { for (KtDeclaration declaration : file.getDeclarations()) {
if (PsiUtilsKt.hasHeaderModifier(declaration)) continue; if (PsiUtilsKt.hasExpectModifier(declaration)) continue;
if (declaration instanceof KtProperty || declaration instanceof KtNamedFunction || declaration instanceof KtTypeAlias) { if (declaration instanceof KtProperty || declaration instanceof KtNamedFunction || declaration instanceof KtTypeAlias) {
generatePackagePart = true; generatePackagePart = true;
@@ -89,7 +89,7 @@ public class PackagePartCodegen extends MemberCodegen<KtFile> {
@Override @Override
protected void generateBody() { protected void generateBody() {
for (KtDeclaration declaration : element.getDeclarations()) { for (KtDeclaration declaration : element.getDeclarations()) {
if (PsiUtilsKt.hasHeaderModifier(declaration)) continue; if (PsiUtilsKt.hasExpectModifier(declaration)) continue;
if (declaration instanceof KtNamedFunction || declaration instanceof KtProperty || declaration instanceof KtTypeAlias) { if (declaration instanceof KtNamedFunction || declaration instanceof KtProperty || declaration instanceof KtTypeAlias) {
genSimpleMember(declaration); genSimpleMember(declaration);
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.idea.KotlinLanguage
import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.parsing.KotlinParserDefinition import org.jetbrains.kotlin.parsing.KotlinParserDefinition
import org.jetbrains.kotlin.psi.psiUtil.getChildOfType import org.jetbrains.kotlin.psi.psiUtil.getChildOfType
import org.jetbrains.kotlin.psi.psiUtil.hasHeaderModifier import org.jetbrains.kotlin.psi.psiUtil.hasExpectModifier
import org.jetbrains.kotlin.psi.stubs.KotlinFileStub import org.jetbrains.kotlin.psi.stubs.KotlinFileStub
import org.jetbrains.kotlin.psi.stubs.elements.KtPlaceHolderStubElementType import org.jetbrains.kotlin.psi.stubs.elements.KtPlaceHolderStubElementType
import org.jetbrains.kotlin.psi.stubs.elements.KtStubElementTypes 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 KtProperty ||
it is KtNamedFunction || it is KtNamedFunction ||
it is KtScript || it is KtScript ||
it is KtTypeAlias) && !it.hasHeaderModifier() it is KtTypeAlias) && !it.hasExpectModifier()
} }
hasTopLeveCallables = result hasTopLeveCallables = result
@@ -383,9 +383,9 @@ fun PsiElement.before(element: PsiElement) = textRange.endOffset <= element.text
inline fun <reified T : PsiElement> PsiElement.getLastParentOfTypeInRow() = parents.takeWhile { it is T }.lastOrNull() as? T inline fun <reified T : PsiElement> PsiElement.getLastParentOfTypeInRow() = parents.takeWhile { it is T }.lastOrNull() as? T
fun KtModifierListOwner.hasHeaderModifier() = hasModifier(KtTokens.HEADER_KEYWORD) fun KtModifierListOwner.hasExpectModifier() = hasModifier(KtTokens.HEADER_KEYWORD)
fun KtModifierList.hasHeaderModifier() = hasModifier(KtTokens.HEADER_KEYWORD) fun KtModifierList.hasExpectModifier() = hasModifier(KtTokens.HEADER_KEYWORD)
fun KtModifierListOwner.hasImplModifier() = hasModifier(KtTokens.IMPL_KEYWORD) fun KtModifierListOwner.hasActualModifier() = hasModifier(KtTokens.IMPL_KEYWORD)
fun KtModifierList.hasImplModifier() = hasModifier(KtTokens.IMPL_KEYWORD) fun KtModifierList.hasActualModifier() = hasModifier(KtTokens.IMPL_KEYWORD)
@@ -29,7 +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.hasActualModifier
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
@@ -166,7 +166,7 @@ class DeclarationsChecker(
} }
} }
if (declaration.hasImplModifier()) { if (declaration.hasActualModifier()) {
checkImplTypeAlias(declaration, typeAliasDescriptor) checkImplTypeAlias(declaration, typeAliasDescriptor)
} }
} }
@@ -874,9 +874,9 @@ public class DescriptorResolver {
KotlinSourceElementKt.toSourceElement(variableDeclaration), KotlinSourceElementKt.toSourceElement(variableDeclaration),
modifierList != null && modifierList.hasModifier(KtTokens.LATEINIT_KEYWORD), modifierList != null && modifierList.hasModifier(KtTokens.LATEINIT_KEYWORD),
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.hasExpectModifier(modifierList) && container instanceof PackageFragmentDescriptor ||
container instanceof ClassDescriptor && ((ClassDescriptor) container).isHeader(), container instanceof ClassDescriptor && ((ClassDescriptor) container).isHeader(),
modifierList != null && PsiUtilsKt.hasImplModifier(modifierList), modifierList != null && PsiUtilsKt.hasActualModifier(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 && PsiUtilsKt.hasImplModifier(modifierList), modifierList != null && PsiUtilsKt.hasActualModifier(modifierList),
false, false,
false false
); );
@@ -33,8 +33,8 @@ import org.jetbrains.kotlin.diagnostics.Errors.*
import org.jetbrains.kotlin.lexer.KtTokens 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.hasExpectModifier
import org.jetbrains.kotlin.psi.psiUtil.hasImplModifier import org.jetbrains.kotlin.psi.psiUtil.hasActualModifier
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
@@ -184,9 +184,9 @@ class FunctionDescriptorResolver(
functionDescriptor.isInline = function.hasModifier(KtTokens.INLINE_KEYWORD) functionDescriptor.isInline = function.hasModifier(KtTokens.INLINE_KEYWORD)
functionDescriptor.isTailrec = function.hasModifier(KtTokens.TAILREC_KEYWORD) functionDescriptor.isTailrec = function.hasModifier(KtTokens.TAILREC_KEYWORD)
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.hasExpectModifier() ||
container is ClassDescriptor && container.isHeader container is ClassDescriptor && container.isHeader
functionDescriptor.isImpl = function.hasImplModifier() functionDescriptor.isImpl = function.hasActualModifier()
receiverType?.let { ForceResolveUtil.forceResolveAllContents(it.annotations) } receiverType?.let { ForceResolveUtil.forceResolveAllContents(it.annotations) }
for (valueParameterDescriptor in valueParameterDescriptors) { for (valueParameterDescriptor in valueParameterDescriptors) {
@@ -28,7 +28,7 @@ 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.psi.psiUtil.hasActualModifier
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.hasImplModifier() val hasImplModifier = descriptor.isImpl && reportOn.hasActualModifier()
if (!hasImplModifier) { if (!hasImplModifier) {
if (Compatible !in compatibility) return if (Compatible !in compatibility) return
@@ -166,9 +166,9 @@ 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 && PsiUtilsKt.hasImplModifier(modifierList); this.isImpl = modifierList != null && PsiUtilsKt.hasActualModifier(modifierList);
this.isHeader = modifierList != null && PsiUtilsKt.hasHeaderModifier(modifierList) || this.isHeader = modifierList != null && PsiUtilsKt.hasExpectModifier(modifierList) ||
containingDeclaration instanceof ClassDescriptor && ((ClassDescriptor) containingDeclaration).isHeader(); containingDeclaration instanceof ClassDescriptor && ((ClassDescriptor) containingDeclaration).isHeader();
// Annotation entries are taken from both own annotations (if any) and object literal annotations (if any) // Annotation entries are taken from both own annotations (if any) and object literal annotations (if any)
@@ -22,7 +22,7 @@ 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.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.psi.psiUtil.hasActualModifier
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)?.hasImplModifier() == true private val isImpl = (source.getPsi() as? KtTypeAlias)?.hasActualModifier() == 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()
@@ -58,7 +58,7 @@ import org.jetbrains.kotlin.platform.JavaToKotlinClassMap
import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.debugText.getDebugText import org.jetbrains.kotlin.psi.debugText.getDebugText
import org.jetbrains.kotlin.psi.psiUtil.getElementTextWithContext import org.jetbrains.kotlin.psi.psiUtil.getElementTextWithContext
import org.jetbrains.kotlin.psi.psiUtil.hasHeaderModifier import org.jetbrains.kotlin.psi.psiUtil.hasExpectModifier
import org.jetbrains.kotlin.psi.stubs.KotlinClassOrObjectStub import org.jetbrains.kotlin.psi.stubs.KotlinClassOrObjectStub
import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.DescriptorUtils
import java.util.* import java.util.*
@@ -334,7 +334,7 @@ abstract class KtLightClassForSourceDeclaration(protected val classOrObject: KtC
fun create(classOrObject: KtClassOrObject): KtLightClassForSourceDeclaration? { fun create(classOrObject: KtClassOrObject): KtLightClassForSourceDeclaration? {
if (classOrObject.hasHeaderModifier()) { if (classOrObject.hasExpectModifier()) {
return null return null
} }
@@ -31,7 +31,7 @@ import org.jetbrains.kotlin.idea.project.TargetPlatformDetector
import org.jetbrains.kotlin.psi.KtClassOrObject import org.jetbrains.kotlin.psi.KtClassOrObject
import org.jetbrains.kotlin.psi.KtDeclaration import org.jetbrains.kotlin.psi.KtDeclaration
import org.jetbrains.kotlin.psi.KtPsiUtil import org.jetbrains.kotlin.psi.KtPsiUtil
import org.jetbrains.kotlin.psi.psiUtil.hasHeaderModifier import org.jetbrains.kotlin.psi.psiUtil.hasExpectModifier
import org.jetbrains.kotlin.resolve.BindingTraceContext import org.jetbrains.kotlin.resolve.BindingTraceContext
import org.jetbrains.kotlin.resolve.TargetPlatform import org.jetbrains.kotlin.resolve.TargetPlatform
import org.jetbrains.kotlin.resolve.checkers.HeaderImplDeclarationChecker import org.jetbrains.kotlin.resolve.checkers.HeaderImplDeclarationChecker
@@ -81,7 +81,7 @@ class PlatformHeaderAnnotator : Annotator {
} }
private fun isHeaderDeclaration(declaration: KtDeclaration): Boolean { private fun isHeaderDeclaration(declaration: KtDeclaration): Boolean {
return declaration.hasHeaderModifier() || return declaration.hasExpectModifier() ||
declaration is KtClassOrObject && KtPsiUtil.getOutermostClassOrObject(declaration)?.hasHeaderModifier() == true declaration is KtClassOrObject && KtPsiUtil.getOutermostClassOrObject(declaration)?.hasExpectModifier() == true
} }
} }
@@ -35,7 +35,7 @@ import org.jetbrains.kotlin.idea.util.approximateFlexibleTypes
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.findDocComment.findDocComment import org.jetbrains.kotlin.psi.findDocComment.findDocComment
import org.jetbrains.kotlin.psi.psiUtil.hasHeaderModifier import org.jetbrains.kotlin.psi.psiUtil.hasExpectModifier
import org.jetbrains.kotlin.renderer.* import org.jetbrains.kotlin.renderer.*
import org.jetbrains.kotlin.resolve.descriptorUtil.setSingleOverridden import org.jetbrains.kotlin.resolve.descriptorUtil.setSingleOverridden
@@ -100,7 +100,7 @@ interface OverrideMemberChooserObject : ClassMember {
fun OverrideMemberChooserObject.generateMember(targetClass: KtClassOrObject, copyDoc: Boolean): KtCallableDeclaration { fun OverrideMemberChooserObject.generateMember(targetClass: KtClassOrObject, copyDoc: Boolean): KtCallableDeclaration {
val project = targetClass.project val project = targetClass.project
val bodyType = if (targetClass.hasHeaderModifier()) OverrideMemberChooserObject.BodyType.NO_BODY else bodyType val bodyType = if (targetClass.hasExpectModifier()) OverrideMemberChooserObject.BodyType.NO_BODY else bodyType
val descriptor = immediateSuper val descriptor = immediateSuper
if (preferConstructorParameter && descriptor is PropertyDescriptor) return generateConstructorParameter(project, descriptor) if (preferConstructorParameter && descriptor is PropertyDescriptor) return generateConstructorParameter(project, descriptor)
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.idea.core.toDescriptor
import org.jetbrains.kotlin.idea.highlighter.sourceKind import org.jetbrains.kotlin.idea.highlighter.sourceKind
import org.jetbrains.kotlin.psi.KtDeclaration import org.jetbrains.kotlin.psi.KtDeclaration
import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject
import org.jetbrains.kotlin.psi.psiUtil.hasHeaderModifier import org.jetbrains.kotlin.psi.psiUtil.hasExpectModifier
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
import org.jetbrains.kotlin.resolve.MultiTargetPlatform import org.jetbrains.kotlin.resolve.MultiTargetPlatform
import org.jetbrains.kotlin.resolve.checkers.HeaderImplDeclarationChecker import org.jetbrains.kotlin.resolve.checkers.HeaderImplDeclarationChecker
@@ -66,7 +66,7 @@ internal fun KtDeclaration.headerDeclarationIfAny(): KtDeclaration? {
} }
internal fun KtDeclaration.isHeaderOrHeaderClassMember() = internal fun KtDeclaration.isHeaderOrHeaderClassMember() =
hasHeaderModifier() || (containingClassOrObject?.hasHeaderModifier() ?: false) hasExpectModifier() || (containingClassOrObject?.hasExpectModifier() ?: false)
internal fun DeclarationDescriptor.liftToHeader(): DeclarationDescriptor? { internal fun DeclarationDescriptor.liftToHeader(): DeclarationDescriptor? {
if (this is MemberDescriptor) { if (this is MemberDescriptor) {
@@ -48,8 +48,8 @@ import org.jetbrains.kotlin.idea.highlighter.allImplementingCompatibleModules
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil 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.hasExpectModifier
import org.jetbrains.kotlin.psi.psiUtil.hasImplModifier import org.jetbrains.kotlin.psi.psiUtil.hasActualModifier
import java.awt.event.MouseEvent import java.awt.event.MouseEvent
import java.util.* import java.util.*
import javax.swing.Icon import javax.swing.Icon
@@ -100,10 +100,10 @@ class KotlinLineMarkerProvider : LineMarkerProvider {
for (element in elements) { for (element in elements) {
if (element !is KtNamedDeclaration) continue if (element !is KtNamedDeclaration) continue
if (element.hasHeaderModifier()) { if (element.hasExpectModifier()) {
collectImplementationMarkers(element, result) collectImplementationMarkers(element, result)
} }
else if (element.hasImplModifier()) { else if (element.hasActualModifier()) {
collectHeaderMarkers(element, result) collectHeaderMarkers(element, result)
} }
} }
@@ -326,10 +326,10 @@ class UnusedSymbolInspection : AbstractKotlinInspection() {
} }
private fun isPlatformImplementation(declaration: KtNamedDeclaration) = private fun isPlatformImplementation(declaration: KtNamedDeclaration) =
declaration.hasImplModifier() declaration.hasActualModifier()
private fun hasPlatformImplementations(declaration: KtNamedDeclaration, descriptor: DeclarationDescriptor?): Boolean { private fun hasPlatformImplementations(declaration: KtNamedDeclaration, descriptor: DeclarationDescriptor?): Boolean {
if (!declaration.hasHeaderModifier()) return false if (!declaration.hasExpectModifier()) return false
descriptor as? MemberDescriptor ?: return false descriptor as? MemberDescriptor ?: return false
val commonModuleDescriptor = declaration.containingKtFile.findModuleDescriptor() val commonModuleDescriptor = declaration.containingKtFile.findModuleDescriptor()