import edu.neu.ccs.demeter.dj.*; import java.util.*; import edu.neu.ccs.demeter.*; class BuildParentEdgesVisitor extends Visitor { public BuildParentEdgesVisitor() { super(); } public static BuildParentEdgesVisitor parse(java.io.Reader in) throws ParseException { return new Parser(in)._BuildParentEdgesVisitor(); } public static BuildParentEdgesVisitor parse(java.io.InputStream in) throws ParseException { return new Parser(in)._BuildParentEdgesVisitor(); } public static BuildParentEdgesVisitor parse(String s) { try { return parse(new java.io.StringReader(s)); } catch (ParseException e) { throw new RuntimeException(e.toString()); } } public void before(Adjacency a) { // Create TraversalGraph which targets the alternation neighbors. TraversalGraph tg = new TraversalGraph( "from Adjacency bypassing ParentList to Alternat_ns", Main.cg ); Alternat_ns alt = (Alternat_ns) tg.fetch(a); // If alt == null, then this Adjacency is not a superclass, no need // to continue. if (alt != null) { // Iterate through each alternation neighbor. Enumeration e = alt.get_alternat_ns().elements(); while (e.hasMoreElements()) { // sc points to a subclass. Adjacency sc = Main.cdg.search(((Term) e.nextElement()).fetchIdent()); Neighbors_wc wc = (Neighbors_wc) sc.get_ns(); // Add a to sc's list of parents. if (wc.get_parents() != null) { wc.get_parents().get_ps().addElement(a); } else { wc.set_parents(new ParentList()); wc.get_parents().set_ps(new Adjacency_List()); wc.get_parents().get_ps().addElement(a); } } } } 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_); universal_trv0_aft(_v_); } }