diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClass.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClass.kt index e8d42b1faeb..0c07ba92583 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClass.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClass.kt @@ -186,7 +186,7 @@ internal open class SymbolLightClass(classOrObject: KtClassOrObject, ktModule: K context(KtAnalysisSession) private fun addDelegatesToInterfaceMethods(result: MutableList, classOrObjectSymbol: KtNamedClassOrObjectSymbol) { fun createDelegateMethod(ktFunctionSymbol: KtFunctionSymbol) { - val kotlinOrigin = ktFunctionSymbol.psi as? KtDeclaration ?: classOrObject + val kotlinOrigin = ktFunctionSymbol.psiSafe() ?: classOrObject val lightMemberOrigin = LightMemberOriginForDeclaration(kotlinOrigin, JvmDeclarationOriginKind.DELEGATION) result.add( SymbolLightSimpleMethod( diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightParameterCommon.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightParameterCommon.kt index dfab5af0d2e..7ed390bab21 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightParameterCommon.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightParameterCommon.kt @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.light.classes.symbol.parameters import com.intellij.psi.* import org.jetbrains.kotlin.analysis.api.symbols.KtValueParameterSymbol import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer +import org.jetbrains.kotlin.analysis.api.symbols.psiSafe import org.jetbrains.kotlin.analysis.api.symbols.sourcePsiSafe import org.jetbrains.kotlin.analysis.api.types.KtTypeMappingMode import org.jetbrains.kotlin.asJava.classes.lazyPub @@ -33,7 +34,7 @@ internal abstract class SymbolLightParameterCommon( override fun hasModifierProperty(name: String): Boolean = modifierList.hasModifierProperty(name) - override val kotlinOrigin: KtParameter? = parameterDeclaration ?: parameterSymbol.psi as? KtParameter + override val kotlinOrigin: KtParameter? = parameterDeclaration ?: parameterSymbol.psiSafe() abstract override fun getModifierList(): PsiModifierList diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightTypeParameter.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightTypeParameter.kt index abb22b86fc5..2ff685fa5a4 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightTypeParameter.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightTypeParameter.kt @@ -16,6 +16,7 @@ import com.intellij.psi.search.SearchScope import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.lifetime.isValid import org.jetbrains.kotlin.analysis.api.symbols.KtTypeParameterSymbol +import org.jetbrains.kotlin.analysis.api.symbols.psiSafe import org.jetbrains.kotlin.analysis.api.types.KtErrorType import org.jetbrains.kotlin.analysis.api.types.KtNonErrorClassType import org.jetbrains.kotlin.analysis.api.types.KtTypeMappingMode @@ -42,7 +43,7 @@ internal class SymbolLightTypeParameter( override val givenAnnotations: List? get() = invalidAccess() - override val kotlinOrigin: KtTypeParameter? = typeParameterSymbol.psi as? KtTypeParameter + override val kotlinOrigin: KtTypeParameter? = typeParameterSymbol.psiSafe() override fun copy(): PsiElement = SymbolLightTypeParameter(parent, index, typeParameterSymbol)