diff options
Diffstat (limited to 'Homework/cs5300/compiler/p5-compiler/submit/ast/Param.java')
| -rw-r--r-- | Homework/cs5300/compiler/p5-compiler/submit/ast/Param.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/Homework/cs5300/compiler/p5-compiler/submit/ast/Param.java b/Homework/cs5300/compiler/p5-compiler/submit/ast/Param.java new file mode 100644 index 0000000..921b179 --- /dev/null +++ b/Homework/cs5300/compiler/p5-compiler/submit/ast/Param.java @@ -0,0 +1,36 @@ +/* + * Code formatter project + * CS 4481 + */ +package submit.ast; + +/** + * + * @author edwajohn + */ +public class Param extends AbstractNode 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); + } + } +} |
