aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-03-18 20:19:57 +0000
committerMichael Williamson <mike@zwobble.org>2016-03-18 20:19:57 +0000
commit8cb8183985558dbf722ed3c787431a58a27772e1 (patch)
tree724ab14c0e8d708689459214d0add4d4e62d9c4e /src/main
parent39fcb0412893e9ea0b941abdd2961920f5008703 (diff)
Move types package out of ast package
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/zwobble/couscous/ast/AnnotationNode.java2
-rw-r--r--src/main/java/org/zwobble/couscous/ast/AssignmentNode.java2
-rw-r--r--src/main/java/org/zwobble/couscous/ast/CastNode.java2
-rw-r--r--src/main/java/org/zwobble/couscous/ast/ClassNode.java4
-rw-r--r--src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java4
-rw-r--r--src/main/java/org/zwobble/couscous/ast/ConstructorCallNode.java2
-rw-r--r--src/main/java/org/zwobble/couscous/ast/ExpressionNode.java2
-rw-r--r--src/main/java/org/zwobble/couscous/ast/FieldAccessNode.java4
-rw-r--r--src/main/java/org/zwobble/couscous/ast/FieldDeclarationNode.java2
-rw-r--r--src/main/java/org/zwobble/couscous/ast/FormalArgumentNode.java2
-rw-r--r--src/main/java/org/zwobble/couscous/ast/InterfaceNode.java4
-rw-r--r--src/main/java/org/zwobble/couscous/ast/LiteralNode.java6
-rw-r--r--src/main/java/org/zwobble/couscous/ast/LocalVariableDeclarationNode.java2
-rw-r--r--src/main/java/org/zwobble/couscous/ast/MethodCallNode.java4
-rw-r--r--src/main/java/org/zwobble/couscous/ast/MethodNode.java2
-rw-r--r--src/main/java/org/zwobble/couscous/ast/MethodSignature.java2
-rw-r--r--src/main/java/org/zwobble/couscous/ast/OperationNode.java2
-rw-r--r--src/main/java/org/zwobble/couscous/ast/Receiver.java2
-rw-r--r--src/main/java/org/zwobble/couscous/ast/StaticReceiver.java2
-rw-r--r--src/main/java/org/zwobble/couscous/ast/TernaryConditionalNode.java2
-rw-r--r--src/main/java/org/zwobble/couscous/ast/ThisReferenceNode.java2
-rw-r--r--src/main/java/org/zwobble/couscous/ast/TypeCoercionNode.java3
-rw-r--r--src/main/java/org/zwobble/couscous/ast/TypeNode.java4
-rw-r--r--src/main/java/org/zwobble/couscous/ast/VariableDeclaration.java2
-rw-r--r--src/main/java/org/zwobble/couscous/ast/VariableReferenceNode.java2
-rw-r--r--src/main/java/org/zwobble/couscous/ast/sugar/AnonymousClass.java2
-rw-r--r--src/main/java/org/zwobble/couscous/ast/visitors/NodeTransformer.java4
-rw-r--r--src/main/java/org/zwobble/couscous/backends/Names.java2
-rw-r--r--src/main/java/org/zwobble/couscous/backends/csharp/CsharpCodeGenerator.java4
-rw-r--r--src/main/java/org/zwobble/couscous/backends/csharp/CsharpPrimitiveMethods.java2
-rw-r--r--src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java2
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java6
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/PythonPrimitiveMethods.java2
-rw-r--r--src/main/java/org/zwobble/couscous/frontends/java/GeneratedClosure.java2
-rw-r--r--src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionMethodReferenceReader.java4
-rw-r--r--src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java4
-rw-r--r--src/main/java/org/zwobble/couscous/frontends/java/JavaLambdaExpressionReader.java3
-rw-r--r--src/main/java/org/zwobble/couscous/frontends/java/JavaMethods.java6
-rw-r--r--src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java8
-rw-r--r--src/main/java/org/zwobble/couscous/frontends/java/JavaStatementReader.java4
-rw-r--r--src/main/java/org/zwobble/couscous/frontends/java/JavaTypes.java10
-rw-r--r--src/main/java/org/zwobble/couscous/frontends/java/Scope.java4
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/Environment.java4
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/Evaluator.java4
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/Interpreter.java4
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/InterpreterTypes.java2
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/MapBackedProject.java4
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/Project.java2
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/errors/InvalidCast.java2
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/errors/UnexpectedValueType.java2
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/types/InterpreterType.java2
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/types/IntrinsicInterpreterType.java4
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/types/UserDefinedInterpreterType.java4
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/values/Callable.java3
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/values/InterpreterValues.java2
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/values/MethodValue.java2
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/values/StaticMethodValue.java2
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/values/TypeInterpreterValue.java2
-rw-r--r--src/main/java/org/zwobble/couscous/types/BoundTypeParameter.java (renamed from src/main/java/org/zwobble/couscous/ast/types/BoundTypeParameter.java)2
-rw-r--r--src/main/java/org/zwobble/couscous/types/ParameterizedType.java (renamed from src/main/java/org/zwobble/couscous/ast/types/ParameterizedType.java)2
-rw-r--r--src/main/java/org/zwobble/couscous/types/ScalarType.java (renamed from src/main/java/org/zwobble/couscous/ast/types/ScalarType.java)2
-rw-r--r--src/main/java/org/zwobble/couscous/types/Type.java (renamed from src/main/java/org/zwobble/couscous/ast/types/Type.java)2
-rw-r--r--src/main/java/org/zwobble/couscous/types/TypeParameter.java (renamed from src/main/java/org/zwobble/couscous/ast/types/TypeParameter.java)2
-rw-r--r--src/main/java/org/zwobble/couscous/types/Types.java (renamed from src/main/java/org/zwobble/couscous/ast/types/Types.java)2
-rw-r--r--src/main/java/org/zwobble/couscous/values/BooleanValue.java2
-rw-r--r--src/main/java/org/zwobble/couscous/values/IntegerValue.java2
-rw-r--r--src/main/java/org/zwobble/couscous/values/InternalCouscousValue.java2
-rw-r--r--src/main/java/org/zwobble/couscous/values/ObjectValues.java2
-rw-r--r--src/main/java/org/zwobble/couscous/values/PrimitiveValue.java2
-rw-r--r--src/main/java/org/zwobble/couscous/values/PrimitiveValues.java2
-rw-r--r--src/main/java/org/zwobble/couscous/values/StringValue.java2
-rw-r--r--src/main/java/org/zwobble/couscous/values/TypeValue.java2
-rw-r--r--src/main/java/org/zwobble/couscous/values/UnitValue.java2
73 files changed, 104 insertions, 107 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/AnnotationNode.java b/src/main/java/org/zwobble/couscous/ast/AnnotationNode.java
index b70ed12..00d9797 100644
--- a/src/main/java/org/zwobble/couscous/ast/AnnotationNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/AnnotationNode.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.ast.visitors.NodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
diff --git a/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java b/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java
index 64fb973..6c49d39 100644
--- a/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
diff --git a/src/main/java/org/zwobble/couscous/ast/CastNode.java b/src/main/java/org/zwobble/couscous/ast/CastNode.java
index 75201e7..026a1c0 100644
--- a/src/main/java/org/zwobble/couscous/ast/CastNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/CastNode.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
diff --git a/src/main/java/org/zwobble/couscous/ast/ClassNode.java b/src/main/java/org/zwobble/couscous/ast/ClassNode.java
index d50051c..d75e6b7 100644
--- a/src/main/java/org/zwobble/couscous/ast/ClassNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/ClassNode.java
@@ -1,7 +1,7 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.types.ScalarType;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.ScalarType;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.ast.visitors.NodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
diff --git a/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java b/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java
index 9dc5098..1fe8fcb 100644
--- a/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java
+++ b/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java
@@ -3,8 +3,8 @@ package org.zwobble.couscous.ast;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import org.zwobble.couscous.ast.identifiers.Identifier;
-import org.zwobble.couscous.ast.types.ScalarType;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.ScalarType;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.values.UnitValue;
import java.util.List;
diff --git a/src/main/java/org/zwobble/couscous/ast/ConstructorCallNode.java b/src/main/java/org/zwobble/couscous/ast/ConstructorCallNode.java
index 5a597d1..fdd9f86 100644
--- a/src/main/java/org/zwobble/couscous/ast/ConstructorCallNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/ConstructorCallNode.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
diff --git a/src/main/java/org/zwobble/couscous/ast/ExpressionNode.java b/src/main/java/org/zwobble/couscous/ast/ExpressionNode.java
index 2452183..817078f 100644
--- a/src/main/java/org/zwobble/couscous/ast/ExpressionNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/ExpressionNode.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
diff --git a/src/main/java/org/zwobble/couscous/ast/FieldAccessNode.java b/src/main/java/org/zwobble/couscous/ast/FieldAccessNode.java
index e417638..23e3aaa 100644
--- a/src/main/java/org/zwobble/couscous/ast/FieldAccessNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/FieldAccessNode.java
@@ -1,7 +1,7 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.types.ScalarType;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.ScalarType;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.ast.visitors.AssignableExpressionNodeVisitor;
import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
diff --git a/src/main/java/org/zwobble/couscous/ast/FieldDeclarationNode.java b/src/main/java/org/zwobble/couscous/ast/FieldDeclarationNode.java
index a207b82..515045f 100644
--- a/src/main/java/org/zwobble/couscous/ast/FieldDeclarationNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/FieldDeclarationNode.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.ast.visitors.NodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
diff --git a/src/main/java/org/zwobble/couscous/ast/FormalArgumentNode.java b/src/main/java/org/zwobble/couscous/ast/FormalArgumentNode.java
index 7df3ead..ae80b0c 100644
--- a/src/main/java/org/zwobble/couscous/ast/FormalArgumentNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/FormalArgumentNode.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.ast.visitors.NodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
diff --git a/src/main/java/org/zwobble/couscous/ast/InterfaceNode.java b/src/main/java/org/zwobble/couscous/ast/InterfaceNode.java
index 97faae4..86972ad 100644
--- a/src/main/java/org/zwobble/couscous/ast/InterfaceNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/InterfaceNode.java
@@ -1,7 +1,7 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.types.ScalarType;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.ScalarType;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.ast.visitors.NodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
diff --git a/src/main/java/org/zwobble/couscous/ast/LiteralNode.java b/src/main/java/org/zwobble/couscous/ast/LiteralNode.java
index df2b87c..f0e9af5 100644
--- a/src/main/java/org/zwobble/couscous/ast/LiteralNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/LiteralNode.java
@@ -1,8 +1,8 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.types.ParameterizedType;
-import org.zwobble.couscous.ast.types.ScalarType;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.ParameterizedType;
+import org.zwobble.couscous.types.ScalarType;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
import org.zwobble.couscous.values.*;
diff --git a/src/main/java/org/zwobble/couscous/ast/LocalVariableDeclarationNode.java b/src/main/java/org/zwobble/couscous/ast/LocalVariableDeclarationNode.java
index 5b571d0..286e8bc 100644
--- a/src/main/java/org/zwobble/couscous/ast/LocalVariableDeclarationNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/LocalVariableDeclarationNode.java
@@ -1,7 +1,7 @@
package org.zwobble.couscous.ast;
import org.zwobble.couscous.ast.identifiers.Identifier;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
import org.zwobble.couscous.ast.visitors.StatementNodeMapper;
diff --git a/src/main/java/org/zwobble/couscous/ast/MethodCallNode.java b/src/main/java/org/zwobble/couscous/ast/MethodCallNode.java
index 0078002..5e55153 100644
--- a/src/main/java/org/zwobble/couscous/ast/MethodCallNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/MethodCallNode.java
@@ -1,7 +1,7 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.types.ScalarType;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.ScalarType;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
diff --git a/src/main/java/org/zwobble/couscous/ast/MethodNode.java b/src/main/java/org/zwobble/couscous/ast/MethodNode.java
index 8589eb1..b8f2601 100644
--- a/src/main/java/org/zwobble/couscous/ast/MethodNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/MethodNode.java
@@ -1,7 +1,7 @@
package org.zwobble.couscous.ast;
import com.google.common.collect.ImmutableList;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.ast.visitors.NodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
import org.zwobble.couscous.values.UnitValue;
diff --git a/src/main/java/org/zwobble/couscous/ast/MethodSignature.java b/src/main/java/org/zwobble/couscous/ast/MethodSignature.java
index 4cb04fb..060d2bc 100644
--- a/src/main/java/org/zwobble/couscous/ast/MethodSignature.java
+++ b/src/main/java/org/zwobble/couscous/ast/MethodSignature.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import java.util.List;
diff --git a/src/main/java/org/zwobble/couscous/ast/OperationNode.java b/src/main/java/org/zwobble/couscous/ast/OperationNode.java
index d6453e3..1e49c97 100644
--- a/src/main/java/org/zwobble/couscous/ast/OperationNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/OperationNode.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
diff --git a/src/main/java/org/zwobble/couscous/ast/Receiver.java b/src/main/java/org/zwobble/couscous/ast/Receiver.java
index 90395d2..ca547a2 100644
--- a/src/main/java/org/zwobble/couscous/ast/Receiver.java
+++ b/src/main/java/org/zwobble/couscous/ast/Receiver.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.types.ScalarType;
+import org.zwobble.couscous.types.ScalarType;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
public interface Receiver extends Node {
diff --git a/src/main/java/org/zwobble/couscous/ast/StaticReceiver.java b/src/main/java/org/zwobble/couscous/ast/StaticReceiver.java
index 3c6e32c..4a90ee7 100644
--- a/src/main/java/org/zwobble/couscous/ast/StaticReceiver.java
+++ b/src/main/java/org/zwobble/couscous/ast/StaticReceiver.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.types.ScalarType;
+import org.zwobble.couscous.types.ScalarType;
import org.zwobble.couscous.ast.visitors.NodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
diff --git a/src/main/java/org/zwobble/couscous/ast/TernaryConditionalNode.java b/src/main/java/org/zwobble/couscous/ast/TernaryConditionalNode.java
index 2d46473..9d17848 100644
--- a/src/main/java/org/zwobble/couscous/ast/TernaryConditionalNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/TernaryConditionalNode.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
diff --git a/src/main/java/org/zwobble/couscous/ast/ThisReferenceNode.java b/src/main/java/org/zwobble/couscous/ast/ThisReferenceNode.java
index cdf995b..e13596e 100644
--- a/src/main/java/org/zwobble/couscous/ast/ThisReferenceNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/ThisReferenceNode.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
diff --git a/src/main/java/org/zwobble/couscous/ast/TypeCoercionNode.java b/src/main/java/org/zwobble/couscous/ast/TypeCoercionNode.java
index c8c2a33..266b927 100644
--- a/src/main/java/org/zwobble/couscous/ast/TypeCoercionNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/TypeCoercionNode.java
@@ -1,7 +1,6 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.types.ScalarType;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
diff --git a/src/main/java/org/zwobble/couscous/ast/TypeNode.java b/src/main/java/org/zwobble/couscous/ast/TypeNode.java
index af4ab81..3e18de7 100644
--- a/src/main/java/org/zwobble/couscous/ast/TypeNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/TypeNode.java
@@ -1,7 +1,7 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.types.ScalarType;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.ScalarType;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
import java.util.List;
diff --git a/src/main/java/org/zwobble/couscous/ast/VariableDeclaration.java b/src/main/java/org/zwobble/couscous/ast/VariableDeclaration.java
index 55d4efb..5513a12 100644
--- a/src/main/java/org/zwobble/couscous/ast/VariableDeclaration.java
+++ b/src/main/java/org/zwobble/couscous/ast/VariableDeclaration.java
@@ -1,7 +1,7 @@
package org.zwobble.couscous.ast;
import org.zwobble.couscous.ast.identifiers.Identifier;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
public class VariableDeclaration {
public static VariableDeclaration var(Identifier id, String name, Type type) {
diff --git a/src/main/java/org/zwobble/couscous/ast/VariableReferenceNode.java b/src/main/java/org/zwobble/couscous/ast/VariableReferenceNode.java
index 2b81fbb..3f7da7f 100644
--- a/src/main/java/org/zwobble/couscous/ast/VariableReferenceNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/VariableReferenceNode.java
@@ -1,7 +1,7 @@
package org.zwobble.couscous.ast;
import org.zwobble.couscous.ast.identifiers.Identifier;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.ast.visitors.AssignableExpressionNodeVisitor;
import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
diff --git a/src/main/java/org/zwobble/couscous/ast/sugar/AnonymousClass.java b/src/main/java/org/zwobble/couscous/ast/sugar/AnonymousClass.java
index f8a8c48..edf71d4 100644
--- a/src/main/java/org/zwobble/couscous/ast/sugar/AnonymousClass.java
+++ b/src/main/java/org/zwobble/couscous/ast/sugar/AnonymousClass.java
@@ -2,7 +2,7 @@ package org.zwobble.couscous.ast.sugar;
import org.zwobble.couscous.ast.FieldDeclarationNode;
import org.zwobble.couscous.ast.MethodNode;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import java.util.List;
import java.util.Set;
diff --git a/src/main/java/org/zwobble/couscous/ast/visitors/NodeTransformer.java b/src/main/java/org/zwobble/couscous/ast/visitors/NodeTransformer.java
index 0998564..393bd7e 100644
--- a/src/main/java/org/zwobble/couscous/ast/visitors/NodeTransformer.java
+++ b/src/main/java/org/zwobble/couscous/ast/visitors/NodeTransformer.java
@@ -5,8 +5,8 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
import org.zwobble.couscous.ast.*;
-import org.zwobble.couscous.ast.types.ScalarType;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.ScalarType;
+import org.zwobble.couscous.types.Type;
import java.util.List;
import java.util.Map;
diff --git a/src/main/java/org/zwobble/couscous/backends/Names.java b/src/main/java/org/zwobble/couscous/backends/Names.java
index 4adbec3..d7b3ac2 100644
--- a/src/main/java/org/zwobble/couscous/backends/Names.java
+++ b/src/main/java/org/zwobble/couscous/backends/Names.java
@@ -3,7 +3,7 @@ package org.zwobble.couscous.backends;
import com.google.common.base.Joiner;
import com.google.common.collect.Iterables;
import org.zwobble.couscous.ast.MethodSignature;
-import org.zwobble.couscous.ast.types.*;
+import org.zwobble.couscous.types.*;
import static com.google.common.collect.Iterables.transform;
import static org.zwobble.couscous.util.ExtraLists.list;
diff --git a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpCodeGenerator.java b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpCodeGenerator.java
index 469705b..dbfb00f 100644
--- a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpCodeGenerator.java
+++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpCodeGenerator.java
@@ -2,15 +2,15 @@ package org.zwobble.couscous.backends.csharp;
import com.google.common.collect.ImmutableMap;
import org.zwobble.couscous.ast.*;
-import org.zwobble.couscous.ast.types.*;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
import org.zwobble.couscous.backends.Names;
+import org.zwobble.couscous.types.*;
import org.zwobble.couscous.values.*;
import java.util.Map;
import java.util.Optional;
-import static org.zwobble.couscous.ast.types.Types.erasure;
+import static org.zwobble.couscous.types.Types.erasure;
import static org.zwobble.couscous.util.Casts.tryCast;
import static org.zwobble.couscous.util.ExtraLists.eagerMap;
diff --git a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpPrimitiveMethods.java b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpPrimitiveMethods.java
index ced0a82..cb5b027 100644
--- a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpPrimitiveMethods.java
+++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpPrimitiveMethods.java
@@ -2,7 +2,7 @@ package org.zwobble.couscous.backends.csharp;
import com.google.common.collect.ImmutableMap;
import org.zwobble.couscous.ast.ExpressionNode;
-import org.zwobble.couscous.ast.types.ScalarType;
+import org.zwobble.couscous.types.ScalarType;
import org.zwobble.couscous.values.BooleanValue;
import org.zwobble.couscous.values.IntegerValue;
import org.zwobble.couscous.values.ObjectValues;
diff --git a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
index 46657fc..090a19a 100644
--- a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
+++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
@@ -1,9 +1,9 @@
package org.zwobble.couscous.backends.csharp;
import org.zwobble.couscous.ast.*;
-import org.zwobble.couscous.ast.types.*;
import org.zwobble.couscous.ast.visitors.NodeVisitor;
import org.zwobble.couscous.backends.SourceCodeWriter;
+import org.zwobble.couscous.types.*;
import org.zwobble.couscous.util.Action;
import org.zwobble.couscous.values.PrimitiveValue;
import org.zwobble.couscous.values.UnitValue;
diff --git a/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java b/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java
index d6f9895..9e0a0b9 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java
@@ -6,8 +6,8 @@ import com.google.common.collect.Iterables;
import com.google.common.collect.Iterators;
import org.zwobble.couscous.ast.*;
import org.zwobble.couscous.ast.structure.NodeStructure;
-import org.zwobble.couscous.ast.types.ScalarType;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.ScalarType;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeMapperWithDefault;
import org.zwobble.couscous.ast.visitors.StatementNodeMapper;
@@ -22,7 +22,7 @@ import java.util.stream.Stream;
import static com.google.common.collect.Iterables.filter;
import static com.google.common.collect.Iterables.transform;
import static com.google.common.collect.Iterators.singletonIterator;
-import static org.zwobble.couscous.ast.types.Types.erasure;
+import static org.zwobble.couscous.types.Types.erasure;
import static org.zwobble.couscous.backends.python.ast.PythonAssignmentNode.pythonAssignment;
import static org.zwobble.couscous.backends.python.ast.PythonAttributeAccessNode.pythonAttributeAccess;
import static org.zwobble.couscous.backends.python.ast.PythonBooleanLiteralNode.pythonBooleanLiteral;
diff --git a/src/main/java/org/zwobble/couscous/backends/python/PythonPrimitiveMethods.java b/src/main/java/org/zwobble/couscous/backends/python/PythonPrimitiveMethods.java
index 49d9abf..a290c54 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/PythonPrimitiveMethods.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/PythonPrimitiveMethods.java
@@ -3,7 +3,7 @@ package org.zwobble.couscous.backends.python;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableMap.Builder;
import org.zwobble.couscous.ast.Operator;
-import org.zwobble.couscous.ast.types.ScalarType;
+import org.zwobble.couscous.types.ScalarType;
import org.zwobble.couscous.backends.python.ast.PythonBinaryOperation;
import org.zwobble.couscous.backends.python.ast.PythonExpressionNode;
import org.zwobble.couscous.backends.python.ast.PythonNotNode;
diff --git a/src/main/java/org/zwobble/couscous/frontends/java/GeneratedClosure.java b/src/main/java/org/zwobble/couscous/frontends/java/GeneratedClosure.java
index 18f43be..f9e6415 100644
--- a/src/main/java/org/zwobble/couscous/frontends/java/GeneratedClosure.java
+++ b/src/main/java/org/zwobble/couscous/frontends/java/GeneratedClosure.java
@@ -2,7 +2,7 @@ package org.zwobble.couscous.frontends.java;
import org.zwobble.couscous.ast.ClassNode;
import org.zwobble.couscous.ast.ReferenceNode;
-import org.zwobble.couscous.ast.types.ScalarType;
+import org.zwobble.couscous.types.ScalarType;
import java.util.List;
diff --git a/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionMethodReferenceReader.java b/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionMethodReferenceReader.java
index b08bd0c..9f30467 100644
--- a/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionMethodReferenceReader.java
+++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionMethodReferenceReader.java
@@ -9,8 +9,8 @@ import org.zwobble.couscous.ast.ExpressionNode;
import org.zwobble.couscous.ast.FormalArgumentNode;
import org.zwobble.couscous.ast.VariableReferenceNode;
import org.zwobble.couscous.ast.sugar.Lambda;
-import org.zwobble.couscous.ast.types.Type;
-import org.zwobble.couscous.ast.types.Types;
+import org.zwobble.couscous.types.Type;
+import org.zwobble.couscous.types.Types;
import java.util.List;
diff --git a/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java b/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java
index 46d2ab4..75e0b6d 100644
--- a/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java
+++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java
@@ -2,8 +2,8 @@ package org.zwobble.couscous.frontends.java;
import org.eclipse.jdt.core.dom.*;
import org.zwobble.couscous.ast.*;
-import org.zwobble.couscous.ast.types.Type;
-import org.zwobble.couscous.ast.types.Types;
+import org.zwobble.couscous.types.Type;
+import org.zwobble.couscous.types.Types;
import org.zwobble.couscous.values.BooleanValue;
import org.zwobble.couscous.values.IntegerValue;
import org.zwobble.couscous.values.ObjectValues;
diff --git a/src/main/java/org/zwobble/couscous/frontends/java/JavaLambdaExpressionReader.java b/src/main/java/org/zwobble/couscous/frontends/java/JavaLambdaExpressionReader.java
index 30dc2f8..75391f7 100644
--- a/src/main/java/org/zwobble/couscous/frontends/java/JavaLambdaExpressionReader.java
+++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaLambdaExpressionReader.java
@@ -3,9 +3,8 @@ package org.zwobble.couscous.frontends.java;
import org.eclipse.jdt.core.dom.*;
import org.zwobble.couscous.ast.FormalArgumentNode;
import org.zwobble.couscous.ast.StatementNode;
-import org.zwobble.couscous.ast.types.*;
import org.zwobble.couscous.ast.sugar.Lambda;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import java.util.List;
import java.util.Optional;
diff --git a/src/main/java/org/zwobble/couscous/frontends/java/JavaMethods.java b/src/main/java/org/zwobble/couscous/frontends/java/JavaMethods.java
index 4aa57fd..7b8a004 100644
--- a/src/main/java/org/zwobble/couscous/frontends/java/JavaMethods.java
+++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaMethods.java
@@ -4,9 +4,9 @@ import com.google.common.collect.Iterables;
import org.eclipse.jdt.core.dom.IMethodBinding;
import org.eclipse.jdt.core.dom.ITypeBinding;
import org.zwobble.couscous.ast.MethodSignature;
-import org.zwobble.couscous.ast.types.BoundTypeParameter;
-import org.zwobble.couscous.ast.types.Type;
-import org.zwobble.couscous.ast.types.TypeParameter;
+import org.zwobble.couscous.types.BoundTypeParameter;
+import org.zwobble.couscous.types.Type;
+import org.zwobble.couscous.types.TypeParameter;
import java.util.List;
diff --git a/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java b/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java
index f0d42d4..0df0788 100644
--- a/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java
+++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java
@@ -8,8 +8,8 @@ import org.zwobble.couscous.ast.*;
import org.zwobble.couscous.ast.sugar.AnonymousClass;
import org.zwobble.couscous.ast.sugar.Lambda;
import org.zwobble.couscous.ast.sugar.TypeDeclarationBody;
-import org.zwobble.couscous.ast.types.ScalarType;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.ScalarType;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
import org.zwobble.couscous.util.ExtraLists;
import org.zwobble.couscous.values.ObjectValues;
@@ -37,7 +37,7 @@ import static org.zwobble.couscous.ast.StaticReceiver.staticReceiver;
import static org.zwobble.couscous.ast.ThisReferenceNode.thisReference;
import static org.zwobble.couscous.ast.TypeCoercionNode.typeCoercion;
import static org.zwobble.couscous.ast.VariableReferenceNode.reference;
-import static org.zwobble.couscous.ast.types.Types.erasure;
+import static org.zwobble.couscous.types.Types.erasure;
import static org.zwobble.couscous.frontends.java.FreeVariables.findFreeVariables;
import static org.zwobble.couscous.frontends.java.JavaTypes.*;
import static org.zwobble.couscous.util.Casts.tryCast;
@@ -473,7 +473,7 @@ public class JavaReader {
return eagerFlatMap(body, statementReader::readStatement);
}
- ExpressionNode readExpression(Scope scope, org.zwobble.couscous.ast.types.Type targetType, Expression body) {
+ ExpressionNode readExpression(Scope scope, Type targetType, Expression body) {
return expressionReader(scope).readExpression(targetType, body);
}
diff --git a/src/main/java/org/zwobble/couscous/frontends/java/JavaStatementReader.java b/src/main/java/org/zwobble/couscous/frontends/java/JavaStatementReader.java
index ac039fb..b21b4d9 100644
--- a/src/main/java/org/zwobble/couscous/frontends/java/JavaStatementReader.java
+++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaStatementReader.java
@@ -3,7 +3,7 @@ package org.zwobble.couscous.frontends.java;
import org.eclipse.jdt.core.dom.*;
import org.zwobble.couscous.ast.*;
import org.zwobble.couscous.ast.sugar.SwitchCaseNode;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.values.BooleanValue;
import org.zwobble.couscous.values.ObjectValues;
@@ -35,7 +35,7 @@ class JavaStatementReader {
JavaStatementReader(
Scope scope,
JavaExpressionReader expressionReader,
- Optional<org.zwobble.couscous.ast.types.Type> returnType
+ Optional<Type> returnType
) {
this.scope = scope;
this.expressionReader = expressionReader;
diff --git a/src/main/java/org/zwobble/couscous/frontends/java/JavaTypes.java b/src/main/java/org/zwobble/couscous/frontends/java/JavaTypes.java
index 0223d78..d5f21d0 100644
--- a/src/main/java/org/zwobble/couscous/frontends/java/JavaTypes.java
+++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaTypes.java
@@ -2,10 +2,10 @@ package org.zwobble.couscous.frontends.java;
import com.google.common.collect.ImmutableSet;
import org.eclipse.jdt.core.dom.*;
-import org.zwobble.couscous.ast.types.ParameterizedType;
-import org.zwobble.couscous.ast.types.ScalarType;
-import org.zwobble.couscous.ast.types.Type;
-import org.zwobble.couscous.ast.types.TypeParameter;
+import org.zwobble.couscous.types.ParameterizedType;
+import org.zwobble.couscous.types.ScalarType;
+import org.zwobble.couscous.types.Type;
+import org.zwobble.couscous.types.TypeParameter;
import org.zwobble.couscous.values.ObjectValues;
import java.util.List;
@@ -14,7 +14,7 @@ import java.util.Set;
import static com.google.common.collect.Iterables.transform;
import static java.util.Arrays.asList;
-import static org.zwobble.couscous.ast.types.Types.erasure;
+import static org.zwobble.couscous.types.Types.erasure;
import static org.zwobble.couscous.util.ExtraLists.eagerMap;
class JavaTypes {
diff --git a/src/main/java/org/zwobble/couscous/frontends/java/Scope.java b/src/main/java/org/zwobble/couscous/frontends/java/Scope.java
index b02601a..98dd30b 100644
--- a/src/main/java/org/zwobble/couscous/frontends/java/Scope.java
+++ b/src/main/java/org/zwobble/couscous/frontends/java/Scope.java
@@ -2,8 +2,8 @@ package org.zwobble.couscous.frontends.java;
import org.zwobble.couscous.ast.*;
import org.zwobble.couscous.ast.identifiers.Identifier;
-import org.zwobble.couscous.ast.types.ScalarType;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.ScalarType;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.util.NaturalNumbers;
import java.util.*;
diff --git a/src/main/java/org/zwobble/couscous/interpreter/Environment.java b/src/main/java/org/zwobble/couscous/interpreter/Environment.java
index fa5958b..ab36bf0 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/Environment.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/Environment.java
@@ -1,10 +1,10 @@
package org.zwobble.couscous.interpreter;
-import org.zwobble.couscous.ast.types.ScalarType;
+import org.zwobble.couscous.types.ScalarType;
import org.zwobble.couscous.ast.VariableDeclaration;
import org.zwobble.couscous.ast.VariableNode;
import org.zwobble.couscous.ast.identifiers.Identifier;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.interpreter.errors.UnboundVariable;
import org.zwobble.couscous.interpreter.errors.VariableNotInScope;
import org.zwobble.couscous.interpreter.values.InterpreterValue;
diff --git a/src/main/java/org/zwobble/couscous/interpreter/Evaluator.java b/src/main/java/org/zwobble/couscous/interpreter/Evaluator.java
index 37038ab..3a366e0 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/Evaluator.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/Evaluator.java
@@ -1,7 +1,7 @@
package org.zwobble.couscous.interpreter;
import org.zwobble.couscous.ast.*;
-import org.zwobble.couscous.ast.types.ScalarType;
+import org.zwobble.couscous.types.ScalarType;
import org.zwobble.couscous.ast.visitors.AssignableExpressionNodeVisitor;
import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.interpreter.errors.ConditionMustBeBoolean;
@@ -13,7 +13,7 @@ import org.zwobble.couscous.values.IntegerValue;
import java.util.List;
import java.util.stream.Collectors;
-import static org.zwobble.couscous.ast.types.Types.erasure;
+import static org.zwobble.couscous.types.Types.erasure;
public class Evaluator implements ExpressionNodeMapper<InterpreterValue> {
public static InterpreterValue eval(Environment environment, ExpressionNode expression) {
diff --git a/src/main/java/org/zwobble/couscous/interpreter/Interpreter.java b/src/main/java/org/zwobble/couscous/interpreter/Interpreter.java
index fcf20d9..1d8f1b0 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/Interpreter.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/Interpreter.java
@@ -2,8 +2,8 @@ package org.zwobble.couscous.interpreter;
import com.google.common.collect.ImmutableMap;
import org.zwobble.couscous.ast.MethodSignature;
-import org.zwobble.couscous.ast.types.ScalarType;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.ScalarType;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.interpreter.values.InterpreterValue;
import org.zwobble.couscous.interpreter.values.StaticReceiverValue;
diff --git a/src/main/java/org/zwobble/couscous/interpreter/InterpreterTypes.java b/src/main/java/org/zwobble/couscous/interpreter/InterpreterTypes.java
index 0ec63b0..c6920c7 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/InterpreterTypes.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/InterpreterTypes.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.interpreter;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.interpreter.errors.UnexpectedValueType;
import org.zwobble.couscous.interpreter.types.InterpreterType;
import org.zwobble.couscous.interpreter.values.InterpreterValue;
diff --git a/src/main/java/org/zwobble/couscous/interpreter/MapBackedProject.java b/src/main/java/org/zwobble/couscous/interpreter/MapBackedProject.java
index ebc31ae..7baa8ad 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/MapBackedProject.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/MapBackedProject.java
@@ -1,12 +1,12 @@
package org.zwobble.couscous.interpreter;
import com.google.common.collect.ImmutableMap;
-import org.zwobble.couscous.ast.types.ScalarType;
+import org.zwobble.couscous.types.ScalarType;
import org.zwobble.couscous.interpreter.types.InterpreterType;
import java.util.Map;
-import static org.zwobble.couscous.ast.types.Types.erasure;
+import static org.zwobble.couscous.types.Types.erasure;
public class MapBackedProject implements Project {
public static Builder builder() {
diff --git a/src/main/java/org/zwobble/couscous/interpreter/Project.java b/src/main/java/org/zwobble/couscous/interpreter/Project.java
index edfbaba..69b59a1 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/Project.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/Project.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.interpreter;
-import org.zwobble.couscous.ast.types.ScalarType;
+import org.zwobble.couscous.types.ScalarType;
import org.zwobble.couscous.interpreter.types.InterpreterType;
public interface Project {
diff --git a/src/main/java/org/zwobble/couscous/interpreter/errors/InvalidCast.java b/src/main/java/org/zwobble/couscous/interpreter/errors/InvalidCast.java
index a13612b..a8a4464 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/errors/InvalidCast.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/errors/InvalidCast.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.interpreter.errors;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
public class InvalidCast extends InterpreterException {
private final Type expected;
diff --git a/src/main/java/org/zwobble/couscous/interpreter/errors/UnexpectedValueType.java b/src/main/java/org/zwobble/couscous/interpreter/errors/UnexpectedValueType.java
index 459d9d7..5e744f4 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/errors/UnexpectedValueType.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/errors/UnexpectedValueType.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.interpreter.errors;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
public final class UnexpectedValueType extends InterpreterException {
private static final long serialVersionUID = 1L;
diff --git a/src/main/java/org/zwobble/couscous/interpreter/types/InterpreterType.java b/src/main/java/org/zwobble/couscous/interpreter/types/InterpreterType.java
index 5ee1ae0..8c5bdb9 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/types/InterpreterType.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/types/InterpreterType.java
@@ -3,7 +3,7 @@ package org.zwobble.couscous.interpreter.types;
import org.zwobble.couscous.ast.FieldDeclarationNode;
import org.zwobble.couscous.ast.MethodSignature;
import org.zwobble.couscous.ast.StatementNode;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.interpreter.Environment;
import org.zwobble.couscous.interpreter.values.InterpreterValue;
diff --git a/src/main/java/org/zwobble/couscous/interpreter/types/IntrinsicInterpreterType.java b/src/main/java/org/zwobble/couscous/interpreter/types/IntrinsicInterpreterType.java
index 96973cb..d69c855 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/types/IntrinsicInterpreterType.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/types/IntrinsicInterpreterType.java
@@ -3,9 +3,9 @@ package org.zwobble.couscous.interpreter.types;
import com.google.common.collect.ImmutableMap;
import org.zwobble.couscous.ast.FieldDeclarationNode;
import org.zwobble.couscous.ast.MethodSignature;
-import org.zwobble.couscous.ast.types.ScalarType;
+import org.zwobble.couscous.types.ScalarType;
import org.zwobble.couscous.ast.StatementNode;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.interpreter.Environment;
import org.zwobble.couscous.interpreter.PositionalArguments;
import org.zwobble.couscous.interpreter.errors.NoSuchMethod;
diff --git a/src/main/java/org/zwobble/couscous/interpreter/types/UserDefinedInterpreterType.java b/src/main/java/org/zwobble/couscous/interpreter/types/UserDefinedInterpreterType.java
index 32d9018..cc072bf 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/types/UserDefinedInterpreterType.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/types/UserDefinedInterpreterType.java
@@ -1,8 +1,8 @@
package org.zwobble.couscous.interpreter.types;
import org.zwobble.couscous.ast.*;
-import org.zwobble.couscous.ast.types.ScalarType;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.ScalarType;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.interpreter.Environment;
import org.zwobble.couscous.interpreter.Executor;
import org.zwobble.couscous.interpreter.InterpreterTypes;
diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/Callable.java b/src/main/java/org/zwobble/couscous/interpreter/values/Callable.java
index c296797..ff99960 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/values/Callable.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/values/Callable.java
@@ -2,8 +2,7 @@ package org.zwobble.couscous.interpreter.values;
import java.util.List;
-import org.zwobble.couscous.ast.types.ScalarType;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
public interface Callable {
List<Type> getArgumentTypes();
diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/InterpreterValues.java b/src/main/java/org/zwobble/couscous/interpreter/values/InterpreterValues.java
index 8db19f7..2110818 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/values/InterpreterValues.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/values/InterpreterValues.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.interpreter.values;
-import org.zwobble.couscous.ast.types.ScalarType;
+import org.zwobble.couscous.types.ScalarType;
import org.zwobble.couscous.values.PrimitiveValue;
public class InterpreterValues {
diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/MethodValue.java b/src/main/java/org/zwobble/couscous/interpreter/values/MethodValue.java
index eeda6f4..239e7ef 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/values/MethodValue.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/values/MethodValue.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.interpreter.values;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.interpreter.Environment;
import java.util.List;
diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/StaticMethodValue.java b/src/main/java/org/zwobble/couscous/interpreter/values/StaticMethodValue.java
index e8223ac..c035070 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/values/StaticMethodValue.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/values/StaticMethodValue.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.interpreter.values;
-import org.zwobble.couscous.ast.types.Type;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.interpreter.Environment;
import org.zwobble.couscous.interpreter.PositionalArguments;
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 a4efddb..b460d00 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/values/TypeInterpreterValue.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/values/TypeInterpreterValue.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.interpreter.values;
-import org.zwobble.couscous.ast.types.ScalarType;
+import org.zwobble.couscous.types.ScalarType;
import org.zwobble.couscous.interpreter.errors.NoSuchField;
import org.zwobble.couscous.interpreter.types.InterpreterType;
import org.zwobble.couscous.interpreter.types.IntrinsicInterpreterType;
diff --git a/src/main/java/org/zwobble/couscous/ast/types/BoundTypeParameter.java b/src/main/java/org/zwobble/couscous/types/BoundTypeParameter.java
index abb8906..8eb5f5a 100644
--- a/src/main/java/org/zwobble/couscous/ast/types/BoundTypeParameter.java
+++ b/src/main/java/org/zwobble/couscous/types/BoundTypeParameter.java
@@ -1,4 +1,4 @@
-package org.zwobble.couscous.ast.types;
+package org.zwobble.couscous.types;
public class BoundTypeParameter implements Type {
public static BoundTypeParameter boundTypeParameter(TypeParameter parameter, Type value) {
diff --git a/src/main/java/org/zwobble/couscous/ast/types/ParameterizedType.java b/src/main/java/org/zwobble/couscous/types/ParameterizedType.java
index a23fdc0..7db73e0 100644
--- a/src/main/java/org/zwobble/couscous/ast/types/ParameterizedType.java
+++ b/src/main/java/org/zwobble/couscous/types/ParameterizedType.java
@@ -1,4 +1,4 @@
-package org.zwobble.couscous.ast.types;
+package org.zwobble.couscous.types;
import java.util.List;
diff --git a/src/main/java/org/zwobble/couscous/ast/types/ScalarType.java b/src/main/java/org/zwobble/couscous/types/ScalarType.java
index 69b9f97..a96c8c8 100644
--- a/src/main/java/org/zwobble/couscous/ast/types/ScalarType.java
+++ b/src/main/java/org/zwobble/couscous/types/ScalarType.java
@@ -1,4 +1,4 @@
-package org.zwobble.couscous.ast.types;
+package org.zwobble.couscous.types;
import com.google.common.base.Strings;
diff --git a/src/main/java/org/zwobble/couscous/ast/types/Type.java b/src/main/java/org/zwobble/couscous/types/Type.java
index 2a64341..ad0f6fc 100644
--- a/src/main/java/org/zwobble/couscous/ast/types/Type.java
+++ b/src/main/java/org/zwobble/couscous/types/Type.java
@@ -1,4 +1,4 @@
-package org.zwobble.couscous.ast.types;
+package org.zwobble.couscous.types;
public interface Type {
<T> T accept(Visitor<T> visitor);
diff --git a/src/main/java/org/zwobble/couscous/ast/types/TypeParameter.java b/src/main/java/org/zwobble/couscous/types/TypeParameter.java
index 9cda882..2bd3123 100644
--- a/src/main/java/org/zwobble/couscous/ast/types/TypeParameter.java
+++ b/src/main/java/org/zwobble/couscous/types/TypeParameter.java
@@ -1,4 +1,4 @@
-package org.zwobble.couscous.ast.types;
+package org.zwobble.couscous.types;
public class TypeParameter implements Type {
public static TypeParameter typeParameter(ScalarType declaringType, String name) {
diff --git a/src/main/java/org/zwobble/couscous/ast/types/Types.java b/src/main/java/org/zwobble/couscous/types/Types.java
index 5fb079b..20a3645 100644
--- a/src/main/java/org/zwobble/couscous/ast/types/Types.java
+++ b/src/main/java/org/zwobble/couscous/types/Types.java
@@ -1,4 +1,4 @@
-package org.zwobble.couscous.ast.types;
+package org.zwobble.couscous.types;
import org.zwobble.couscous.values.ObjectValues;
diff --git a/src/main/java/org/zwobble/couscous/values/BooleanValue.java b/src/main/java/org/zwobble/couscous/values/BooleanValue.java
index b99bd14..8d42e4f 100644
--- a/src/main/java/org/zwobble/couscous/values/BooleanValue.java
+++ b/src/main/java/org/zwobble/couscous/values/BooleanValue.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.values;
-import org.zwobble.couscous.ast.types.ScalarType;
+import org.zwobble.couscous.types.ScalarType;
public final class BooleanValue implements PrimitiveValue {
public static final ScalarType REF = ScalarType.of("boolean");
diff --git a/src/main/java/org/zwobble/couscous/values/IntegerValue.java b/src/main/java/org/zwobble/couscous/values/IntegerValue.java
index 8e04345..86de00f 100644
--- a/src/main/java/org/zwobble/couscous/values/IntegerValue.java
+++ b/src/main/java/org/zwobble/couscous/values/IntegerValue.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.values;
-import org.zwobble.couscous.ast.types.ScalarType;
+import org.zwobble.couscous.types.ScalarType;
public final class IntegerValue implements PrimitiveValue {
public static final ScalarType REF = ScalarType.of("int");
diff --git a/src/main/java/org/zwobble/couscous/values/InternalCouscousValue.java b/src/main/java/org/zwobble/couscous/values/InternalCouscousValue.java
index b56abec..0665063 100644
--- a/src/main/java/org/zwobble/couscous/values/InternalCouscousValue.java
+++ b/src/main/java/org/zwobble/couscous/values/InternalCouscousValue.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.values;
-import org.zwobble.couscous.ast.types.ScalarType;
+import org.zwobble.couscous.types.ScalarType;
public class InternalCouscousValue {
public static final ScalarType REF = ScalarType.of("_couscous");
diff --git a/src/main/java/org/zwobble/couscous/values/ObjectValues.java b/src/main/java/org/zwobble/couscous/values/ObjectValues.java
index ec84d53..1df2de6 100644
--- a/src/main/java/org/zwobble/couscous/values/ObjectValues.java
+++ b/src/main/java/org/zwobble/couscous/values/ObjectValues.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.values;
-import org.zwobble.couscous.ast.types.ScalarType;
+import org.zwobble.couscous.types.ScalarType;
public class ObjectValues {
public static final ScalarType VOID = ScalarType.of("void");
diff --git a/src/main/java/org/zwobble/couscous/values/PrimitiveValue.java b/src/main/java/org/zwobble/couscous/values/PrimitiveValue.java
index 86d32de..0075a30 100644
--- a/src/main/java/org/zwobble/couscous/values/PrimitiveValue.java
+++ b/src/main/java/org/zwobble/couscous/values/PrimitiveValue.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.values;
-import org.zwobble.couscous.ast.types.ScalarType;
+import org.zwobble.couscous.types.ScalarType;
public interface PrimitiveValue {
<T> T accept(Visitor<T> visitor);
diff --git a/src/main/java/org/zwobble/couscous/values/PrimitiveValues.java b/src/main/java/org/zwobble/couscous/values/PrimitiveValues.java
index 9aac702..fbec8ed 100644
--- a/src/main/java/org/zwobble/couscous/values/PrimitiveValues.java
+++ b/src/main/java/org/zwobble/couscous/values/PrimitiveValues.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.values;
-import org.zwobble.couscous.ast.types.ScalarType;
+import org.zwobble.couscous.types.ScalarType;
public class PrimitiveValues {
public static final PrimitiveValue UNIT = UnitValue.UNIT;
diff --git a/src/main/java/org/zwobble/couscous/values/StringValue.java b/src/main/java/org/zwobble/couscous/values/StringValue.java
index 4e7a5f0..6a417f5 100644
--- a/src/main/java/org/zwobble/couscous/values/StringValue.java
+++ b/src/main/java/org/zwobble/couscous/values/StringValue.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.values;
-import org.zwobble.couscous.ast.types.ScalarType;
+import org.zwobble.couscous.types.ScalarType;
public final class StringValue implements PrimitiveValue {
diff --git a/src/main/java/org/zwobble/couscous/values/TypeValue.java b/src/main/java/org/zwobble/couscous/values/TypeValue.java
index 2bb7c1f..cc8b026 100644
--- a/src/main/java/org/zwobble/couscous/values/TypeValue.java
+++ b/src/main/java/org/zwobble/couscous/values/TypeValue.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.values;
-import org.zwobble.couscous.ast.types.ScalarType;
+import org.zwobble.couscous.types.ScalarType;
public class TypeValue implements PrimitiveValue {
private final ScalarType value;
diff --git a/src/main/java/org/zwobble/couscous/values/UnitValue.java b/src/main/java/org/zwobble/couscous/values/UnitValue.java
index d8a508f..3af8111 100644
--- a/src/main/java/org/zwobble/couscous/values/UnitValue.java
+++ b/src/main/java/org/zwobble/couscous/values/UnitValue.java
@@ -1,6 +1,6 @@
package org.zwobble.couscous.values;
-import org.zwobble.couscous.ast.types.ScalarType;
+import org.zwobble.couscous.types.ScalarType;
public class UnitValue implements PrimitiveValue {
public static final ScalarType REF = ScalarType.of("void");