import edu.neu.ccs.demeter.dj.*; import java.util.*; import edu.neu.ccs.demeter.*; class FindPartVisitor extends Visitor { protected ClassInfo list; public ClassInfo get_list() { return list; } public void set_list(ClassInfo new_list) { list = new_list; } public FindPartVisitor() { super(); } public FindPartVisitor(ClassInfo list) { super(); set_list(list); } public static FindPartVisitor parse(java.io.Reader in) throws ParseException { return new Parser(in)._FindPartVisitor(); } public static FindPartVisitor parse(java.io.InputStream in) throws ParseException { return new Parser(in)._FindPartVisitor(); } public static FindPartVisitor parse(String s) { try { return parse(new java.io.StringReader(s)); } catch (ParseException e) { throw new RuntimeException(e.toString()); } } Ident partname; void before (Adjacency host){ partname = null; } void before (Vertex host){ Ident n = host.get_vertex_name(); ClassDefList comlist = list.get_parameter(); ClassInfo result; if(comlist != null){ FindUCVisitor cV = new FindUCVisitor(n); result = (ClassInfo)Cd_graph.tg_list.traverse(comlist,cV); if(result == null) result = Cd_graph.check_undefined(n); } else result = Cd_graph.check_undefined(n); if (result != null){ if(list.get_partclass() == null) list.set_partclass(new PartInfo_List()); PartInfo pi = new PartInfo(); PartName p = new PartName(); if(partname != null) p.set_ident(partname); else { String s = n.toString(); String ss = s.substring(0,1); ss = ss.toLowerCase(); s = s.substring(1); ss = ss + s ; Ident m = new Ident(ss); p.set_ident(m); } pi.set_partname(p); pi.set_classname(result); list.get_partclass().addElement(pi); } partname = null; } void before( Labeled host){ partname = host.get_label_name(); } 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_list(this, list); list.universal_trv0(_v_); ((UniversalVisitor) _v_).after_list(this, list); universal_trv0_aft(_v_); } }