aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/interpreter/values/ObjectInterpreterValue.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-10-06 17:31:52 +0100
committerMichael Williamson <mike@zwobble.org>2015-10-06 17:31:52 +0100
commita467e016fb02acb3e6bdb38eefc72e77499e9c74 (patch)
treeab63986fa52854ca59ca8011e9a60570a2350ccc /src/main/java/org/zwobble/couscous/interpreter/values/ObjectInterpreterValue.java
parentcf3b2cfd72f61fa3e4fdb13ebcfb70927c052599 (diff)
Put type checking in one place
Diffstat (limited to 'src/main/java/org/zwobble/couscous/interpreter/values/ObjectInterpreterValue.java')
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/values/ObjectInterpreterValue.java6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/ObjectInterpreterValue.java b/src/main/java/org/zwobble/couscous/interpreter/values/ObjectInterpreterValue.java
index f0ecbd1..6e653d2 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/values/ObjectInterpreterValue.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/values/ObjectInterpreterValue.java
@@ -4,8 +4,8 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
+import org.zwobble.couscous.interpreter.InterpreterTypes;
import org.zwobble.couscous.interpreter.NoSuchField;
-import org.zwobble.couscous.interpreter.UnexpectedValueType;
import org.zwobble.couscous.values.PrimitiveValue;
import lombok.val;
@@ -40,9 +40,7 @@ public class ObjectInterpreterValue implements InterpreterValue {
public void setField(String fieldName, InterpreterValue value) {
val field = type.getField(fieldName).orElseThrow(() -> new NoSuchField(fieldName));
- if (!field.getType().equals(value.getType().getName())) {
- throw new UnexpectedValueType(field.getType(), value.getType().getName());
- }
+ InterpreterTypes.checkIsInstance(field.getType(), value);
fields.put(fieldName, value);
}
}