E&S CVS Commit: PyProtocols - Begin prep for pred. abstraction and pattern matching. 'ITest' objects

pje at eby-sarna.com pje at eby-sarna.com
Sat Jan 1 12:12:00 EST 2005


Module Name:	PyProtocols
Committed By:	pje
Date:		Sat Jan  1 17:11:34 UTC 2005

Modified Files:
	PyProtocols/src/dispatch: functions.py interfaces.py predicates.py
	    strategy.py
	PyProtocols/src/protocols/tests: test_dispatch.py test_parsing.py

Log Message:
Begin prep for pred. abstraction and pattern matching.  'ITest' objects
must now have 'appliedTo(expr)' and '__invert__()' methods.  The former
handles conversion of an expression+test to an ISignature or
IDispatchablePredicate, so that predicate abstractions and patterns can
expand into something more complex than just a single-item signature.
The '__invert__()' method is now used instead of NotTest as the normal
mechanism for inverting an ITest, so that NotTest doesn't have to know
how to invert arbitrary predicate abstractions.  There are no functional
changes in this checkin; these are simply refactorings of existing
functionality to make later additions easier.


To view diffs of this commit, you can use the following URL(s):
http://cvs.eby-sarna.com/PyProtocols/src/dispatch/functions.py.diff?r1=1.16&r2=1.17
http://cvs.eby-sarna.com/PyProtocols/src/dispatch/interfaces.py.diff?r1=1.9&r2=1.10
http://cvs.eby-sarna.com/PyProtocols/src/dispatch/predicates.py.diff?r1=1.7&r2=1.8
http://cvs.eby-sarna.com/PyProtocols/src/dispatch/strategy.py.diff?r1=1.8&r2=1.9
http://cvs.eby-sarna.com/PyProtocols/src/protocols/tests/test_dispatch.py.diff?r1=1.23&r2=1.24
http://cvs.eby-sarna.com/PyProtocols/src/protocols/tests/test_parsing.py.diff?r1=1.15&r2=1.16

To generate a diff of this commit:
cvs rdiff -r1.16 -r1.17 PyProtocols/src/dispatch/functions.py
cvs rdiff -r1.9 -r1.10 PyProtocols/src/dispatch/interfaces.py
cvs rdiff -r1.7 -r1.8 PyProtocols/src/dispatch/predicates.py
cvs rdiff -r1.8 -r1.9 PyProtocols/src/dispatch/strategy.py
cvs rdiff -r1.23 -r1.24 PyProtocols/src/protocols/tests/test_dispatch.py
cvs rdiff -r1.15 -r1.16 PyProtocols/src/protocols/tests/test_parsing.py

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




More information about the source-changes mailing list