diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-10-25 17:53:39 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-10-25 17:53:39 +0000 |
| commit | 6f829beb148b7bd4c19b72e307a8b11b5c139b03 (patch) | |
| tree | d3f36b3de75722c36b0e4b96e30ff95417bb60d3 /src/main/java/org | |
| parent | 0a4c805808f6470943773bc1fd5333662f9f5c2b (diff) | |
Remove lombok from AssignmentNode
Diffstat (limited to 'src/main/java/org')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/ast/AssignmentNode.java | 56 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/couscous/values/StringValue.java | 4 |
2 files changed, 55 insertions, 5 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java b/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java index 483d4c2..ead783c 100644 --- a/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java +++ b/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java @@ -4,9 +4,6 @@ import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper; import static org.zwobble.couscous.ast.VariableReferenceNode.reference; -import lombok.Value; - -@Value public class AssignmentNode implements ExpressionNode { public static StatementNode assignStatement(AssignableExpressionNode target, ExpressionNode value) { return new ExpressionStatementNode(assign(target, value)); @@ -24,8 +21,21 @@ public class AssignmentNode implements ExpressionNode { return new AssignmentNode(reference(target), value); } - AssignableExpressionNode target; - ExpressionNode value; + private final AssignableExpressionNode target; + private final ExpressionNode value; + + private AssignmentNode(AssignableExpressionNode target, ExpressionNode value) { + this.target = target; + this.value = value; + } + + public AssignableExpressionNode getTarget() { + return target; + } + + public ExpressionNode getValue() { + return value; + } @Override public <T> T accept(ExpressionNodeMapper<T> visitor) { @@ -36,4 +46,40 @@ public class AssignmentNode implements ExpressionNode { public TypeName getType() { return value.getType(); } + + @Override + public String toString() { + return "AssignmentNode(target=" + target + ", value=" + value + ")"; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((target == null) ? 0 : target.hashCode()); + 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; + AssignmentNode other = (AssignmentNode) obj; + if (target == null) { + if (other.target != null) + return false; + } else if (!target.equals(other.target)) + return false; + 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/values/StringValue.java b/src/main/java/org/zwobble/couscous/values/StringValue.java index bd95eb8..b912fd3 100644 --- a/src/main/java/org/zwobble/couscous/values/StringValue.java +++ b/src/main/java/org/zwobble/couscous/values/StringValue.java @@ -6,6 +6,10 @@ import lombok.Value; @Value public class StringValue implements PrimitiveValue { + public static StringValue of(String value) { + return new StringValue(value); + } + public static final TypeName REF = TypeName.of("java.lang.String"); String value; |
