summaryrefslogtreecommitdiff
path: root/src/effectize.sml
diff options
context:
space:
mode:
Diffstat (limited to 'src/effectize.sml')
-rw-r--r--src/effectize.sml9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/effectize.sml b/src/effectize.sml
index 7f148476..4601f301 100644
--- a/src/effectize.sml
+++ b/src/effectize.sml
@@ -168,6 +168,15 @@ fun effectize file =
else
ReadOnly), n, IM.inDomain (pushers, n)), #2 d),
evs)
+ | DExport (Extern _, n, _) =>
+ ((DExport (Extern (if IM.inDomain (writers, n) then
+ if IM.inDomain (readers, n) then
+ ReadCookieWrite
+ else
+ ReadWrite
+ else
+ ReadOnly), n, IM.inDomain (pushers, n)), #2 d),
+ evs)
| _ => (d, evs)
val (file, _) = ListUtil.foldlMap doDecl (IM.empty, IM.empty, IM.empty) file