diff --git a/idea/src/org/jetbrains/jet/lang/psi/JetCallExpression.java b/idea/src/org/jetbrains/jet/lang/psi/JetCallExpression.java index 9315f82655f..83deea6514e 100644 --- a/idea/src/org/jetbrains/jet/lang/psi/JetCallExpression.java +++ b/idea/src/org/jetbrains/jet/lang/psi/JetCallExpression.java @@ -21,11 +21,9 @@ public class JetCallExpression extends JetExpression implements JetCall { visitor.visitCallExpression(this); } - @NotNull + @Nullable public JetExpression getCalleeExpression() { - JetExpression callee = findChildByClass(JetExpression.class); - assert callee != null; - return callee; + return findChildByClass(JetExpression.class); } @Override diff --git a/idea/src/org/jetbrains/jet/lang/types/JetTypeInferrer.java b/idea/src/org/jetbrains/jet/lang/types/JetTypeInferrer.java index 8b7dc70e6c2..f6ed720f46c 100644 --- a/idea/src/org/jetbrains/jet/lang/types/JetTypeInferrer.java +++ b/idea/src/org/jetbrains/jet/lang/types/JetTypeInferrer.java @@ -1801,7 +1801,10 @@ public class JetTypeInferrer { selectorExpression.accept(new JetVisitor() { @Override public void visitCallExpression(JetCallExpression callExpression) { - callExpression.getCalleeExpression().accept(this); + JetExpression calleeExpression = callExpression.getCalleeExpression(); + if (calleeExpression != null) { + calleeExpression.accept(this); + } } @Override @@ -1839,7 +1842,11 @@ public class JetTypeInferrer { } private JetType getCallExpressionType(@Nullable JetType receiverType, @NotNull JetCallExpression callExpression) { - OverloadDomain overloadDomain = getOverloadDomain(receiverType, scope, callExpression.getCalleeExpression(), callExpression.getValueArgumentList()); + JetExpression calleeExpression = callExpression.getCalleeExpression(); + if (calleeExpression == null) { + return null; + } + OverloadDomain overloadDomain = getOverloadDomain(receiverType, scope, calleeExpression, callExpression.getValueArgumentList()); return resolveCall(scope, overloadDomain, callExpression); }