core: import edu.neu.ccs.demeter.dj.*; import java.util.*; import java.lang.reflect.*; import edu.neu.ccs.demeter.*; add: class FlatteningVisitor extends MyVisitor { public constructor 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_); } }} }