Commit Graph

14 Commits

Author SHA1 Message Date
Neil Brown
3b57d43eb6 Moved more of the checkInitVar tests to the new system 2008-11-19 17:08:17 +00:00
Neil Brown
810c798dac Added some copies of the checkInitVar tests that use the new occam EDSL testing instead of the old method 2008-11-19 16:53:13 +00:00
Neil Brown
0d486f108f Added a value to indicate what type a warning is (to support future configurability) and streamlined the warning functions 2008-11-13 15:36:22 +00:00
Neil Brown
3a5881c14f Added an optional flag to the ESeq edge label, ready to be used to indicate whether a condition was true on this branch or not 2008-06-06 18:34:50 +00:00
Neil Brown
4c5067e8b1 Fixed some Rain tests broken by recent changes 2008-06-06 10:49:29 +00:00
Neil Brown
7e0bc775bf Changed the writtenVars entry of Vars to be a map from variables to (assigned-from) expressions
The expressions are optional (wrapped in a Maybe type)
2008-06-05 20:30:44 +00:00
Neil Brown
d9e8c7fc87 Changed findReachDef to return a map from nodes to expressions rather than previous nodes
The expressions are optional (wrapped in a Maybe type).  Nothing indicates that the variable was written to, but that the value isn't available.  This is usually the case (for example, process parameters, channel inputs).

I have also temporarily disabled the tests for this function
2008-06-05 20:30:06 +00:00
Neil Brown
ba66cce89f Moved all the remaining pass information to be with the passes themselves, and adjusted the tests accordingly
All the passes now have their information (name, pre-requisites and post- properties) stored at the point where the pass is declared, which means the pass lists are just a simple list of pass functions.

The main consequence of this change was that the tests had to be changed.  Now, instead of taking a "pass applied to data" item (type: PassM b), they take both the pass (type: Pass) and source data (type: b), and apply them later.  This was the decision that involved the simplest changes to the existing tests (simply unbracketing the application of the pass to the source).  I also had to include a few old-style versions though (testPass', testPassShouldFail') for where the functions were being used to test things that weren't actually passes (mainly StructureOccam).

Fixes #48
2008-06-02 14:31:19 +00:00
Neil Brown
4ef1ff7196 Changed to a state monad for warnings, and added a runPassM function to remove duplicate code for running passes 2008-04-03 12:21:59 +00:00
Adam Sampson
3283b7db41 Remove the Type/AbbrevMode information from Actual*.
It's redundant, since you can always compute them from the variable, and it
makes the code that deals with actuals rather cleaner.

On the other hand, it slightly complicates some of the tests, because any names
you use in an Actual need to be defined...
2008-03-26 18:16:09 +00:00
Neil Brown
ceafd77c1e Removed Wait, GetTime and AlternativeWait (the old Rain time items) from the AST 2008-03-24 15:15:54 +00:00
Neil Brown
44b1e574f2 Fixed all the warnings in UsageCheckTest 2008-02-25 12:24:39 +00:00
Neil Brown
45fb82f3fd Fixed the tests in UsageCheckTest that had been temporarily commented out 2008-02-25 12:08:59 +00:00
Neil Brown
f4a294e989 Renamed the RainUsageCheckTest module to UsageCheckTest 2008-02-25 10:28:33 +00:00