diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-10-25 18:24:06 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-10-25 18:24:06 +0000 |
| commit | 5295624f7252662025532cc54ac17baebb0a3f65 (patch) | |
| tree | 8ab0d5701fbe6fe5245e5f7662573765ef257d0e /src/main | |
| parent | ed9dcc150efe3df4884b6023a71c6c5216cc8e33 (diff) | |
Remove lombok from ReturnNode
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/ast/ReturnNode.java | 47 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java | 2 |
2 files changed, 44 insertions, 5 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/ReturnNode.java b/src/main/java/org/zwobble/couscous/ast/ReturnNode.java index 7f4a57e..008b985 100644 --- a/src/main/java/org/zwobble/couscous/ast/ReturnNode.java +++ b/src/main/java/org/zwobble/couscous/ast/ReturnNode.java @@ -2,14 +2,53 @@ package org.zwobble.couscous.ast; import org.zwobble.couscous.ast.visitors.StatementNodeMapper; -import lombok.Value; - -@Value public class ReturnNode implements StatementNode { - ExpressionNode value; + public static ReturnNode returns(ExpressionNode value) { + return new ReturnNode(value); + } + + private final ExpressionNode value; + private ReturnNode(ExpressionNode value) { + this.value = value; + } + + public ExpressionNode getValue() { + return value; + } + @Override public <T> T accept(StatementNodeMapper<T> visitor) { return visitor.visit(this); } + + @Override + public String toString() { + return "ReturnNode(value=" + value + ")"; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((value == null) ? 0 : value.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; + ReturnNode other = (ReturnNode) obj; + if (value == null) { + if (other.value != null) + return false; + } else if (!value.equals(other.value)) + 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 512a94b..2bb82ef 100644 --- a/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java +++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java @@ -148,7 +148,7 @@ public class JavaReader { } private static StatementNode readReturnStatement(ReturnStatement statement) { - return new ReturnNode(readExpression(statement.getExpression())); + return ReturnNode.returns(readExpression(statement.getExpression())); } private static StatementNode readExpressionStatement(ExpressionStatement statement) { |
