Newer
Older
AlgebraicDataflowArchitectureModel / AlgebraicDataflowArchitectureModel / src / code / ast / VariableDeclarationStatement.java
package code.ast;

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

public class VariableDeclarationStatement extends Statement {

    private List<Integer> modifiers = new ArrayList<>();
    private Type type;
    private List<VariableDeclaration> fragments = new ArrayList<>();

    public List<Integer> getModifiers() {
        return modifiers;
    }

    public void setModifiers(List<Integer> modifiers) {
        this.modifiers = modifiers;
    }

    public Type getType() {
        return type;
    }

    public void setType(Type type) {
        this.type = type;
    }

    public List<VariableDeclaration> getFragments() {
        return fragments;
    }

    public void setFragments(List<VariableDeclaration> fragments) {
        this.fragments = fragments;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();

        for (Integer mod : modifiers) {
            sb.append(mod.toString()).append(" ");
        }

        if (type != null) {
            sb.append(type.toString()).append(" ");
        }

        for (int i = 0; i < fragments.size(); i++) {
            sb.append(fragments.get(i).getName());
            if (i < fragments.size() - 1) sb.append(", ");
        }

        sb.append(";");
        return sb.toString();
    }
}