aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/ast
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-07-15 12:06:42 +0100
committerMichael Williamson <mike@zwobble.org>2016-07-15 12:06:42 +0100
commit3be68289f34a37ac7f9e1e95fa0d95dfc1bb3836 (patch)
tree4047d657f89b54a07ffddb23de1f5336ffbea6d3 /src/main/java/org/zwobble/couscous/ast
parent15c67a851605262ef165279d99964ce8a53a45f5 (diff)
Remove ExpressionNodeMapper
Diffstat (limited to 'src/main/java/org/zwobble/couscous/ast')
-rw-r--r--src/main/java/org/zwobble/couscous/ast/ArrayNode.java6
-rw-r--r--src/main/java/org/zwobble/couscous/ast/AssignmentNode.java8
-rw-r--r--src/main/java/org/zwobble/couscous/ast/CastNode.java8
-rw-r--r--src/main/java/org/zwobble/couscous/ast/ConstructorCallNode.java8
-rw-r--r--src/main/java/org/zwobble/couscous/ast/ExpressionNode.java4
-rw-r--r--src/main/java/org/zwobble/couscous/ast/FieldAccessNode.java6
-rw-r--r--src/main/java/org/zwobble/couscous/ast/InstanceOfNode.java6
-rw-r--r--src/main/java/org/zwobble/couscous/ast/LiteralNode.java6
-rw-r--r--src/main/java/org/zwobble/couscous/ast/MethodCallNode.java6
-rw-r--r--src/main/java/org/zwobble/couscous/ast/OperationNode.java8
-rw-r--r--src/main/java/org/zwobble/couscous/ast/TernaryConditionalNode.java8
-rw-r--r--src/main/java/org/zwobble/couscous/ast/ThisReferenceNode.java8
-rw-r--r--src/main/java/org/zwobble/couscous/ast/TypeCoercionNode.java8
-rw-r--r--src/main/java/org/zwobble/couscous/ast/VariableReferenceNode.java8
-rw-r--r--src/main/java/org/zwobble/couscous/ast/visitors/ExpressionNodeMapper.java19
15 files changed, 8 insertions, 109 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/ArrayNode.java b/src/main/java/org/zwobble/couscous/ast/ArrayNode.java
index 1f3c8e3..784cb69 100644
--- a/src/main/java/org/zwobble/couscous/ast/ArrayNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/ArrayNode.java
@@ -1,6 +1,5 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.types.Types;
@@ -34,11 +33,6 @@ public class ArrayNode implements ExpressionNode {
}
@Override
- public <T> T accept(ExpressionNodeMapper<T> visitor) {
- return visitor.visit(this);
- }
-
- @Override
public int type() {
return NodeTypes.ARRAY;
}
diff --git a/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java b/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java
index d41f629..e12c5dd 100644
--- a/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java
@@ -1,8 +1,7 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.types.Type;
-import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.util.ExtraIterables;
import static org.zwobble.couscous.ast.ExpressionStatementNode.expressionStatement;
@@ -42,11 +41,6 @@ public class AssignmentNode implements ExpressionNode {
}
@Override
- public <T> T accept(ExpressionNodeMapper<T> visitor) {
- return visitor.visit(this);
- }
-
- @Override
public int type() {
return NodeTypes.ASSIGNMENT;
}
diff --git a/src/main/java/org/zwobble/couscous/ast/CastNode.java b/src/main/java/org/zwobble/couscous/ast/CastNode.java
index d22bb63..02b2626 100644
--- a/src/main/java/org/zwobble/couscous/ast/CastNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/CastNode.java
@@ -1,8 +1,7 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.types.Type;
-import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.util.ExtraIterables;
public class CastNode implements ExpressionNode {
@@ -28,11 +27,6 @@ public class CastNode implements ExpressionNode {
}
@Override
- public <T> T accept(ExpressionNodeMapper<T> visitor) {
- return visitor.visit(this);
- }
-
- @Override
public int type() {
return NodeTypes.CAST;
}
diff --git a/src/main/java/org/zwobble/couscous/ast/ConstructorCallNode.java b/src/main/java/org/zwobble/couscous/ast/ConstructorCallNode.java
index e9eabd6..2f9c44e 100644
--- a/src/main/java/org/zwobble/couscous/ast/ConstructorCallNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/ConstructorCallNode.java
@@ -1,8 +1,7 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.types.Type;
-import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
+import org.zwobble.couscous.types.Type;
import java.util.List;
@@ -35,11 +34,6 @@ public class ConstructorCallNode implements ExpressionNode {
}
@Override
- public <T> T accept(ExpressionNodeMapper<T> visitor) {
- return visitor.visit(this);
- }
-
- @Override
public int type() {
return NodeTypes.CONSTRUCTOR_CALL;
}
diff --git a/src/main/java/org/zwobble/couscous/ast/ExpressionNode.java b/src/main/java/org/zwobble/couscous/ast/ExpressionNode.java
index 16a47e8..4a588d1 100644
--- a/src/main/java/org/zwobble/couscous/ast/ExpressionNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/ExpressionNode.java
@@ -1,13 +1,9 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
import org.zwobble.couscous.types.Type;
public interface ExpressionNode extends Node {
Type getType();
- <T> T accept(ExpressionNodeMapper<T> visitor);
-
-
ExpressionNode transform(NodeTransformer transformer);
}
diff --git a/src/main/java/org/zwobble/couscous/ast/FieldAccessNode.java b/src/main/java/org/zwobble/couscous/ast/FieldAccessNode.java
index e4c422f..f3470ee 100644
--- a/src/main/java/org/zwobble/couscous/ast/FieldAccessNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/FieldAccessNode.java
@@ -1,6 +1,5 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
import org.zwobble.couscous.types.ScalarType;
import org.zwobble.couscous.types.Type;
@@ -61,11 +60,6 @@ public class FieldAccessNode implements AssignableExpressionNode {
}
@Override
- public <T> T accept(ExpressionNodeMapper<T> visitor) {
- return visitor.visit(this);
- }
-
- @Override
public int type() {
return NodeTypes.FIELD_ACCESS;
}
diff --git a/src/main/java/org/zwobble/couscous/ast/InstanceOfNode.java b/src/main/java/org/zwobble/couscous/ast/InstanceOfNode.java
index f2dcc0b..ea4200d 100644
--- a/src/main/java/org/zwobble/couscous/ast/InstanceOfNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/InstanceOfNode.java
@@ -1,6 +1,5 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
import org.zwobble.couscous.types.ScalarType;
import org.zwobble.couscous.types.Type;
@@ -30,11 +29,6 @@ public class InstanceOfNode implements ExpressionNode {
}
@Override
- public <T> T accept(ExpressionNodeMapper<T> visitor) {
- return visitor.visit(this);
- }
-
- @Override
public int type() {
return NodeTypes.INSTANCE_OF;
}
diff --git a/src/main/java/org/zwobble/couscous/ast/LiteralNode.java b/src/main/java/org/zwobble/couscous/ast/LiteralNode.java
index b8d8735..1522c7f 100644
--- a/src/main/java/org/zwobble/couscous/ast/LiteralNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/LiteralNode.java
@@ -1,6 +1,5 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
import org.zwobble.couscous.types.ScalarType;
import org.zwobble.couscous.types.Type;
@@ -55,11 +54,6 @@ public class LiteralNode implements ExpressionNode {
}
@Override
- public <T> T accept(ExpressionNodeMapper<T> visitor) {
- return visitor.visit(this);
- }
-
- @Override
public int type() {
return NodeTypes.LITERAL;
}
diff --git a/src/main/java/org/zwobble/couscous/ast/MethodCallNode.java b/src/main/java/org/zwobble/couscous/ast/MethodCallNode.java
index 381fb11..0d78c40 100644
--- a/src/main/java/org/zwobble/couscous/ast/MethodCallNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/MethodCallNode.java
@@ -1,6 +1,5 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
import org.zwobble.couscous.types.ScalarType;
import org.zwobble.couscous.types.Type;
@@ -155,11 +154,6 @@ public class MethodCallNode implements ExpressionNode {
}
@Override
- public <T> T accept(ExpressionNodeMapper<T> visitor) {
- return visitor.visit(this);
- }
-
- @Override
public int type() {
return NodeTypes.METHOD_CALL;
}
diff --git a/src/main/java/org/zwobble/couscous/ast/OperationNode.java b/src/main/java/org/zwobble/couscous/ast/OperationNode.java
index 44f2d1f..1a838bd 100644
--- a/src/main/java/org/zwobble/couscous/ast/OperationNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/OperationNode.java
@@ -1,8 +1,7 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.types.Type;
-import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
+import org.zwobble.couscous.types.Type;
import java.util.List;
@@ -47,11 +46,6 @@ public class OperationNode implements ExpressionNode {
}
@Override
- public <T> T accept(ExpressionNodeMapper<T> visitor) {
- return visitor.visit(this);
- }
-
- @Override
public int type() {
return NodeTypes.OPERATION;
}
diff --git a/src/main/java/org/zwobble/couscous/ast/TernaryConditionalNode.java b/src/main/java/org/zwobble/couscous/ast/TernaryConditionalNode.java
index 0d2ecda..979bd33 100644
--- a/src/main/java/org/zwobble/couscous/ast/TernaryConditionalNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/TernaryConditionalNode.java
@@ -1,8 +1,7 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.types.Type;
-import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.util.ExtraIterables;
public class TernaryConditionalNode implements ExpressionNode {
@@ -39,11 +38,6 @@ public class TernaryConditionalNode implements ExpressionNode {
}
@Override
- public <T> T accept(ExpressionNodeMapper<T> visitor) {
- return visitor.visit(this);
- }
-
- @Override
public int type() {
return NodeTypes.TERNARY_CONDITIONAL;
}
diff --git a/src/main/java/org/zwobble/couscous/ast/ThisReferenceNode.java b/src/main/java/org/zwobble/couscous/ast/ThisReferenceNode.java
index 8da97e6..5b80b9c 100644
--- a/src/main/java/org/zwobble/couscous/ast/ThisReferenceNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/ThisReferenceNode.java
@@ -1,8 +1,7 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.types.Type;
-import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.util.ExtraIterables;
public class ThisReferenceNode implements ExpressionNode, ReferenceNode {
@@ -21,11 +20,6 @@ public class ThisReferenceNode implements ExpressionNode, ReferenceNode {
}
@Override
- public <T> T accept(ExpressionNodeMapper<T> visitor) {
- return visitor.visit(this);
- }
-
- @Override
public <T> T accept(Visitor<T> visitor) {
return visitor.visit(this);
}
diff --git a/src/main/java/org/zwobble/couscous/ast/TypeCoercionNode.java b/src/main/java/org/zwobble/couscous/ast/TypeCoercionNode.java
index 9e4507d..1c8ee6e 100644
--- a/src/main/java/org/zwobble/couscous/ast/TypeCoercionNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/TypeCoercionNode.java
@@ -1,8 +1,7 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.types.Type;
-import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.util.ExtraIterables;
import static org.zwobble.couscous.types.Types.concrete;
@@ -38,11 +37,6 @@ public class TypeCoercionNode implements ExpressionNode {
}
@Override
- public <T> T accept(ExpressionNodeMapper<T> visitor) {
- return visitor.visit(this);
- }
-
- @Override
public int type() {
return NodeTypes.TYPE_COERCION;
}
diff --git a/src/main/java/org/zwobble/couscous/ast/VariableReferenceNode.java b/src/main/java/org/zwobble/couscous/ast/VariableReferenceNode.java
index 96f2fdf..0763fc4 100644
--- a/src/main/java/org/zwobble/couscous/ast/VariableReferenceNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/VariableReferenceNode.java
@@ -1,9 +1,8 @@
package org.zwobble.couscous.ast;
import org.zwobble.couscous.ast.identifiers.Identifier;
-import org.zwobble.couscous.types.Type;
-import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
+import org.zwobble.couscous.types.Type;
import org.zwobble.couscous.util.ExtraIterables;
public class VariableReferenceNode implements AssignableExpressionNode, ReferenceNode {
@@ -25,11 +24,6 @@ public class VariableReferenceNode implements AssignableExpressionNode, Referenc
return referent;
}
- @Override
- public <T> T accept(ExpressionNodeMapper<T> visitor) {
- return visitor.visit(this);
- }
-
public Identifier getReferentId() {
return referent.getId();
}
diff --git a/src/main/java/org/zwobble/couscous/ast/visitors/ExpressionNodeMapper.java b/src/main/java/org/zwobble/couscous/ast/visitors/ExpressionNodeMapper.java
deleted file mode 100644
index acc972a..0000000
--- a/src/main/java/org/zwobble/couscous/ast/visitors/ExpressionNodeMapper.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.zwobble.couscous.ast.visitors;
-
-import org.zwobble.couscous.ast.*;
-
-public interface ExpressionNodeMapper<T> {
- T visit(LiteralNode literal);
- T visit(VariableReferenceNode variableReference);
- T visit(ThisReferenceNode reference);
- T visit(ArrayNode array);
- T visit(AssignmentNode assignment);
- T visit(TernaryConditionalNode ternaryConditional);
- T visit(MethodCallNode methodCall);
- T visit(ConstructorCallNode call);
- T visit(OperationNode operation);
- T visit(InstanceOfNode instanceOf);
- T visit(FieldAccessNode fieldAccess);
- T visit(TypeCoercionNode typeCoercion);
- T visit(CastNode cast);
-}