JetCallExpression.getCalleeExpression() is actually nullable with the current parser

This commit is contained in:
Dmitry Jemerov
2011-06-15 17:32:10 +02:00
parent 0210a495c3
commit 98459cfdcb
2 changed files with 11 additions and 6 deletions
@@ -21,11 +21,9 @@ public class JetCallExpression extends JetExpression implements JetCall {
visitor.visitCallExpression(this); visitor.visitCallExpression(this);
} }
@NotNull @Nullable
public JetExpression getCalleeExpression() { public JetExpression getCalleeExpression() {
JetExpression callee = findChildByClass(JetExpression.class); return findChildByClass(JetExpression.class);
assert callee != null;
return callee;
} }
@Override @Override
@@ -1801,7 +1801,10 @@ public class JetTypeInferrer {
selectorExpression.accept(new JetVisitor() { selectorExpression.accept(new JetVisitor() {
@Override @Override
public void visitCallExpression(JetCallExpression callExpression) { public void visitCallExpression(JetCallExpression callExpression) {
callExpression.getCalleeExpression().accept(this); JetExpression calleeExpression = callExpression.getCalleeExpression();
if (calleeExpression != null) {
calleeExpression.accept(this);
}
} }
@Override @Override
@@ -1839,7 +1842,11 @@ public class JetTypeInferrer {
} }
private JetType getCallExpressionType(@Nullable JetType receiverType, @NotNull JetCallExpression callExpression) { 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); return resolveCall(scope, overloadDomain, callExpression);
} }