FE: Use safe call when searching for suspend modifier

The modifier does not exist, when the parameter type is typealias.

 #KT-35187 Fixed
This commit is contained in:
Ilmir Usmanov
2022-06-24 02:16:56 +02:00
parent 1e0a705ba1
commit 09c9641e23
16 changed files with 110 additions and 5 deletions
@@ -44,10 +44,10 @@ object InlineParameterChecker : DeclarationChecker {
parameterDescriptor?.type?.isSuspendFunctionType == true
) {
if (declaration.hasModifier(KtTokens.SUSPEND_KEYWORD)) {
val typeReference = parameter.typeReference!!
val modifierList = typeReference.modifierList!!
val modifier = modifierList.getModifier(KtTokens.SUSPEND_KEYWORD)!!
context.trace.report(Errors.REDUNDANT_INLINE_SUSPEND_FUNCTION_TYPE.on(modifier))
val modifier = parameter.typeReference?.modifierList?.getModifier(KtTokens.SUSPEND_KEYWORD)
if (modifier != null) {
context.trace.report(Errors.REDUNDANT_INLINE_SUSPEND_FUNCTION_TYPE.on(modifier))
}
} else {
context.trace.report(Errors.INLINE_SUSPEND_FUNCTION_TYPE_UNSUPPORTED.on(parameter))
}