core: import edu.neu.ccs.demeter.dj.*; import java.util.*; import java.lang.reflect.*; import edu.neu.ccs.demeter.*; add: class PartGatherVisitor extends MyVisitor { public constructor PartGatherVisitor() {{ super(); }} {{ Set partStorage; PartGatherVisitor(Set store) { partStorage = store; } void before(Regular host) { String name = host.get_vertex().get_vertex().get_vertex_name().toString().toLowerCase().intern(); if (partStorage.contains(name)) //throw new RuntimeException("Part " + name + " already exists!"); System.out.println("Part " + name + " already exists!"); partStorage.add(name); } void before(Labeled host) { String name = host.get_label_name().toString().intern(); if (partStorage.contains(name)) //throw new RuntimeException("Part " + name + " already exists!"); System.out.println("Part " + name + " already exists!"); partStorage.add(name); } }} {{ 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_); } }} }