def case_stmt(self, stmt, p_elem, pset): celem = SchemaNode.case(p_elem) if p_elem.default_case != stmt.arg: celem.occur = 3 plist, new_pset = self.select_patch(pset, stmt.arg) for s in plist: self.handle_stmt(s, celem, new_pset) self.handle_substmts(stmt, celem, new_pset)
def case_stmt(self, stmt, p_elem, pset): celem = SchemaNode.case(p_elem) if p_elem.default_case != stmt.arg: celem.occur = 3 refd, augs, new_pset = self.process_patches(pset, stmt, celem) left = self.lookup_expand(stmt, new_pset.keys()) for a in augs: left = self.lookup_expand(a, left) self.handle_substmts(stmt, celem, new_pset) self.apply_augments(augs, celem, new_pset) if not celem.children: celem.subnode(SchemaNode("empty"))