diff options
| -rw-r--r-- | src/main/java/lv/enes/orang/NonEmptyList.java | 7 | ||||
| -rw-r--r-- | src/main/java/lv/enes/orang/ast/Statement.java | 2 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/main/java/lv/enes/orang/NonEmptyList.java b/src/main/java/lv/enes/orang/NonEmptyList.java index b532a18..860db28 100644 --- a/src/main/java/lv/enes/orang/NonEmptyList.java +++ b/src/main/java/lv/enes/orang/NonEmptyList.java | |||
| @@ -1,13 +1,18 @@ | |||
| 1 | package lv.enes.orang; | 1 | package lv.enes.orang; |
| 2 | 2 | ||
| 3 | import lombok.EqualsAndHashCode; | ||
| 4 | |||
| 3 | import java.util.AbstractList; | 5 | import java.util.AbstractList; |
| 4 | import java.util.List; | 6 | import java.util.List; |
| 5 | 7 | ||
| 8 | @EqualsAndHashCode(callSuper = true) | ||
| 6 | public class NonEmptyList<E> extends AbstractList<E> { | 9 | public class NonEmptyList<E> extends AbstractList<E> { |
| 7 | private final List<E> delegate; | 10 | private final List<E> delegate; |
| 8 | 11 | ||
| 9 | public NonEmptyList(List<E> delegate) { | 12 | public NonEmptyList(List<E> delegate) { |
| 10 | assert !delegate.isEmpty(); | 13 | if (delegate.isEmpty()) { |
| 14 | throw new IllegalArgumentException("Empty list"); | ||
| 15 | } | ||
| 11 | this.delegate = List.copyOf(delegate); | 16 | this.delegate = List.copyOf(delegate); |
| 12 | } | 17 | } |
| 13 | 18 | ||
diff --git a/src/main/java/lv/enes/orang/ast/Statement.java b/src/main/java/lv/enes/orang/ast/Statement.java index 62b76bd..0f52fc3 100644 --- a/src/main/java/lv/enes/orang/ast/Statement.java +++ b/src/main/java/lv/enes/orang/ast/Statement.java | |||
| @@ -4,5 +4,5 @@ import lv.enes.orang.OrangRuntimeException; | |||
| 4 | import lv.enes.orang.Scope; | 4 | import lv.enes.orang.Scope; |
| 5 | 5 | ||
| 6 | public interface Statement { | 6 | public interface Statement { |
| 7 | Scope runStatement(Scope scope) throws OrangRuntimeException, OrangRuntimeException; | 7 | Scope runStatement(Scope scope) throws OrangRuntimeException; |
| 8 | } | 8 | } |