static void Main(string[] args) { List <Elem> typesFiles = new List <Elem>(); Elem el = new Elem(); el.type = "class"; el.name = "A_class"; el.begin = 1; el.end = 10; el.size = 9; el.prog_complexit = 1; typesFiles.Add(el); List <relationelem> relFiles = new List <relationelem>(); relationelem r_el = new relationelem(); r_el.a_class = "A_class"; r_el.b_class = "B_class"; r_el.isInheritance = true; r_el.isAggregation = false; r_el.isComposition = false; relFiles.Add(r_el) xml_class xml_obj = new xml_class(); xml_obj.display(List <Elem> typesFiles, List <relationelem> relFiles); }
public override void doAction(CSsemi.CSemiExp semi) { Repository_types reporel_ = Repository_types.getInstance(); //************************checks for inheritance*********************** if (semi.Contains("inheritance") != -1) { int loc = semi.Contains("inheritance"); if (loc != -1) { Elem e = new Elem(); e.type = semi[loc + 3]; e.name = semi[loc + 1]; repo_.stack.push(e); relationelem r_elem = new relationelem(); r_elem.a_class = semi[loc + 1].ToString(); r_elem.b_class = semi[loc + 2].ToString(); r_elem.isInheritance = true; repo_.classrelations.Add(r_elem); } } //**************************** check for aggregation**************// if (semi.Contains("aggregation") != -1) { int loc = semi.Contains("aggregation"); if (loc != -1) { Elem e = new Elem(); e.type = semi[loc + 2]; e.name = semi[loc + 1]; repo_.stack.push(e); int i = rep.locations.Count; Elem temp = rep.locations[i - 1]; if (semi[1] != temp.name) { relationelem r_elem = new relationelem(); r_elem.a_class = temp.name; r_elem.b_class = semi[1].ToString(); r_elem.isAggregation = true; repo_.classrelations.Add(r_elem); } } } if (AAction.displaySemi) { //Console.Write("\n line# {0,-5}", repo_.semi.lineCount - 1); //Console.Write("entering "); //string indent = new string(' ', 2 * repo_.stack.count); //Console.Write("{0}", indent); //this.display(semi); // defined in abstract action } if (AAction.displayStack) { repo_.stack.display(); } }