summaryrefslogtreecommitdiff
path: root/Homework/cs5300/p4-formatter/submit/ast/UnaryExpression.java
blob: 0efdb131736693dcd58147da8176d5bdf9240732 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package submit.ast;

import java.util.ArrayList;
import java.util.List;

public class UnaryExpression implements Expression {
    private ArrayList<String> unaryOperators;
    private Factor factor;

    public UnaryExpression(List<String> unaryOperators, Factor factor) {
        this.unaryOperators = new ArrayList<>(unaryOperators);
        this.factor = factor;
    }

    @Override
    public void toCminus(StringBuilder builder, String prefix) {
        builder.append(prefix);
        for (String unaryOperator : unaryOperators)
            builder.append(unaryOperator);
        factor.toCminus(builder, "");
    }
}