Move modifiers enum set to separate file

This commit is contained in:
Ivan Cilcic
2019-07-08 11:58:50 +03:00
committed by Mikhail Glukhikh
parent 7cbd838720
commit 8b1a63b54d
4 changed files with 130 additions and 128 deletions
@@ -8,7 +8,6 @@ package org.jetbrains.kotlin.fir.lightTree.fir.modifier
import com.intellij.lang.LighterASTNode
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.expressions.impl.FirAbstractAnnotatedElement
@@ -134,95 +133,3 @@ class Modifier(
return platformModifier == PlatformModifier.ACTUAL
}
}
enum class ClassModifier {
ENUM,
ANNOTATION,
DATA,
INNER,
COMPANION
}
enum class MemberModifier {
OVERRIDE,
LATEINIT
}
enum class VisibilityModifier {
PUBLIC {
override fun toVisibility(): Visibility {
return Visibilities.PUBLIC
}
},
PRIVATE {
override fun toVisibility(): Visibility {
return Visibilities.PRIVATE
}
},
INTERNAL {
override fun toVisibility(): Visibility {
return Visibilities.INTERNAL
}
},
PROTECTED {
override fun toVisibility(): Visibility {
return Visibilities.PROTECTED
}
},
UNKNOWN {
override fun toVisibility(): Visibility {
return Visibilities.UNKNOWN
}
};
abstract fun toVisibility(): Visibility
}
enum class FunctionModifier {
TAILREC,
OPERATOR,
INFIX,
INLINE,
EXTERNAL,
SUSPEND
}
enum class PropertyModifier {
CONST
}
enum class InheritanceModifier {
ABSTRACT {
override fun toModality(): Modality {
return Modality.ABSTRACT
}
},
FINAL {
override fun toModality(): Modality {
return Modality.FINAL
}
},
OPEN {
override fun toModality(): Modality {
return Modality.OPEN
}
},
SEALED {
override fun toModality(): Modality {
return Modality.SEALED
}
};
abstract fun toModality(): Modality
}
enum class ParameterModifier {
VARARG,
NOINLINE,
CROSSINLINE
}
enum class PlatformModifier {
EXPECT,
ACTUAL
}
@@ -0,0 +1,127 @@
/*
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.fir.lightTree.fir.modifier
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.types.Variance
enum class ClassModifier {
ENUM,
ANNOTATION,
DATA,
INNER,
COMPANION
}
enum class MemberModifier {
OVERRIDE,
LATEINIT
}
enum class VisibilityModifier {
PUBLIC {
override fun toVisibility(): Visibility {
return Visibilities.PUBLIC
}
},
PRIVATE {
override fun toVisibility(): Visibility {
return Visibilities.PRIVATE
}
},
INTERNAL {
override fun toVisibility(): Visibility {
return Visibilities.INTERNAL
}
},
PROTECTED {
override fun toVisibility(): Visibility {
return Visibilities.PROTECTED
}
},
UNKNOWN {
override fun toVisibility(): Visibility {
return Visibilities.UNKNOWN
}
};
abstract fun toVisibility(): Visibility
}
enum class FunctionModifier {
TAILREC,
OPERATOR,
INFIX,
INLINE,
EXTERNAL,
SUSPEND
}
enum class PropertyModifier {
CONST
}
enum class InheritanceModifier {
ABSTRACT {
override fun toModality(): Modality {
return Modality.ABSTRACT
}
},
FINAL {
override fun toModality(): Modality {
return Modality.FINAL
}
},
OPEN {
override fun toModality(): Modality {
return Modality.OPEN
}
},
SEALED {
override fun toModality(): Modality {
return Modality.SEALED
}
};
abstract fun toModality(): Modality
}
enum class ParameterModifier {
VARARG,
NOINLINE,
CROSSINLINE
}
enum class PlatformModifier {
EXPECT,
ACTUAL
}
enum class VarianceModifier {
IN {
override fun toVariance(): Variance {
return Variance.IN_VARIANCE
}
},
OUT {
override fun toVariance(): Variance {
return Variance.OUT_VARIANCE
}
},
INVARIANT {
override fun toVariance(): Variance {
return Variance.INVARIANT
}
};
abstract fun toVariance(): Variance
}
enum class ReificationModifier {
REIFIED
}
@@ -15,19 +15,11 @@ class TypeModifier(
session: FirSession,
psi: PsiElement? = null,
private var suspendModifier: SuspendModifier? = null
var hasSuspend: Boolean = false
) : FirAbstractAnnotatedElement(session, psi) {
fun addModifier(modifier: LighterASTNode) {
if (modifier.toString() == KtTokens.SUSPEND_KEYWORD.value) {
this.suspendModifier = SuspendModifier.SUSPEND
when (modifier.tokenType) {
KtTokens.SUSPEND_KEYWORD -> this.hasSuspend = true
}
}
fun hasSuspend(): Boolean {
return suspendModifier == SuspendModifier.SUSPEND
}
}
enum class SuspendModifier {
SUSPEND
}
@@ -36,27 +36,3 @@ class TypeParameterModifier(
return reificationModifier == ReificationModifier.REIFIED
}
}
enum class VarianceModifier {
IN {
override fun toVariance(): Variance {
return Variance.IN_VARIANCE
}
},
OUT {
override fun toVariance(): Variance {
return Variance.OUT_VARIANCE
}
},
INVARIANT {
override fun toVariance(): Variance {
return Variance.INVARIANT
}
};
abstract fun toVariance(): Variance
}
enum class ReificationModifier {
REIFIED
}