X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Ferrors%2FLocations.java;h=3a77cf3250d7c1f58bd17c2e2fcbd8ac164bb9db;hp=49c5b03d4740d1d2650e4d8c378b71beafe910d9;hb=d8e51c3b7d55403115dc83d0a9b2337378e91fb8;hpb=3e8cd4aef089a228d7f2e141f2b2159f820a4266 diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/errors/Locations.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/errors/Locations.java index 49c5b03d4..3a77cf325 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/errors/Locations.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/errors/Locations.java @@ -40,4 +40,12 @@ public class Locations { int end = endOf(location); return formula.substring(0, begin) + annotationBegin + formula.substring(begin, end) + annotationEnd + formula.substring(end); } + + public static long sublocation(long location, int localBegin, int localEnd) { + int begin = beginOf(location); + int end = endOf(location); + if(localEnd > end-begin) + localEnd = begin-end; + return location(begin+localBegin, begin+localEnd); + } }