Add support of external modifier in classes and properties to IDEA stub builder
This commit is contained in:
+1
-1
@@ -193,7 +193,7 @@ private class PropertyClsStubBuilder(
|
||||
|
||||
val modifierListStubImpl = createModifierListStubForDeclaration(
|
||||
callableStub, propertyProto.flags,
|
||||
listOf(VISIBILITY, LATEINIT) + constModifier + modalityModifier
|
||||
listOf(VISIBILITY, LATEINIT, EXTERNAL_PROPERTY) + constModifier + modalityModifier
|
||||
)
|
||||
|
||||
val annotationIds = c.components.annotationLoader.loadCallableAnnotations(
|
||||
|
||||
+2
-4
@@ -22,10 +22,7 @@ import com.intellij.psi.stubs.StubElement
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.builtins.isNumberedFunctionClassFqName
|
||||
import org.jetbrains.kotlin.descriptors.SourceElement
|
||||
import org.jetbrains.kotlin.idea.decompiler.stubBuilder.flags.DATA
|
||||
import org.jetbrains.kotlin.idea.decompiler.stubBuilder.flags.INNER
|
||||
import org.jetbrains.kotlin.idea.decompiler.stubBuilder.flags.MODALITY
|
||||
import org.jetbrains.kotlin.idea.decompiler.stubBuilder.flags.VISIBILITY
|
||||
import org.jetbrains.kotlin.idea.decompiler.stubBuilder.flags.*
|
||||
import org.jetbrains.kotlin.lexer.KtModifierKeywordToken
|
||||
import org.jetbrains.kotlin.lexer.KtTokens
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
@@ -108,6 +105,7 @@ private class ClassClsStubBuilder(
|
||||
|
||||
private fun createModifierListForClass(parent: StubElement<out PsiElement>): KotlinModifierListStubImpl {
|
||||
val relevantFlags = arrayListOf(VISIBILITY)
|
||||
relevantFlags.add(EXTERNAL_CLASS)
|
||||
if (isClass()) {
|
||||
relevantFlags.add(INNER)
|
||||
relevantFlags.add(DATA)
|
||||
|
||||
@@ -58,6 +58,8 @@ val OPERATOR = createBooleanFlagToModifier(Flags.IS_OPERATOR, KtTokens.OPERATOR_
|
||||
val INFIX = createBooleanFlagToModifier(Flags.IS_INFIX, KtTokens.INFIX_KEYWORD)
|
||||
val DATA = createBooleanFlagToModifier(Flags.IS_DATA, KtTokens.DATA_KEYWORD)
|
||||
val EXTERNAL_FUN = createBooleanFlagToModifier(Flags.IS_EXTERNAL_FUNCTION, KtTokens.EXTERNAL_KEYWORD)
|
||||
val EXTERNAL_PROPERTY = createBooleanFlagToModifier(Flags.IS_EXTERNAL_PROPERTY, KtTokens.EXTERNAL_KEYWORD)
|
||||
val EXTERNAL_CLASS = createBooleanFlagToModifier(Flags.IS_EXTERNAL_CLASS, KtTokens.EXTERNAL_KEYWORD)
|
||||
val INLINE = createBooleanFlagToModifier(Flags.IS_INLINE, KtTokens.INLINE_KEYWORD)
|
||||
val TAILREC = createBooleanFlagToModifier(Flags.IS_TAILREC, KtTokens.TAILREC_KEYWORD)
|
||||
val SUSPEND = createBooleanFlagToModifier(Flags.IS_SUSPEND, KtTokens.SUSPEND_KEYWORD)
|
||||
|
||||
Reference in New Issue
Block a user