[SLC] Fix modifiers for @JvmStatic methods in interfaces
This commit is contained in:
committed by
Space Team
parent
253cdb1b8f
commit
9204f8162e
+1
-1
@@ -13,5 +13,5 @@ import org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClassBase
|
||||
|
||||
context(KtAnalysisSession)
|
||||
internal fun String.isSuppressedFinalModifier(containingClass: SymbolLightClassBase, symbol: KtCallableSymbol): Boolean {
|
||||
return this == PsiModifier.FINAL && containingClass.isEnum && symbol.origin == KtSymbolOrigin.SOURCE_MEMBER_GENERATED
|
||||
return this == PsiModifier.FINAL && (containingClass.isEnum && symbol.origin == KtSymbolOrigin.SOURCE_MEMBER_GENERATED || containingClass.isInterface)
|
||||
}
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ internal class SymbolLightMemberModifierList<T : KtLightMember<*>>(
|
||||
override fun hasModifierProperty(name: String): Boolean = when {
|
||||
name == PsiModifier.ABSTRACT && isImplementationInInterface() -> false
|
||||
// Pretend this method behaves like a `default` method
|
||||
name == PsiModifier.DEFAULT && isImplementationInInterface() -> true
|
||||
name == PsiModifier.DEFAULT && isImplementationInInterface() && !hasModifierProperty(PsiModifier.STATIC) -> true
|
||||
// TODO: FINAL && isPossiblyAffectedByAllOpen
|
||||
else -> super.hasModifierProperty(name)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user