FIR IDE: Use correct class symbol in getImplementationStatus
The previous check `if (parentClassSymbol !is FirClassSymbol<*>)` always succeeded, because `parentClassSymbol` was a declaration, not a symbol
This commit is contained in:
committed by
teamcityserver
parent
b65c477e68
commit
f3bdadb7d9
+5
-3
@@ -15,7 +15,6 @@ import org.jetbrains.kotlin.fir.originalForSubstitutionOverride
|
||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||
import org.jetbrains.kotlin.fir.resolve.SessionHolderImpl
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.delegatedWrapperData
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
||||
import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession
|
||||
import org.jetbrains.kotlin.idea.frontend.api.components.KtOverrideInfoProvider
|
||||
import org.jetbrains.kotlin.idea.frontend.api.fir.KtFirAnalysisSession
|
||||
@@ -50,8 +49,11 @@ class KtFirOverrideInfoProvider(
|
||||
return memberSymbol.firRef.withFir { memberFir ->
|
||||
if (memberFir !is FirCallableDeclaration) return@withFir null
|
||||
parentClassSymbol.firRef.withFir inner@{ parentClassFir ->
|
||||
if (parentClassSymbol !is FirClassSymbol<*>) return@inner null
|
||||
memberFir.symbol.getImplementationStatus(SessionHolderImpl(firAnalysisSession.rootModuleSession, ScopeSession()), parentClassSymbol)
|
||||
if (parentClassFir !is FirClass) return@inner null
|
||||
memberFir.symbol.getImplementationStatus(
|
||||
SessionHolderImpl(firAnalysisSession.rootModuleSession, ScopeSession()),
|
||||
parentClassFir.symbol
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user