diff options
22 files changed, 29 insertions, 17 deletions
diff --git a/src/main/java/org/zwobble/couscous/interpreter/Environment.java b/src/main/java/org/zwobble/couscous/interpreter/Environment.java index 23e2fdf..e57f8e5 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/Environment.java +++ b/src/main/java/org/zwobble/couscous/interpreter/Environment.java @@ -6,6 +6,8 @@ import org.zwobble.couscous.ast.TypeName; import org.zwobble.couscous.ast.VariableDeclaration; import org.zwobble.couscous.ast.VariableNode; import org.zwobble.couscous.ast.identifiers.Identifier; +import org.zwobble.couscous.interpreter.errors.UnboundVariable; +import org.zwobble.couscous.interpreter.errors.VariableNotInScope; import org.zwobble.couscous.interpreter.values.ConcreteType; import org.zwobble.couscous.interpreter.values.InterpreterValue; import static java.util.stream.Collectors.toMap; diff --git a/src/main/java/org/zwobble/couscous/interpreter/Evaluator.java b/src/main/java/org/zwobble/couscous/interpreter/Evaluator.java index 56ccca7..3bcf3ac 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/Evaluator.java +++ b/src/main/java/org/zwobble/couscous/interpreter/Evaluator.java @@ -3,6 +3,8 @@ package org.zwobble.couscous.interpreter; import org.zwobble.couscous.ast.*; import org.zwobble.couscous.ast.visitors.AssignableExpressionNodeVisitor; import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper; +import org.zwobble.couscous.interpreter.errors.ConditionMustBeBoolean; +import org.zwobble.couscous.interpreter.errors.InvalidCast; import org.zwobble.couscous.interpreter.values.*; import org.zwobble.couscous.values.BooleanValue; import org.zwobble.couscous.values.IntegerValue; diff --git a/src/main/java/org/zwobble/couscous/interpreter/InterpreterTypes.java b/src/main/java/org/zwobble/couscous/interpreter/InterpreterTypes.java index 71f875d..b43e926 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/InterpreterTypes.java +++ b/src/main/java/org/zwobble/couscous/interpreter/InterpreterTypes.java @@ -1,6 +1,7 @@ package org.zwobble.couscous.interpreter; import org.zwobble.couscous.ast.TypeName; +import org.zwobble.couscous.interpreter.errors.UnexpectedValueType; import org.zwobble.couscous.interpreter.values.ConcreteType; import org.zwobble.couscous.interpreter.values.InterpreterValue; import org.zwobble.couscous.values.ObjectValues; diff --git a/src/main/java/org/zwobble/couscous/interpreter/ConditionMustBeBoolean.java b/src/main/java/org/zwobble/couscous/interpreter/errors/ConditionMustBeBoolean.java index b9cf32a..3d1ad93 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/ConditionMustBeBoolean.java +++ b/src/main/java/org/zwobble/couscous/interpreter/errors/ConditionMustBeBoolean.java @@ -1,4 +1,4 @@ -package org.zwobble.couscous.interpreter; +package org.zwobble.couscous.interpreter.errors; import org.zwobble.couscous.interpreter.values.InterpreterValue; diff --git a/src/main/java/org/zwobble/couscous/interpreter/InterpreterException.java b/src/main/java/org/zwobble/couscous/interpreter/errors/InterpreterException.java index d6d7020..0846437 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/InterpreterException.java +++ b/src/main/java/org/zwobble/couscous/interpreter/errors/InterpreterException.java @@ -1,4 +1,4 @@ -package org.zwobble.couscous.interpreter; +package org.zwobble.couscous.interpreter.errors; public class InterpreterException extends RuntimeException { private static final long serialVersionUID = 1L; diff --git a/src/main/java/org/zwobble/couscous/interpreter/InvalidCast.java b/src/main/java/org/zwobble/couscous/interpreter/errors/InvalidCast.java index 1d89ad1..241f8ed 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/InvalidCast.java +++ b/src/main/java/org/zwobble/couscous/interpreter/errors/InvalidCast.java @@ -1,4 +1,4 @@ -package org.zwobble.couscous.interpreter; +package org.zwobble.couscous.interpreter.errors; import org.zwobble.couscous.ast.TypeName; diff --git a/src/main/java/org/zwobble/couscous/interpreter/NoSuchField.java b/src/main/java/org/zwobble/couscous/interpreter/errors/NoSuchField.java index 03b714f..e42bdfb 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/NoSuchField.java +++ b/src/main/java/org/zwobble/couscous/interpreter/errors/NoSuchField.java @@ -1,4 +1,4 @@ -package org.zwobble.couscous.interpreter; +package org.zwobble.couscous.interpreter.errors; public final class NoSuchField extends InterpreterException { private static final long serialVersionUID = 1L; diff --git a/src/main/java/org/zwobble/couscous/interpreter/NoSuchMethod.java b/src/main/java/org/zwobble/couscous/interpreter/errors/NoSuchMethod.java index 734c254..8da7d27 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/NoSuchMethod.java +++ b/src/main/java/org/zwobble/couscous/interpreter/errors/NoSuchMethod.java @@ -1,4 +1,4 @@ -package org.zwobble.couscous.interpreter; +package org.zwobble.couscous.interpreter.errors; import org.zwobble.couscous.ast.MethodSignature; diff --git a/src/main/java/org/zwobble/couscous/interpreter/UnboundField.java b/src/main/java/org/zwobble/couscous/interpreter/errors/UnboundField.java index 1d21071..4769990 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/UnboundField.java +++ b/src/main/java/org/zwobble/couscous/interpreter/errors/UnboundField.java @@ -1,4 +1,4 @@ -package org.zwobble.couscous.interpreter; +package org.zwobble.couscous.interpreter.errors; public final class UnboundField extends InterpreterException { private static final long serialVersionUID = 1L; diff --git a/src/main/java/org/zwobble/couscous/interpreter/UnboundVariable.java b/src/main/java/org/zwobble/couscous/interpreter/errors/UnboundVariable.java index 1dba54b..cce5ca3 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/UnboundVariable.java +++ b/src/main/java/org/zwobble/couscous/interpreter/errors/UnboundVariable.java @@ -1,4 +1,4 @@ -package org.zwobble.couscous.interpreter; +package org.zwobble.couscous.interpreter.errors; import org.zwobble.couscous.ast.identifiers.Identifier; diff --git a/src/main/java/org/zwobble/couscous/interpreter/UnexpectedValueType.java b/src/main/java/org/zwobble/couscous/interpreter/errors/UnexpectedValueType.java index 2b40728..ca40c7c 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/UnexpectedValueType.java +++ b/src/main/java/org/zwobble/couscous/interpreter/errors/UnexpectedValueType.java @@ -1,4 +1,4 @@ -package org.zwobble.couscous.interpreter; +package org.zwobble.couscous.interpreter.errors; import org.zwobble.couscous.ast.TypeName; diff --git a/src/main/java/org/zwobble/couscous/interpreter/VariableNotInScope.java b/src/main/java/org/zwobble/couscous/interpreter/errors/VariableNotInScope.java index c5a425e..8e7c2d4 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/VariableNotInScope.java +++ b/src/main/java/org/zwobble/couscous/interpreter/errors/VariableNotInScope.java @@ -1,4 +1,4 @@ -package org.zwobble.couscous.interpreter; +package org.zwobble.couscous.interpreter.errors; import org.zwobble.couscous.ast.identifiers.Identifier; diff --git a/src/main/java/org/zwobble/couscous/interpreter/WrongNumberOfArguments.java b/src/main/java/org/zwobble/couscous/interpreter/errors/WrongNumberOfArguments.java index 800aabb..90078e8 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/WrongNumberOfArguments.java +++ b/src/main/java/org/zwobble/couscous/interpreter/errors/WrongNumberOfArguments.java @@ -1,4 +1,4 @@ -package org.zwobble.couscous.interpreter; +package org.zwobble.couscous.interpreter.errors; public final class WrongNumberOfArguments extends InterpreterException { private static final long serialVersionUID = 1L; diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/BooleanInterpreterValue.java b/src/main/java/org/zwobble/couscous/interpreter/values/BooleanInterpreterValue.java index 032caff..023f684 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/values/BooleanInterpreterValue.java +++ b/src/main/java/org/zwobble/couscous/interpreter/values/BooleanInterpreterValue.java @@ -1,7 +1,7 @@ package org.zwobble.couscous.interpreter.values; import org.zwobble.couscous.ast.Operator; -import org.zwobble.couscous.interpreter.NoSuchField; +import org.zwobble.couscous.interpreter.errors.NoSuchField; import org.zwobble.couscous.values.BooleanValue; import org.zwobble.couscous.values.PrimitiveValue; import org.zwobble.couscous.values.PrimitiveValues; diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/ConcreteType.java b/src/main/java/org/zwobble/couscous/interpreter/values/ConcreteType.java index b3f9eb1..9a9fde8 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/values/ConcreteType.java +++ b/src/main/java/org/zwobble/couscous/interpreter/values/ConcreteType.java @@ -6,6 +6,8 @@ import org.zwobble.couscous.ast.FormalArgumentNode; import org.zwobble.couscous.ast.MethodSignature; import org.zwobble.couscous.ast.TypeName; import org.zwobble.couscous.interpreter.*; +import org.zwobble.couscous.interpreter.errors.NoSuchMethod; +import org.zwobble.couscous.interpreter.errors.WrongNumberOfArguments; import org.zwobble.couscous.util.Casts; import java.util.*; diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/IntegerInterpreterValue.java b/src/main/java/org/zwobble/couscous/interpreter/values/IntegerInterpreterValue.java index 5cc14de..3056e2c 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/values/IntegerInterpreterValue.java +++ b/src/main/java/org/zwobble/couscous/interpreter/values/IntegerInterpreterValue.java @@ -5,6 +5,7 @@ import java.util.function.BiFunction; import org.zwobble.couscous.ast.Operator; import org.zwobble.couscous.interpreter.*; +import org.zwobble.couscous.interpreter.errors.NoSuchField; import org.zwobble.couscous.values.IntegerValue; import org.zwobble.couscous.values.ObjectValues; import org.zwobble.couscous.values.PrimitiveValue; 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 bebd5f7..566ff80 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.UnboundField; +import org.zwobble.couscous.interpreter.errors.NoSuchField; +import org.zwobble.couscous.interpreter.errors.UnboundField; import org.zwobble.couscous.values.PrimitiveValue; public class ObjectInterpreterValue implements InterpreterValue { diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java b/src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java index ff2617e..f86b343 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java +++ b/src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java @@ -1,6 +1,6 @@ package org.zwobble.couscous.interpreter.values; -import org.zwobble.couscous.interpreter.NoSuchField; +import org.zwobble.couscous.interpreter.errors.NoSuchField; import org.zwobble.couscous.values.*; import java.util.Optional; diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/TypeInterpreterValue.java b/src/main/java/org/zwobble/couscous/interpreter/values/TypeInterpreterValue.java index 97cf6ec..5938ce3 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/values/TypeInterpreterValue.java +++ b/src/main/java/org/zwobble/couscous/interpreter/values/TypeInterpreterValue.java @@ -1,7 +1,7 @@ package org.zwobble.couscous.interpreter.values; import org.zwobble.couscous.ast.TypeName; -import org.zwobble.couscous.interpreter.NoSuchField; +import org.zwobble.couscous.interpreter.errors.NoSuchField; import org.zwobble.couscous.values.ObjectValues; import org.zwobble.couscous.values.PrimitiveValue; import org.zwobble.couscous.values.PrimitiveValues; diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/UnitInterpreterValue.java b/src/main/java/org/zwobble/couscous/interpreter/values/UnitInterpreterValue.java index 2d4ef9c..54f5605 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/values/UnitInterpreterValue.java +++ b/src/main/java/org/zwobble/couscous/interpreter/values/UnitInterpreterValue.java @@ -1,7 +1,7 @@ package org.zwobble.couscous.interpreter.values; import java.util.Optional; -import org.zwobble.couscous.interpreter.NoSuchField; +import org.zwobble.couscous.interpreter.errors.NoSuchField; import org.zwobble.couscous.values.PrimitiveValue; import org.zwobble.couscous.values.PrimitiveValues; diff --git a/src/test/java/org/zwobble/couscous/tests/interpreter/EvaluatorTests.java b/src/test/java/org/zwobble/couscous/tests/interpreter/EvaluatorTests.java index 4d91cdb..49b435d 100644 --- a/src/test/java/org/zwobble/couscous/tests/interpreter/EvaluatorTests.java +++ b/src/test/java/org/zwobble/couscous/tests/interpreter/EvaluatorTests.java @@ -7,6 +7,7 @@ import org.zwobble.couscous.ast.ExpressionNode; import org.zwobble.couscous.ast.FormalArgumentNode; import org.zwobble.couscous.ast.MethodSignature; import org.zwobble.couscous.interpreter.*; +import org.zwobble.couscous.interpreter.errors.*; import org.zwobble.couscous.interpreter.values.IntegerInterpreterValue; import org.zwobble.couscous.interpreter.values.InterpreterValue; import org.zwobble.couscous.interpreter.values.StringInterpreterValue; diff --git a/src/test/java/org/zwobble/couscous/tests/interpreter/InterpreterMethodTests.java b/src/test/java/org/zwobble/couscous/tests/interpreter/InterpreterMethodTests.java index d8cd4e0..f9b1f07 100644 --- a/src/test/java/org/zwobble/couscous/tests/interpreter/InterpreterMethodTests.java +++ b/src/test/java/org/zwobble/couscous/tests/interpreter/InterpreterMethodTests.java @@ -6,6 +6,10 @@ import java.util.stream.Collectors; import org.junit.Test; import org.zwobble.couscous.ast.*; import org.zwobble.couscous.interpreter.*; +import org.zwobble.couscous.interpreter.errors.NoSuchMethod; +import org.zwobble.couscous.interpreter.errors.UnboundVariable; +import org.zwobble.couscous.interpreter.errors.UnexpectedValueType; +import org.zwobble.couscous.interpreter.errors.VariableNotInScope; import org.zwobble.couscous.interpreter.values.InterpreterValue; import org.zwobble.couscous.interpreter.values.InterpreterValues; import org.zwobble.couscous.tests.BackendMethodTests; @@ -14,7 +18,6 @@ import org.zwobble.couscous.values.IntegerValue; import org.zwobble.couscous.values.PrimitiveValue; import org.zwobble.couscous.values.StringValue; -import static java.util.Arrays.asList; import static org.junit.Assert.assertEquals; import static org.zwobble.couscous.ast.AssignmentNode.assign; import static org.zwobble.couscous.ast.ExpressionStatementNode.expressionStatement; |
