summaryrefslogtreecommitdiff
path: root/submit/ast/Return.java
diff options
context:
space:
mode:
Diffstat (limited to 'submit/ast/Return.java')
-rw-r--r--submit/ast/Return.java31
1 files changed, 31 insertions, 0 deletions
diff --git a/submit/ast/Return.java b/submit/ast/Return.java
new file mode 100644
index 0000000..47a8c16
--- /dev/null
+++ b/submit/ast/Return.java
@@ -0,0 +1,31 @@
+/*
+ * Code formatter project
+ * CS 4481
+ */
+package submit.ast;
+
+/**
+ *
+ * @author edwajohn
+ */
+public class Return extends AbstractNode implements Statement {
+
+ private final Expression expr;
+
+ public Return(Expression expr) {
+ this.expr = expr;
+ }
+
+ @Override
+ public void toCminus(StringBuilder builder, String prefix) {
+ builder.append(prefix);
+ if (expr == null) {
+ builder.append("return;\n");
+ } else {
+ builder.append("return ");
+ expr.toCminus(builder, prefix);
+ builder.append(";\n");
+ }
+ }
+
+}