From 7ac08dcdac16eb94b6092a7a8e16cf6b65ae6569 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 25 Oct 2015 18:07:25 +0000 Subject: Remove lombok from ExpressionStatementNode --- .../couscous/ast/ExpressionStatementNode.java | 48 ++++++++++++++++++++-- 1 file changed, 44 insertions(+), 4 deletions(-) (limited to 'src/main/java/org/zwobble/couscous/ast/ExpressionStatementNode.java') 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 accept(StatementNodeMapper 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; + } } -- cgit v1.2.3