diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-10-25 18:07:25 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-10-25 18:07:25 +0000 |
| commit | 7ac08dcdac16eb94b6092a7a8e16cf6b65ae6569 (patch) | |
| tree | 9c27af8a0a6b016fe2b3c646c4ca03465847999d /src/main/java/org/zwobble | |
| parent | f0166b6c5fa0b5cfb9a79c20a83667e0c97e2004 (diff) | |
Remove lombok from ExpressionStatementNode
Diffstat (limited to 'src/main/java/org/zwobble')
3 files changed, 49 insertions, 8 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java b/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java index ead783c..b6c8f9c 100644 --- a/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java +++ b/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java @@ -2,11 +2,12 @@ package org.zwobble.couscous.ast; import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper; +import static org.zwobble.couscous.ast.ExpressionStatementNode.expressionStatement; import static org.zwobble.couscous.ast.VariableReferenceNode.reference; public class AssignmentNode implements ExpressionNode { public static StatementNode assignStatement(AssignableExpressionNode target, ExpressionNode value) { - return new ExpressionStatementNode(assign(target, value)); + return expressionStatement(assign(target, value)); } public static AssignmentNode assign(AssignableExpressionNode target, ExpressionNode value) { @@ -14,7 +15,7 @@ public class AssignmentNode implements ExpressionNode { } public static StatementNode assignStatement(VariableNode target, ExpressionNode value) { - return new ExpressionStatementNode(assign(target, value)); + return expressionStatement(assign(target, value)); } public static AssignmentNode assign(VariableNode target, ExpressionNode value) { diff --git a/src/main/java/org/zwobble/couscous/ast/ExpressionStatementNode.java b/src/main/java/org/zwobble/couscous/ast/ExpressionStatementNode.java index 5bbe2b5..b814076 100644 --- a/src/main/java/org/zwobble/couscous/ast/ExpressionStatementNode.java +++ b/src/main/java/org/zwobble/couscous/ast/ExpressionStatementNode.java @@ -2,14 +2,54 @@ package org.zwobble.couscous.ast; import org.zwobble.couscous.ast.visitors.StatementNodeMapper; -import lombok.Value; - -@Value public class ExpressionStatementNode implements StatementNode { - ExpressionNode expression; + public static ExpressionStatementNode expressionStatement(ExpressionNode expression) { + return new ExpressionStatementNode(expression); + } + + private final ExpressionNode expression; + private ExpressionStatementNode(ExpressionNode expression) { + this.expression = expression; + } + + public ExpressionNode getExpression() { + return expression; + } + @Override public <T> T accept(StatementNodeMapper<T> visitor) { return visitor.visit(this); } + + @Override + public String toString() { + return "ExpressionStatementNode(expression=" + expression + ")"; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + + ((expression == null) ? 0 : expression.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + ExpressionStatementNode other = (ExpressionStatementNode) obj; + if (expression == null) { + if (other.expression != null) + return false; + } else if (!expression.equals(other.expression)) + return false; + return true; + } } 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 9b680be..512a94b 100644 --- a/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java +++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java @@ -38,7 +38,6 @@ import org.zwobble.couscous.ast.ClassNodeBuilder; import org.zwobble.couscous.ast.ClassNodeBuilder.MethodBuilder; import org.zwobble.couscous.ast.ConstructorCallNode; import org.zwobble.couscous.ast.ExpressionNode; -import org.zwobble.couscous.ast.ExpressionStatementNode; import org.zwobble.couscous.ast.FieldAccessNode; import org.zwobble.couscous.ast.LiteralNode; import org.zwobble.couscous.ast.MethodCallNode; @@ -52,6 +51,7 @@ import org.zwobble.couscous.ast.TypeName; import com.google.common.collect.Lists; import static java.util.Arrays.asList; +import static org.zwobble.couscous.ast.ExpressionStatementNode.expressionStatement; import static org.zwobble.couscous.ast.LocalVariableDeclarationNode.localVariableDeclaration; import static org.zwobble.couscous.ast.VariableDeclaration.var; import static org.zwobble.couscous.ast.VariableReferenceNode.reference; @@ -152,7 +152,7 @@ public class JavaReader { } private static StatementNode readExpressionStatement(ExpressionStatement statement) { - return new ExpressionStatementNode(readExpression(statement.getExpression())); + return expressionStatement(readExpression(statement.getExpression())); } private static List<StatementNode> readVariableDeclarationStatement(VariableDeclarationStatement statement) { |
