FIR LC: add static modifier to non-inner nested interfaces
This commit is contained in:
committed by
Ilya Kirillov
parent
575c0fabb6
commit
b9a56f4888
+3
-4
@@ -3,7 +3,7 @@
|
||||
* 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.light.classes.symbol.classes
|
||||
package org.jetbrains.kotlin.light.classes.symbol
|
||||
|
||||
import com.intellij.psi.PsiManager
|
||||
import com.intellij.psi.PsiMethod
|
||||
@@ -14,8 +14,7 @@ import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
||||
import org.jetbrains.kotlin.analysis.api.isValid
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.*
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.isPrivateOrPrivateToThis
|
||||
import org.jetbrains.kotlin.light.classes.symbol.FirLightClassForClassOrObjectSymbol
|
||||
import org.jetbrains.kotlin.light.classes.symbol.analyzeWithSymbolAsContext
|
||||
import org.jetbrains.kotlin.light.classes.symbol.classes.createMethods
|
||||
|
||||
internal class FirLightAnnotationClassSymbol(
|
||||
private val classOrObjectSymbol: KtNamedClassOrObjectSymbol,
|
||||
@@ -64,4 +63,4 @@ internal class FirLightAnnotationClassSymbol(
|
||||
override fun isValid(): Boolean = super.isValid() && classOrObjectSymbol.isValid()
|
||||
|
||||
override fun copy(): FirLightClassForClassOrObjectSymbol = FirLightAnnotationClassSymbol(classOrObjectSymbol, manager)
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -3,7 +3,7 @@
|
||||
* 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.light.classes.symbol.classes
|
||||
package org.jetbrains.kotlin.light.classes.symbol
|
||||
|
||||
import com.intellij.psi.*
|
||||
import com.intellij.psi.impl.InheritanceImplUtil
|
||||
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
||||
import org.jetbrains.kotlin.analysis.api.isValid
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtAnonymousObjectSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtPropertySymbol
|
||||
import org.jetbrains.kotlin.light.classes.symbol.*
|
||||
import org.jetbrains.kotlin.light.classes.symbol.classes.*
|
||||
import org.jetbrains.kotlin.load.java.structure.LightClassOriginKind
|
||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||
import org.jetbrains.kotlin.psi.debugText.getDebugText
|
||||
|
||||
+1
-1
@@ -36,7 +36,7 @@ internal abstract class FirLightClassForClassOrObjectSymbol(
|
||||
) : FirLightClassBase(manager),
|
||||
StubBasedPsiElement<KotlinClassOrObjectStub<out KtClassOrObject>> {
|
||||
|
||||
private val isTopLevel: Boolean = classOrObjectSymbol.symbolKind == KtSymbolKind.TOP_LEVEL
|
||||
protected val isTopLevel: Boolean = classOrObjectSymbol.symbolKind == KtSymbolKind.TOP_LEVEL
|
||||
|
||||
private val _isDeprecated: Boolean by lazyPub {
|
||||
classOrObjectSymbol.hasDeprecatedAnnotation()
|
||||
|
||||
-2
@@ -58,8 +58,6 @@ internal open class FirLightClassForSymbol(
|
||||
return visibility
|
||||
}
|
||||
|
||||
private val isTopLevel: Boolean = classOrObjectSymbol.symbolKind == KtSymbolKind.TOP_LEVEL
|
||||
|
||||
private val _modifierList: PsiModifierList? by lazyPub {
|
||||
|
||||
val modifiers = mutableSetOf(classOrObjectSymbol.toPsiVisibilityForClass(isTopLevel))
|
||||
|
||||
+4
-4
@@ -3,7 +3,7 @@
|
||||
* 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.light.classes.symbol.classes
|
||||
package org.jetbrains.kotlin.light.classes.symbol
|
||||
|
||||
import com.intellij.psi.PsiManager
|
||||
import com.intellij.psi.PsiMethod
|
||||
@@ -16,8 +16,8 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtClassKind
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtFunctionSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtNamedClassOrObjectSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.isPrivateOrPrivateToThis
|
||||
import org.jetbrains.kotlin.light.classes.symbol.FirLightClassForClassOrObjectSymbol
|
||||
import org.jetbrains.kotlin.light.classes.symbol.analyzeWithSymbolAsContext
|
||||
import org.jetbrains.kotlin.light.classes.symbol.classes.createInheritanceList
|
||||
import org.jetbrains.kotlin.light.classes.symbol.classes.createMethods
|
||||
|
||||
internal class FirLightInterfaceClassSymbol(
|
||||
private val classOrObjectSymbol: KtNamedClassOrObjectSymbol,
|
||||
@@ -69,4 +69,4 @@ internal class FirLightInterfaceClassSymbol(
|
||||
override fun getExtendsList(): PsiReferenceList? = _extendsList
|
||||
|
||||
override fun isValid(): Boolean = super.isValid() && classOrObjectSymbol.isValid()
|
||||
}
|
||||
}
|
||||
|
||||
+4
-5
@@ -3,15 +3,13 @@
|
||||
* 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.light.classes.symbol.classes
|
||||
package org.jetbrains.kotlin.light.classes.symbol
|
||||
|
||||
import com.intellij.psi.*
|
||||
import org.jetbrains.kotlin.asJava.classes.lazyPub
|
||||
import org.jetbrains.kotlin.analysis.api.isValid
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtClassKind
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtNamedClassOrObjectSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolKind
|
||||
import org.jetbrains.kotlin.light.classes.symbol.*
|
||||
|
||||
internal abstract class FirLightInterfaceOrAnnotationClassSymbol(
|
||||
private val classOrObjectSymbol: KtNamedClassOrObjectSymbol,
|
||||
@@ -28,9 +26,10 @@ internal abstract class FirLightInterfaceOrAnnotationClassSymbol(
|
||||
|
||||
private val _modifierList: PsiModifierList? by lazyPub {
|
||||
|
||||
val isTopLevel: Boolean = classOrObjectSymbol.symbolKind == KtSymbolKind.TOP_LEVEL
|
||||
|
||||
val modifiers = mutableSetOf(classOrObjectSymbol.toPsiVisibilityForClass(isTopLevel), PsiModifier.ABSTRACT)
|
||||
if (!isTopLevel && !classOrObjectSymbol.isInner) {
|
||||
modifiers.add(PsiModifier.STATIC)
|
||||
}
|
||||
|
||||
val annotations = classOrObjectSymbol.computeAnnotations(
|
||||
parent = this@FirLightInterfaceOrAnnotationClassSymbol,
|
||||
|
||||
Reference in New Issue
Block a user