Franck Pommereau

better fix for MultiArcs

...@@ -1182,7 +1182,7 @@ class MultiArc (ArcAnnotation) : ...@@ -1182,7 +1182,7 @@ class MultiArc (ArcAnnotation) :
1182 @type binding: `Substitution` 1182 @type binding: `Substitution`
1183 @return: a tuple of value 1183 @return: a tuple of value
1184 """ 1184 """
1185 - return tuple(c.bind(binding) for c in self) 1185 + return tuple(t for c in self for t in iterate(c.bind(binding)))
1186 def modes (self, values) : 1186 def modes (self, values) :
1187 """Return the list of modes under which an arc with the 1187 """Return the list of modes under which an arc with the
1188 annotation may flow the tokens in `values`. Each mode is a 1188 annotation may flow the tokens in `values`. Each mode is a
...@@ -2435,12 +2435,12 @@ class Transition (Node) : ...@@ -2435,12 +2435,12 @@ class Transition (Node) :
2435 if input : 2435 if input :
2436 for place, label in self.input() : 2436 for place, label in self.input() :
2437 try : 2437 try :
2438 - place.check(v for v in iterate(label.flow(binding))) 2438 + place.check(v.value for v in iterate(label.bind(binding)))
2439 except ValueError : 2439 except ValueError :
2440 return False 2440 return False
2441 for place, label in self.output() : 2441 for place, label in self.output() :
2442 try : 2442 try :
2443 - place.check(v for v in iterate(label.flow(binding))) 2443 + place.check(v.value for v in iterate(label.bind(binding)))
2444 except ValueError : 2444 except ValueError :
2445 return False 2445 return False
2446 return True 2446 return True
......