|
8 | 8 | import de.peeeq.wurstscript.ast.WPackage; |
9 | 9 | import de.peeeq.wurstscript.intermediatelang.*; |
10 | 10 | import de.peeeq.wurstscript.jassIm.*; |
| 11 | +import de.peeeq.wurstscript.translation.imtranslation.ImPrinter; |
11 | 12 | import de.peeeq.wurstscript.types.TypesHelper; |
| 13 | +import de.peeeq.wurstscript.utils.Utils; |
12 | 14 | import org.eclipse.jdt.annotation.Nullable; |
13 | 15 |
|
14 | 16 | import java.util.ArrayList; |
@@ -256,7 +258,7 @@ public static ILconst eval(ImVarArrayAccess e, ProgramState globalState, LocalSt |
256 | 258 | public static ILconst eval(ImMemberAccess ma, ProgramState globalState, LocalState localState) { |
257 | 259 | ILconstObject receiver = globalState.toObject(ma.getReceiver().evaluate(globalState, localState)); |
258 | 260 | 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())); |
260 | 262 | } |
261 | 263 | List<Integer> indexes = new ArrayList<>(); |
262 | 264 | for (ImExpr i : ma.getIndexes()) { |
@@ -411,7 +413,7 @@ public static ILaddress evaluateLvalue(ImMemberAccess va, ProgramState globalSta |
411 | 413 | } |
412 | 414 | } |
413 | 415 | 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())); |
415 | 417 | } |
416 | 418 | ILconstObject receiverFinal = receiver; |
417 | 419 | List<Integer> indexes = |
|
0 commit comments