Fix potential NPEs in compiler and native runtime

This commit is contained in:
Alexey Andreev 2019-11-18 11:24:47 +03:00
parent 560627bfca
commit 631111bdb3
2 changed files with 17 additions and 15 deletions

View File

@ -131,7 +131,7 @@ public class BufferedCodeWriter extends CodeWriter {
return; return;
} }
if (isNewLine) { if (isNewLine) {
if (pendingFileName != null || pendingLineNumber >= 0) { if (pendingFileName != null && pendingLineNumber >= 0) {
printLineDirective(pendingFileName, pendingLineNumber); printLineDirective(pendingFileName, pendingLineNumber);
pendingLineNumber = -1; pendingLineNumber = -1;
pendingFileName = null; pendingFileName = null;

View File

@ -55,6 +55,7 @@ public final class ExceptionHandling {
while (location != null) { while (location != null) {
MethodLocation methodLocation = location.method; MethodLocation methodLocation = location.method;
if (methodLocation != null) {
Console.printString(" at "); Console.printString(" at ");
if (methodLocation.className == null || methodLocation.methodName == null) { if (methodLocation.className == null || methodLocation.methodName == null) {
Console.printString("(Unknown method)"); Console.printString("(Unknown method)");
@ -70,6 +71,7 @@ public final class ExceptionHandling {
Console.printInt(location.lineNumber); Console.printInt(location.lineNumber);
} }
Console.printString(")\n"); Console.printString(")\n");
}
location = location.next; location = location.next;
} }