From cb964c620ff5d1c26c0bc21c0485099df5e4d432 Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Mon, 29 Oct 2007 17:57:57 +0000 Subject: [PATCH] Added support for the time statements in the usage checker --- transformations/RainUsageCheck.hs | 2 ++ transformations/RainUsageCheckTest.hs | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/transformations/RainUsageCheck.hs b/transformations/RainUsageCheck.hs index e0a9855..4ce4659 100644 --- a/transformations/RainUsageCheck.hs +++ b/transformations/RainUsageCheck.hs @@ -81,6 +81,8 @@ getVarProc (A.Assign _ vars expList) (foldUnionVars (map processVarW vars)) --All variables read on the RHS: (getVarExpList expList) +getVarProc (A.GetTime _ v) = processVarW v +getVarProc (A.Wait _ _ e) = getVarExp e --TODO output input etc (all other processes that directly write to/read from variables) getVarProc _ = emptyVars diff --git a/transformations/RainUsageCheckTest.hs b/transformations/RainUsageCheckTest.hs index c1f9624..2efc4c7 100644 --- a/transformations/RainUsageCheckTest.hs +++ b/transformations/RainUsageCheckTest.hs @@ -76,6 +76,12 @@ testGetVarProc = TestList (map doTest tests) --Test assignments and expressions: ,(200,[tvB],[tvA],[tvA],[],a_eq_not_b) ,(201,[tvC,tvD],[tvA],[tvA],[],a_eq_c_plus_d) + + -- Test time statements: + ,(300,[],[tvB],[tvB],[],A.GetTime emptyMeta vB) + ,(301,[tvA],[],[],[],A.Wait emptyMeta A.WaitFor $ A.ExprVariable emptyMeta vA) + + ] doTest :: (Int,[Var],[Var],[Var],[Var],A.Process) -> Test