From 963ab7f27f3e77885fba12188cc3b54279b4f584 Mon Sep 17 00:00:00 2001 From: Mikhail Zarechenskiy Date: Fri, 11 Aug 2017 12:42:17 +0300 Subject: [PATCH] [NI] Fix KNPE, exception occurred when element is synthetic --- .../calls/DiagnosticReporterByTrackingStrategy.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/DiagnosticReporterByTrackingStrategy.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/DiagnosticReporterByTrackingStrategy.kt index 8fa1566a91a..5d93a4b9648 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/DiagnosticReporterByTrackingStrategy.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/DiagnosticReporterByTrackingStrategy.kt @@ -95,8 +95,14 @@ class DiagnosticReporterByTrackingStrategy( when (diagnostic.javaClass) { SmartCastDiagnostic::class.java -> reportSmartCast(diagnostic as SmartCastDiagnostic) UnstableSmartCast::class.java -> reportUnstableSmartCast(diagnostic as UnstableSmartCast) - TooManyArguments::class.java -> - trace.report(TOO_MANY_ARGUMENTS.on(callArgument.psiExpression!!, (diagnostic as TooManyArguments).descriptor)) + TooManyArguments::class.java -> { + val psiExpression = callArgument.psiExpression + if (psiExpression != null) { + trace.report(TOO_MANY_ARGUMENTS.on(psiExpression, (diagnostic as TooManyArguments).descriptor)) + } + + trace.markAsReported() + } VarargArgumentOutsideParentheses::class.java -> trace.report(VARARG_OUTSIDE_PARENTHESES.on(callArgument.psiExpression!!)) }