summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--state.py16
1 files changed, 1 insertions, 15 deletions
diff --git a/state.py b/state.py
index 594b32a..f80b557 100644
--- a/state.py
+++ b/state.py
@@ -61,17 +61,6 @@ class Category:
retval.append((key, self.args[key]))
return tuple(retval)
- def filter(self, other):
- if not other.name == self.name:
- raise TypeError, "States must be the same class"
- args = {}
- for key, value in other.args.iteritems():
- if value != None or not self.args.has_key(key):
- args[key] = value
- else:
- args[key] = self.args[key]
- return Category(self.name, **args)
-
def fill(self, info):
args = {}
for key, value in self.args.iteritems():
@@ -81,9 +70,6 @@ class Category:
args[key] = info[key]
return Category(self.name, **args)
- def is_finite(self):
- return not None in self.args.values()
-
class StateMachine:
def __init__(self):
self.holds = {}
@@ -140,7 +126,7 @@ class StateMachine:
retval = []
for (x, y) in self.deps:
if x.equiv(cat):
- retval.append(y.fill(cat.filter(x).args))
+ retval.append(y.fill(cat.intersect(x).args))
return retval
if __name__ == "__main__":