Skip to content

Commit 7bf8052

Browse files
committed
small fix
1 parent 1be2aff commit 7bf8052

2 files changed

Lines changed: 6 additions & 3 deletions

File tree

de.peeeq.wurstscript/src/main/java/de/peeeq/wurstscript/intermediatelang/interpreter/EvaluateExpr.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
import de.peeeq.wurstscript.ast.WPackage;
99
import de.peeeq.wurstscript.intermediatelang.*;
1010
import de.peeeq.wurstscript.jassIm.*;
11+
import de.peeeq.wurstscript.translation.imtranslation.ImPrinter;
1112
import de.peeeq.wurstscript.types.TypesHelper;
13+
import de.peeeq.wurstscript.utils.Utils;
1214
import org.eclipse.jdt.annotation.Nullable;
1315

1416
import java.util.ArrayList;
@@ -256,7 +258,7 @@ public static ILconst eval(ImVarArrayAccess e, ProgramState globalState, LocalSt
256258
public static ILconst eval(ImMemberAccess ma, ProgramState globalState, LocalState localState) {
257259
ILconstObject receiver = globalState.toObject(ma.getReceiver().evaluate(globalState, localState));
258260
if (receiver == null) {
259-
throw new InterpreterException(ma.getTrace(), "Null pointer dereference");
261+
throw new InterpreterException(ma.getTrace(), "Null pointer dereference: " + ImPrinter.asString(ma.getReceiver()));
260262
}
261263
List<Integer> indexes = new ArrayList<>();
262264
for (ImExpr i : ma.getIndexes()) {
@@ -411,7 +413,7 @@ public static ILaddress evaluateLvalue(ImMemberAccess va, ProgramState globalSta
411413
}
412414
}
413415
if (receiver == null) {
414-
throw new InterpreterException(va.attrTrace(), "Null pointer dereference");
416+
throw new InterpreterException(va.attrTrace(), "Null pointer dereference: " + ImPrinter.asString(va.getReceiver()));
415417
}
416418
ILconstObject receiverFinal = receiver;
417419
List<Integer> indexes =

de.peeeq.wurstscript/src/main/java/de/peeeq/wurstscript/intermediatelang/interpreter/ProgramState.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import de.peeeq.wurstscript.intermediatelang.*;
1111
import de.peeeq.wurstscript.jassIm.*;
1212
import de.peeeq.wurstscript.parser.WPos;
13+
import de.peeeq.wurstscript.translation.imtranslation.ImPrinter;
1314
import de.peeeq.wurstscript.utils.LineOffsets;
1415
import de.peeeq.wurstscript.utils.Utils;
1516
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
@@ -106,7 +107,7 @@ public void deallocate(ILconstObject obj, ImClass clazz, Element trace) {
106107

107108
public void assertAllocated(ILconstObject obj, Element trace) {
108109
if (obj == null) {
109-
throw new InterpreterException(trace, "Null pointer dereference");
110+
throw new InterpreterException(trace, "Null pointer dereference. The interpreter expected an object here, but found null.");
110111
}
111112
if (obj.isDestroyed()) {
112113
throw new InterpreterException(trace, "Object already destroyed");

0 commit comments

Comments
 (0)