import edu.neu.ccs.demeter.dj.*; import java.util.*; import java.lang.reflect.*; import edu.neu.ccs.demeter.*; class FlatteningVisitor extends MyVisitor { public FlatteningVisitor() { super(); } void before(Adjacency host) { // System.out.println("Flattening "+ host.getName()); } void after(Adjacency host) { // System.out.println("Flattening of " + host.getName() + " is complete!"); } void before(Construct_ns host) { host.getParts(); host.flatten(); } void before(Alternat_ns host) { host.getParts(); host.flatten(); } void universal_trv0_bef(UniversalVisitor _v_) { super.universal_trv0_bef(_v_); ((UniversalVisitor) _v_).before(this); } void universal_trv0_aft(UniversalVisitor _v_) { ((UniversalVisitor) _v_).after(this); super.universal_trv0_aft(_v_); } void universal_trv0(UniversalVisitor _v_) { universal_trv0_bef(_v_); super.universal_trv0(_v_); universal_trv0_aft(_v_); } }