aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-10-06 16:24:37 +0100
committerMichael Williamson <mike@zwobble.org>2015-10-06 16:24:37 +0100
commite6f463257720bee91a1b4954d97684dbb3398cbf (patch)
treec8d1f04dfe8928d33361108aefee7e7572dae1c7 /src/main/java/org/zwobble/couscous/ast/AssignmentNode.java
parent9685c8fb7fa14d5b75d828f8443dd948715ac4af (diff)
Add support for constructors and fields
Diffstat (limited to 'src/main/java/org/zwobble/couscous/ast/AssignmentNode.java')
-rw-r--r--src/main/java/org/zwobble/couscous/ast/AssignmentNode.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java b/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java
index d7ea09f..483d4c2 100644
--- a/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/AssignmentNode.java
@@ -8,11 +8,23 @@ import lombok.Value;
@Value
public class AssignmentNode implements ExpressionNode {
+ public static StatementNode assignStatement(AssignableExpressionNode target, ExpressionNode value) {
+ return new ExpressionStatementNode(assign(target, value));
+ }
+
+ public static AssignmentNode assign(AssignableExpressionNode target, ExpressionNode value) {
+ return new AssignmentNode(target, value);
+ }
+
+ public static StatementNode assignStatement(VariableNode target, ExpressionNode value) {
+ return new ExpressionStatementNode(assign(target, value));
+ }
+
public static AssignmentNode assign(VariableNode target, ExpressionNode value) {
return new AssignmentNode(reference(target), value);
}
- VariableReferenceNode target;
+ AssignableExpressionNode target;
ExpressionNode value;
@Override