From ebff94a632f180622a8742e261e3a58aa079d798 Mon Sep 17 00:00:00 2001 From: Svetlana Isakova Date: Fri, 27 Apr 2012 22:27:38 +0400 Subject: [PATCH] NPE from EA fixed --- .../lang/types/expressions/BasicExpressionTypingVisitor.java | 3 ++- .../tests/incompleteCode/senselessComparisonWithNull.jet | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 compiler/testData/diagnostics/tests/incompleteCode/senselessComparisonWithNull.jet diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/BasicExpressionTypingVisitor.java b/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/BasicExpressionTypingVisitor.java index bc932755159..8fd10ab9ae9 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/BasicExpressionTypingVisitor.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/BasicExpressionTypingVisitor.java @@ -956,7 +956,8 @@ public class BasicExpressionTypingVisitor extends ExpressionTypingVisitor { } } - private boolean isSenselessComparisonWithNull(JetType firstType, JetExpression secondExpression) { + private boolean isSenselessComparisonWithNull(@Nullable JetType firstType, @NotNull JetExpression secondExpression) { + if (firstType == null) return false; return !firstType.isNullable() && secondExpression instanceof JetConstantExpression && secondExpression.getNode().getElementType() == JetNodeTypes.NULL; } diff --git a/compiler/testData/diagnostics/tests/incompleteCode/senselessComparisonWithNull.jet b/compiler/testData/diagnostics/tests/incompleteCode/senselessComparisonWithNull.jet new file mode 100644 index 00000000000..1653843d3d8 --- /dev/null +++ b/compiler/testData/diagnostics/tests/incompleteCode/senselessComparisonWithNull.jet @@ -0,0 +1,5 @@ +package d + +fun foo(a : IntArray) { + if (null == a() +} \ No newline at end of file