summaryrefslogtreecommitdiff
path: root/Homework/cs5300/compiler/submit/ast/Param.java
diff options
context:
space:
mode:
Diffstat (limited to 'Homework/cs5300/compiler/submit/ast/Param.java')
-rw-r--r--Homework/cs5300/compiler/submit/ast/Param.java43
1 files changed, 43 insertions, 0 deletions
diff --git a/Homework/cs5300/compiler/submit/ast/Param.java b/Homework/cs5300/compiler/submit/ast/Param.java
new file mode 100644
index 0000000..215bdb6
--- /dev/null
+++ b/Homework/cs5300/compiler/submit/ast/Param.java
@@ -0,0 +1,43 @@
+/*
+ * Code formatter project
+ * CS 4481
+ */
+package submit.ast;
+
+/**
+ *
+ * @author edwajohn
+ */
+public class Param implements Node {
+
+ private final VarType type;
+ private final String id;
+ private final boolean array;
+
+ public Param(VarType type, String id, boolean array) {
+ this.type = type;
+ this.id = id;
+ this.array = array;
+ }
+
+ public VarType getType() {
+ return type;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public boolean isArray() {
+ return array;
+ }
+
+ public void toCminus(StringBuilder builder, final String prefix) {
+ if (isArray()) {
+ builder.append(type).append(" ").append(id).append("[]");
+ } else {
+ builder.append(type).append(" ").append(id);
+ }
+ }
+
+}