def push_globalchoice(self, node_): clone = self.push(node_) # Superclass method # Section 4.6.6 -- every role except the at-role must occur in a # receiver position (it must receive an "initial operator") before # occurring in a non-receiver position clone._enabled_roles = {} subj = globalchoice_get_subject(node_) clone = clone.enable_role(subj, globalchoice_DUMMY_ENABLING_OP) return clone
def _visit_globalchoice(self, node_): self.roles.add(globalchoice_get_subject(node_)) # although if well-formed, subject necessarily appears in the choice return node_