// // Unique Parts Check // Cd_graph { void check_unique() to Adjacency { before Adjacency {{ host.check_parts(); }} } } Adjacency { /* * Check each class for repeat constructs. * If construct is Labeled, check against labeled name. * If construct is Regular, check against lower case version of class name. */ void check_parts() to {Regular,Labeled} { {{ HashSet s; String adj_name; }} init {{ s = new HashSet(); }} before Adjacency {{ adj_name = host.get_source_name(); }} before Regular {{ if (s.contains(host.get_class_name().toLowerCase())) { System.out.println("ERROR: Class " + adj_name + " already contains a part named " + host.get_class_name().toLowerCase()); } else s.add(host.get_class_name().toLowerCase()); //System.out.println("Hello"); }} before Labeled {{ if (s.contains(host.get_label_name().toString())) { System.out.println("ERROR: Class " + adj_name + " already contains a part named " + host.get_label_name()); } else s.add(host.get_label_name().toString()); }} } }