AssignmentTypeEltWrapper.java

package edu.udel.cis.vsl.tass.ast.parser;

import java.io.PrintWriter;
import java.util.Map;

import edu.udel.cis.vsl.tass.ast.IF.expression.AssignmentNodeIF;

class AssignmentTypeEltWrapper implements NodeEltWrapperIF {

    private final AssignmentNodeIF.AST_ASSIGNMENT_TYPE node;

    public AssignmentTypeEltWrapper(AssignmentNodeIF.AST_ASSIGNMENT_TYPE node) {
        this.node = node;
    }

    public void setAttr(int index, NodeEltWrapperIF attr) {
        throw new ParserException("AssignmentTypes have no attributes");
    }

    public void setChild(int index, NodeEltWrapperIF child) {
        throw new ParserException("AssignmentTypes have no children");
    }
    
    public AssignmentNodeIF.AST_ASSIGNMENT_TYPE getNode() {
        return node;
    }

    public void toXml(String prefix,
                      String eltName,
                      IdGenerator idGen,
                      Map<Object,Long> refTable,
                      PrintWriter out) {

        if (!refTable.containsKey(node)) {
            refTable.put(node,idGen.getId());
        }

        out.println(prefix+"<"+eltName+">"+node+"</" + eltName + ">");
    }

}