NPE on incomplete code from EA
This commit is contained in:
@@ -277,10 +277,11 @@ public class Pseudocode {
|
|||||||
return visited;
|
return visited;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void traverseNextInstructions(Instruction instruction, Set<Instruction> visited) {
|
private void traverseNextInstructions(@NotNull Instruction instruction, @NotNull Set<Instruction> visited) {
|
||||||
if (visited.contains(instruction)) return;
|
if (visited.contains(instruction)) return;
|
||||||
visited.add(instruction);
|
visited.add(instruction);
|
||||||
for (Instruction nextInstruction : instruction.getNextInstructions()) {
|
for (Instruction nextInstruction : instruction.getNextInstructions()) {
|
||||||
|
if (nextInstruction == null) continue; //todo it might be null on incomplete code
|
||||||
traverseNextInstructions(nextInstruction, visited);
|
traverseNextInstructions(nextInstruction, visited);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
@@ -235,6 +235,7 @@ public class ExpressionTypingVisitorForStatements extends ExpressionTypingVisito
|
|||||||
JetExpression right = expression.getRight();
|
JetExpression right = expression.getRight();
|
||||||
if (left instanceof JetArrayAccessExpression) {
|
if (left instanceof JetArrayAccessExpression) {
|
||||||
JetArrayAccessExpression arrayAccessExpression = (JetArrayAccessExpression) left;
|
JetArrayAccessExpression arrayAccessExpression = (JetArrayAccessExpression) left;
|
||||||
|
if (right == null) return null;
|
||||||
JetType assignmentType = basic.resolveArrayAccessSetMethod(arrayAccessExpression, right, context.replaceScope(scope), context.trace);
|
JetType assignmentType = basic.resolveArrayAccessSetMethod(arrayAccessExpression, right, context.replaceScope(scope), context.trace);
|
||||||
basic.checkLValue(context.trace, arrayAccessExpression);
|
basic.checkLValue(context.trace, arrayAccessExpression);
|
||||||
return checkAssignmentType(assignmentType, expression, contextWithExpectedType);
|
return checkAssignmentType(assignmentType, expression, contextWithExpectedType);
|
||||||
|
|||||||
Reference in New Issue
Block a user