diff --git a/pdex/src/processing/mode/experimental/ASTNodeWrapper.java b/pdex/src/processing/mode/experimental/ASTNodeWrapper.java index 7f9779421..700c7c7d5 100644 --- a/pdex/src/processing/mode/experimental/ASTNodeWrapper.java +++ b/pdex/src/processing/mode/experimental/ASTNodeWrapper.java @@ -112,9 +112,9 @@ public class ASTNodeWrapper { } System.out.println("Altspos " + altStartPos); int pdeoffsets[] = getPDECodeOffsets(ecs); - String pdeCode = ecs.getPDECode(pdeoffsets[1] - 1).trim(); + String pdeCode = ecs.getPDECodeAtLine(pdeoffsets[0],pdeoffsets[1] - 1).trim(); int vals[] = createOffsetMapping(pdeCode,nodeOffset - altStartPos,nodeLength); - if(vals != null) + if (vals != null) return new int[] { lineNumber, nodeOffset + vals[0] - altStartPos, vals[1] }; else @@ -337,7 +337,7 @@ public class ASTNodeWrapper { public int[][] getOffsetMapping(ErrorCheckerService ecs){ int pdeoffsets[] = getPDECodeOffsets(ecs); - String pdeCode = ecs.getPDECode(pdeoffsets[1] - 1).trim(); + String pdeCode = ecs.getPDECodeAtLine(pdeoffsets[0],pdeoffsets[1] - 1).trim(); return getOffsetMapping(pdeCode); } diff --git a/pdex/src/processing/mode/experimental/ErrorCheckerService.java b/pdex/src/processing/mode/experimental/ErrorCheckerService.java index 5f90a2bea..949f0eba6 100644 --- a/pdex/src/processing/mode/experimental/ErrorCheckerService.java +++ b/pdex/src/processing/mode/experimental/ErrorCheckerService.java @@ -810,7 +810,8 @@ public class ErrorCheckerService implements Runnable{ return new int[] { codeIndex, x }; } - public String getPDECode(int linenumber){ + public String getPDECodeAtLine(int tab, int linenumber){ + editor.getSketch().setCurrentCode(tab); return editor.ta.getLineText(linenumber); }