X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2FParseFailed.java;h=1fa0b08b4676dabafb542f804c582116ef0f9643;hp=547ea95e16582075f6117bfede6de5c4142924ce;hb=df2dac17a58713dd1e3fba3101666bea7cb6f561;hpb=62be1c1ae2ac13086b508e34eeffdb7e536d5b61 diff --git a/src/edu/berkeley/sbp/ParseFailed.java b/src/edu/berkeley/sbp/ParseFailed.java index 547ea95..1fa0b08 100644 --- a/src/edu/berkeley/sbp/ParseFailed.java +++ b/src/edu/berkeley/sbp/ParseFailed.java @@ -51,7 +51,7 @@ public class ParseFailed extends Exception { barf(sb, n, indent, skip, loc); } else { for(GSS.Phase.Node nn : n.parents()) - barf(sb, nn, indent, skip, count-1, nn.phase().getPrevLocation()); + barf(sb, nn, indent, skip, count-1, n.phase().getLocation()); } } static void barf(HashMap sb, GSS.Phase.Node n, int indent, boolean skip, Input.Location loc) { @@ -172,7 +172,7 @@ public class ParseFailed extends Exception { } HashMap hm = new HashMap(); for(Node no : nodes) - barf(hm, no, 0, false, /*region.getStart()*/loc); + barf(hm, no, 0, false, region.getStart()); ret.append("\n expected: "); Set hs = hm.keySet(); if (hs.size() == 1) { @@ -186,7 +186,7 @@ public class ParseFailed extends Exception { } else { ret.append("\n or " + ANSI.purple(s)); } - Input.Region reg = loc2.createRegion(region.getStart()); + Input.Region reg = loc2.createRegion(region.getEnd()); ret.append(" to match \"" + ANSI.cyan(input.showRegion(reg)) + "\" at " + ANSI.yellow(reg)); i++; }