aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/mono_util.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2010-04-04 12:29:34 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2010-04-04 12:29:34 -0400
commit6a326e3bb3eb16e04f3cca082f0dd67278e85785 (patch)
tree37d9f6d28314bc020e87c05ec9e7826b5e647d44 /src/mono_util.sml
parent9615454c1218330fc2cdfa6b72af53400fa2b2c4 (diff)
Pushing policies through
Diffstat (limited to 'src/mono_util.sml')
-rw-r--r--src/mono_util.sml14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/mono_util.sml b/src/mono_util.sml
index a75843c4..094f216b 100644
--- a/src/mono_util.sml
+++ b/src/mono_util.sml
@@ -534,6 +534,16 @@ fun mapfoldB {typ = fc, exp = fe, decl = fd, bind} =
S.map2 (mfe ctx e2,
fn e2' =>
(DTask (e1', e2'), loc)))
+ | DPolicy pol =>
+ S.map2 (mfpol ctx pol,
+ fn p' =>
+ (DPolicy p', loc))
+
+ and mfpol ctx pol =
+ case pol of
+ PolQuery e =>
+ S.map2 (mfe ctx e,
+ PolQuery)
and mfvi ctx (x, n, t, e, s) =
S.bind2 (mft t,
@@ -621,6 +631,7 @@ fun mapfoldB (all as {bind, ...}) =
| DCookie _ => ctx
| DStyle _ => ctx
| DTask _ => ctx
+ | DPolicy _ => ctx
in
S.map2 (mff ctx' ds',
fn ds' =>
@@ -674,7 +685,8 @@ val maxName = foldl (fn ((d, _) : decl, count) =>
| DJavaScript _ => count
| DCookie _ => count
| DStyle _ => count
- | DTask _ => count) 0
+ | DTask _ => count
+ | DPolicy _ => count) 0
end