aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-10-25 18:24:06 +0000
committerMichael Williamson <mike@zwobble.org>2015-10-25 18:24:06 +0000
commit5295624f7252662025532cc54ac17baebb0a3f65 (patch)
tree8ab0d5701fbe6fe5245e5f7662573765ef257d0e /src/main/java/org
parented9dcc150efe3df4884b6023a71c6c5216cc8e33 (diff)
Remove lombok from ReturnNode
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/zwobble/couscous/ast/ReturnNode.java47
-rw-r--r--src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java2
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) {