diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-07-15 12:06:42 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-07-15 12:06:42 +0100 |
| commit | 3be68289f34a37ac7f9e1e95fa0d95dfc1bb3836 (patch) | |
| tree | 4047d657f89b54a07ffddb23de1f5336ffbea6d3 /src/main/java/org/zwobble/couscous/ast | |
| parent | 15c67a851605262ef165279d99964ce8a53a45f5 (diff) | |
Remove ExpressionNodeMapper
Diffstat (limited to 'src/main/java/org/zwobble/couscous/ast')
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); -} |
