summaryrefslogtreecommitdiff
path: root/src/cjrize.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2013-03-15 16:09:55 -0400
committerGravatar Adam Chlipala <adam@chlipala.net>2013-03-15 16:09:55 -0400
commit3d21914a4b831ee9c727dd4296e56961c1e4ea89 (patch)
tree23527da3ec268f47015698c307c3d19f5c35b594 /src/cjrize.sml
parent76e5e75ab203b7a8b7701b9d3e496653bd213345 (diff)
Make Scriptcheck catch more script/message-passing uses, and move the phase earlier in compilation
Diffstat (limited to 'src/cjrize.sml')
-rw-r--r--src/cjrize.sml9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/cjrize.sml b/src/cjrize.sml
index 9e41fda4..0f4bdb42 100644
--- a/src/cjrize.sml
+++ b/src/cjrize.sml
@@ -694,7 +694,7 @@ fun cifyDecl ((d, loc), sm) =
| L.DPolicy _ => (NONE, NONE, sm)
| L.DOnError n => (SOME (L'.DOnError n, loc), NONE, sm)
-fun cjrize ds =
+fun cjrize (ds, sideInfo) =
let
val (dsF, ds, ps, sm) = foldl (fn (d, (dsF, ds, ps, sm)) =>
let
@@ -722,6 +722,13 @@ fun cjrize ds =
(dsF, ds, ps, Sm.clearDeclares sm)
end)
([], [], [], Sm.empty) ds
+
+ val sideInfo = foldl (fn ((n, mode), mp) => IM.insert (mp, n, mode)) IM.empty sideInfo
+
+ val ps = map (fn (ek, s, n, ts, t, _, b) =>
+ (ek, s, n, ts, t,
+ getOpt (IM.find (sideInfo, n), L'.ServerOnly),
+ b)) ps
in
(List.revAppend (dsF, rev ds),
ps)