core: import edu.neu.ccs.demeter.dj.*; import java.util.*; import edu.neu.ccs.demeter.*; add: class Cd_graph { protected GlobalImports globalimports; public GlobalImports get_globalimports() {{ return globalimports; }} public void set_globalimports(GlobalImports new_globalimports) {{ globalimports = new_globalimports; }} protected Adjacency_Nlist adjacencies; public Adjacency_Nlist get_adjacencies() {{ return adjacencies; }} public void set_adjacencies(Adjacency_Nlist new_adjacencies) {{ adjacencies = new_adjacencies; }} public constructor Cd_graph() {{ super(); }} public constructor Cd_graph(GlobalImports globalimports, Adjacency_Nlist adjacencies) {{ super(); set_globalimports(globalimports); set_adjacencies(adjacencies); }} public static Cd_graph parse(java.io.Reader in) throws ParseException {{ return new Parser(in)._Cd_graph(); }} public static Cd_graph parse(java.io.InputStream in) throws ParseException {{ return new Parser(in)._Cd_graph(); }} public static Cd_graph parse(String s) {{ try { return parse(new java.io.StringReader(s)); } catch (ParseException e) { throw new RuntimeException(e.toString()); } }} void display() {{ DisplayVisitor v0 = new DisplayVisitor(); v0.start(); __trav_display(v0); v0.finish(); }} void checkDefinedClasses() {{ HashSet classes = this.collectClasses(); this.checkDefined( classes ); }} HashSet collectClasses() {{ __V_Cd_graph_collectClasses v0 = new __V_Cd_graph_collectClasses(); v0.start(); __trav_collectClasses(v0); v0.finish(); return v0.get_return_val(); }} HashSet checkDefined(HashSet classes) {{ __V_Cd_graph_checkDefined v0 = new __V_Cd_graph_checkDefined(); v0.set_classes(classes); v0.start(); __trav_checkDefined(v0); v0.finish(); return v0.get_return_val(); }} public void uniqueparts() {{ __V_Cd_graph_uniqueparts v0 = new __V_Cd_graph_uniqueparts(); v0.start(); __trav_uniqueparts(v0); v0.finish(); }} {{ HashSet checked_set = new HashSet(); }} boolean cycle_check() {{ __V_Cd_graph_cycle_check v0 = new __V_Cd_graph_cycle_check(); v0.start(); __trav_cycle_check(v0); v0.finish(); return v0.get_return_val(); }} public void check_for_inheritence(HashMap Classes) {{ __V_Cd_graph_check_for_inheritence v0 = new __V_Cd_graph_check_for_inheritence(); v0.set_Classes(Classes); v0.start(); __trav_check_for_inheritence(v0); v0.finish(); }} public HashMap get_SuperClasses() {{ __V_Cd_graph_get_SuperClasses v0 = new __V_Cd_graph_get_SuperClasses(); v0.start(); __trav_get_SuperClasses(v0); v0.finish(); return v0.get_return_val(); }} void flatten() {{ __V_Cd_graph_flatten v0 = new __V_Cd_graph_flatten(); v0.start(); __trav_flatten(v0); v0.finish(); }} {{ void universal_trv0_bef(UniversalVisitor _v_) { ((UniversalVisitor) _v_).before(this); } }} {{ void universal_trv0_aft(UniversalVisitor _v_) { ((UniversalVisitor) _v_).after(this); } }} {{ void universal_trv0(UniversalVisitor _v_) { universal_trv0_bef(_v_); ((UniversalVisitor) _v_).before_globalimports(this, globalimports); globalimports.universal_trv0(_v_); ((UniversalVisitor) _v_).after_globalimports(this, globalimports); ((UniversalVisitor) _v_).before_adjacencies(this, adjacencies); adjacencies.universal_trv0(_v_); ((UniversalVisitor) _v_).after_adjacencies(this, adjacencies); universal_trv0_aft(_v_); } }} {{ public void __trav_display(DisplayVisitor __v0) { __trav_display_Cd_graph_trv(__v0); } }} {{ void __trav_display_Cd_graph_trv_bef(DisplayVisitor __v0) { ((DisplayVisitor) __v0).before(this); } }} {{ void __trav_display_Cd_graph_trv_aft(DisplayVisitor __v0) { ((DisplayVisitor) __v0).after(this); } }} {{ void __trav_display_Cd_graph_trv(DisplayVisitor __v0) { __trav_display_Cd_graph_trv_bef(__v0); ((DisplayVisitor) __v0).before_globalimports(this, globalimports); globalimports.__trav_display_Cd_graph_trv(__v0); ((UniversalVisitor) __v0).after_globalimports(this, globalimports); ((DisplayVisitor) __v0).before_adjacencies(this, adjacencies); adjacencies.__trav_display_Cd_graph_trv(__v0); ((UniversalVisitor) __v0).after_adjacencies(this, adjacencies); __trav_display_Cd_graph_trv_aft(__v0); } }} {{ public void __trav_collectClasses(__V_Cd_graph_collectClasses __v0) { __trav_collectClasses_Cd_graph_trv(__v0); } }} {{ void __trav_collectClasses_Cd_graph_trv_bef(__V_Cd_graph_collectClasses __v0) { } }} {{ void __trav_collectClasses_Cd_graph_trv_aft(__V_Cd_graph_collectClasses __v0) { ((__V_Cd_graph_collectClasses) __v0).after(this); } }} {{ void __trav_collectClasses_Cd_graph_trv(__V_Cd_graph_collectClasses __v0) { __trav_collectClasses_Cd_graph_trv_bef(__v0); adjacencies.__trav_collectClasses_Cd_graph_trv(__v0); __trav_collectClasses_Cd_graph_trv_aft(__v0); } }} {{ public void __trav_checkDefined(__V_Cd_graph_checkDefined __v0) { java.util.BitSet startSet = new java.util.BitSet(); startSet.set(0); __trav_checkDefined_Cd_graph_trv(startSet, __v0); } }} {{ void __trav_checkDefined_Cd_graph_trv_bef(__V_Cd_graph_checkDefined __v0) { } }} {{ void __trav_checkDefined_Cd_graph_trv_aft(__V_Cd_graph_checkDefined __v0) { } }} {{ void __trav_checkDefined_Cd_graph_trv(java.util.BitSet nodes, __V_Cd_graph_checkDefined __v0) { __trav_checkDefined_Cd_graph_trv_bef(__v0); { java.util.BitSet newnodes = new java.util.BitSet(); newnodes.set(0); newnodes.and(nodes); if (!newnodes.equals(new java.util.BitSet())) { adjacencies.__trav_checkDefined_Cd_graph_trv(newnodes, __v0); } } __trav_checkDefined_Cd_graph_trv_aft(__v0); } }} {{ public void __trav_uniqueparts(__V_Cd_graph_uniqueparts __v0) { java.util.BitSet startSet = new java.util.BitSet(); startSet.set(0); __trav_uniqueparts_Cd_graph_trv(startSet, __v0); } }} {{ void __trav_uniqueparts_Cd_graph_trv_bef(__V_Cd_graph_uniqueparts __v0) { } }} {{ void __trav_uniqueparts_Cd_graph_trv_aft(__V_Cd_graph_uniqueparts __v0) { } }} {{ void __trav_uniqueparts_Cd_graph_trv(java.util.BitSet nodes, __V_Cd_graph_uniqueparts __v0) { __trav_uniqueparts_Cd_graph_trv_bef(__v0); { java.util.BitSet newnodes = new java.util.BitSet(); newnodes.set(0); newnodes.and(nodes); if (!newnodes.equals(new java.util.BitSet())) { adjacencies.__trav_uniqueparts_Cd_graph_trv(newnodes, __v0); } } __trav_uniqueparts_Cd_graph_trv_aft(__v0); } }} {{ public void __trav_cycle_check(__V_Cd_graph_cycle_check __v0) { __trav_cycle_check_Cd_graph_trv(__v0); } }} {{ void __trav_cycle_check_Cd_graph_trv_bef(__V_Cd_graph_cycle_check __v0) { ((__V_Cd_graph_cycle_check) __v0).before(this); } }} {{ void __trav_cycle_check_Cd_graph_trv_aft(__V_Cd_graph_cycle_check __v0) { } }} {{ void __trav_cycle_check_Cd_graph_trv(__V_Cd_graph_cycle_check __v0) { __trav_cycle_check_Cd_graph_trv_bef(__v0); adjacencies.__trav_cycle_check_Cd_graph_trv(__v0); __trav_cycle_check_Cd_graph_trv_aft(__v0); } }} {{ public void __trav_check_for_inheritence(__V_Cd_graph_check_for_inheritence __v0) { java.util.BitSet startSet = new java.util.BitSet(); startSet.set(0); __trav_check_for_inheritence_Cd_graph_trv(startSet, __v0); } }} {{ void __trav_check_for_inheritence_Cd_graph_trv_bef(__V_Cd_graph_check_for_inheritence __v0) { } }} {{ void __trav_check_for_inheritence_Cd_graph_trv_aft(__V_Cd_graph_check_for_inheritence __v0) { } }} {{ void __trav_check_for_inheritence_Cd_graph_trv(java.util.BitSet nodes, __V_Cd_graph_check_for_inheritence __v0) { __trav_check_for_inheritence_Cd_graph_trv_bef(__v0); { java.util.BitSet newnodes = new java.util.BitSet(); newnodes.set(0); newnodes.and(nodes); if (!newnodes.equals(new java.util.BitSet())) { adjacencies.__trav_check_for_inheritence_Cd_graph_trv(newnodes, __v0); } } __trav_check_for_inheritence_Cd_graph_trv_aft(__v0); } }} {{ public void __trav_get_SuperClasses(__V_Cd_graph_get_SuperClasses __v0) { java.util.BitSet startSet = new java.util.BitSet(); startSet.set(0); __trav_get_SuperClasses_Cd_graph_trv(startSet, __v0); } }} {{ void __trav_get_SuperClasses_Cd_graph_trv_bef(__V_Cd_graph_get_SuperClasses __v0) { } }} {{ void __trav_get_SuperClasses_Cd_graph_trv_aft(__V_Cd_graph_get_SuperClasses __v0) { ((__V_Cd_graph_get_SuperClasses) __v0).after(this); } }} {{ void __trav_get_SuperClasses_Cd_graph_trv(java.util.BitSet nodes, __V_Cd_graph_get_SuperClasses __v0) { __trav_get_SuperClasses_Cd_graph_trv_bef(__v0); { java.util.BitSet newnodes = new java.util.BitSet(); newnodes.set(0); newnodes.and(nodes); if (!newnodes.equals(new java.util.BitSet())) { adjacencies.__trav_get_SuperClasses_Cd_graph_trv(newnodes, __v0); } } __trav_get_SuperClasses_Cd_graph_trv_aft(__v0); } }} {{ public void __trav_flatten(__V_Cd_graph_flatten __v0) { __trav_flatten_Cd_graph_trv(__v0); } }} {{ void __trav_flatten_Cd_graph_trv_bef(__V_Cd_graph_flatten __v0) { } }} {{ void __trav_flatten_Cd_graph_trv_aft(__V_Cd_graph_flatten __v0) { } }} {{ void __trav_flatten_Cd_graph_trv(__V_Cd_graph_flatten __v0) { __trav_flatten_Cd_graph_trv_bef(__v0); adjacencies.__trav_flatten_Cd_graph_trv(__v0); __trav_flatten_Cd_graph_trv_aft(__v0); } }} }