aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-12-21 16:06:03 +0000
committerMichael Williamson <mike@zwobble.org>2023-12-21 16:06:03 +0000
commit8a4e269a1ecd0092c82e3fccbe7af9baf09fdf1e (patch)
treee841b7c64528cbe198af5cc7b17ef3aba03250bb /src/main/java
parent37f6e510aa050b356a222db149906ff0bba00a3f (diff)
Check that character range is valid
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/sources/FileFragmentSource.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/main/java/org/shedlang/compiler/sources/FileFragmentSource.java b/src/main/java/org/shedlang/compiler/sources/FileFragmentSource.java
index 2a8e6bdf..fe0c6271 100644
--- a/src/main/java/org/shedlang/compiler/sources/FileFragmentSource.java
+++ b/src/main/java/org/shedlang/compiler/sources/FileFragmentSource.java
@@ -32,11 +32,14 @@ public record FileFragmentSource(
@Override
public Source at(int characterIndexStart, int characterIndexEnd) {
+ if (characterIndexStart > characterIndexEnd) {
+ throw new IllegalArgumentException("characterIndexStart > characterIndexEnd");
+ }
+
return new FileFragmentSource(
filename,
contents,
this.characterIndexStart + characterIndexStart,
- // TODO: check this is less than characterIndexEnd
this.characterIndexStart + characterIndexEnd
);
}