[Analysis API] Treat inapplicable declarations safely (KTIJ-23458)
Make 'getClassOrObjectSymbol()' and 'getNamedClassOrObjectSymbol()' return 'null' for inapplicable PSI declarations.
This commit is contained in:
+1
-1
@@ -19,7 +19,7 @@ abstract class AbstractContainingDeclarationProviderByDelegatedMemberScopeTest :
|
||||
val declaration = testServices.expressionMarkerProvider.getElementOfTypeAtCaret<KtClassOrObject>(ktFile)
|
||||
|
||||
val memberToContainingClass = analyseForTest(declaration) {
|
||||
val symbol = declaration.getClassOrObjectSymbol()
|
||||
val symbol = declaration.getClassOrObjectSymbol()!!
|
||||
renderScopeWithParentDeclarations(symbol.getDelegatedMemberScope())
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ abstract class AbstractContainingDeclarationProviderByMemberScopeTest : Abstract
|
||||
val declaration = testServices.expressionMarkerProvider.getElementOfTypeAtCaret<KtClassOrObject>(ktFile)
|
||||
|
||||
val memberToContainingClass = analyseForTest(declaration) {
|
||||
val symbol = declaration.getClassOrObjectSymbol()
|
||||
val symbol = declaration.getClassOrObjectSymbol()!!
|
||||
renderScopeWithParentDeclarations(symbol.getMemberScope())
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -21,8 +21,8 @@ abstract class AbstractIsSubclassOfTest : AbstractAnalysisApiBasedSingleModuleTe
|
||||
|
||||
val actual = executeOnPooledThreadInReadAction {
|
||||
analyseForTest(subClass) {
|
||||
val subClassSymbol = subClass.getClassOrObjectSymbol()
|
||||
val superClassSymbol = superClass.getClassOrObjectSymbol()
|
||||
val subClassSymbol = subClass.getClassOrObjectSymbol()!!
|
||||
val superClassSymbol = superClass.getClassOrObjectSymbol()!!
|
||||
|
||||
val isSubClass = subClassSymbol.isSubClassOf(superClassSymbol)
|
||||
val isDirectSubClass = subClassSymbol.isDirectSubClassOf(superClassSymbol)
|
||||
|
||||
Reference in New Issue
Block a user