package com.seaofnodes.simple.node; import com.seaofnodes.print.ExprPrinter; import com.seaofnodes.simple.type.Type; import java.io.ByteArrayOutputStream; // Generic machine-specific class, has a few Node implementations that have to // exist (abstract) but are not useful past the optimizer. public abstract class MachConcreteNode extends Node implements MachNode { public MachConcreteNode(Node node) { super(node); } public MachConcreteNode(Node[]nodes) { super(nodes); } @Override public String label() { return op(); } @Override public Type compute () { throw new AssertionError("Do not call compute on "+getClass().getSimpleName()); } @Override public Node idealize() { throw new AssertionError("Do not call idealize on "+getClass().getSimpleName()); } @Override protected ExprPrinter _print1(ExprPrinter p) { p.open().p(op()).p(","); for( int i=1; i