aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/interpreter/Arguments.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-09-30 20:14:04 +0100
committerMichael Williamson <mike@zwobble.org>2015-09-30 20:14:04 +0100
commit37968a7c65eaf96ff0ab937f0a7827e0891c8880 (patch)
tree5b2122a46752a28741112189d613d8b4c770751f /src/main/java/org/zwobble/couscous/interpreter/Arguments.java
parentc1de40d3615a8efc852fd1a12832437ee3ce4318 (diff)
Throw error on wrong number of arguments
Diffstat (limited to 'src/main/java/org/zwobble/couscous/interpreter/Arguments.java')
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/Arguments.java18
1 files changed, 3 insertions, 15 deletions
diff --git a/src/main/java/org/zwobble/couscous/interpreter/Arguments.java b/src/main/java/org/zwobble/couscous/interpreter/Arguments.java
index d08393d..af674a1 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/Arguments.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/Arguments.java
@@ -4,26 +4,14 @@ import java.util.List;
import org.zwobble.couscous.values.InterpreterValue;
-import lombok.val;
-
public class Arguments {
- private int index = 0;
private List<InterpreterValue> values;
public Arguments(List<InterpreterValue> values) {
this.values = values;
}
-
- @SuppressWarnings("unchecked")
- public <T extends InterpreterValue> T pop(Class<T> valueType) {
- val value = values.get(index);
- index++;
- if (valueType.isInstance(value)) {
- return (T) value;
- } else {
- // TODO: throw a more specific error
- throw new UnsupportedOperationException();
- }
-
+
+ public InterpreterValue get(int index) {
+ return values.get(index);
}
}