aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/jscomp.sml
diff options
context:
space:
mode:
authorGravatar Ziv Scully <ziv@mit.edu>2014-11-29 03:37:59 -0500
committerGravatar Ziv Scully <ziv@mit.edu>2014-11-29 03:37:59 -0500
commit476f12674420391e24afd1846e176eabe550d36c (patch)
tree005dcd53b84f29711c04508a9202f6c8e03c87c8 /src/jscomp.sml
parentb59e6e96601c09bd97a4cce881c9b9f8bf8816a3 (diff)
Basic field-resolution invalidation.
Diffstat (limited to 'src/jscomp.sml')
-rw-r--r--src/jscomp.sml19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/jscomp.sml b/src/jscomp.sml
index 1a476739..a4ee95f0 100644
--- a/src/jscomp.sml
+++ b/src/jscomp.sml
@@ -16,7 +16,7 @@
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
@@ -195,7 +195,7 @@ fun process (file : file) =
str loc "}"])],
{disc = t, result = s}), loc)
val body = (EAbs ("x", t, s, body), loc)
-
+
val st = {decls = ("jsify", n', (TFun (t, s), loc),
body, "jsify") :: #decls st,
script = #script st,
@@ -575,7 +575,7 @@ fun process (file : file) =
val e = String.translate (fn #"'" => "\\'"
| #"\\" => "\\\\"
| ch => String.str ch) e
-
+
val sc = "urfuncs[" ^ Int.toString n ^ "] = {c:\"t\",f:'"
^ e ^ "'};\n"
in
@@ -799,7 +799,7 @@ fun process (file : file) =
| _ => default ()
in
seek (e', [x])
- end
+ end
| ECase (e', pes, _) =>
let
@@ -1030,7 +1030,7 @@ fun process (file : file) =
| ERel _ => (e, st)
| ENamed _ => (e, st)
| ECon (_, _, NONE) => (e, st)
- | ECon (dk, pc, SOME e) =>
+ | ECon (dk, pc, SOME e) =>
let
val (e, st) = exp outer (e, st)
in
@@ -1082,7 +1082,7 @@ fun process (file : file) =
in
((EBinop (bi, s, e1, e2), loc), st)
end
-
+
| ERecord xets =>
let
val (xets, st) = ListUtil.foldlMap (fn ((x, e, t), st) =>
@@ -1176,7 +1176,7 @@ fun process (file : file) =
((EClosure (n, es), loc), st)
end
- | EQuery {exps, tables, state, query, body, initial} =>
+ | EQuery {exps, tables, state, query, body, initial, sqlcacheInfo} =>
let
val row = exps @ map (fn (x, xts) => (x, (TRecord xts, loc))) tables
val row = ListMergeSort.sort (fn ((x, _), (y, _)) => String.compare (x, y) = GREATER) row
@@ -1187,7 +1187,8 @@ fun process (file : file) =
val (initial, st) = exp outer (initial, st)
in
((EQuery {exps = exps, tables = tables, state = state,
- query = query, body = body, initial = initial}, loc), st)
+ query = query, body = body, initial = initial,
+ sqlcacheInfo = sqlcacheInfo}, loc), st)
end
| EDml (e, mode) =>
let
@@ -1257,7 +1258,7 @@ fun process (file : file) =
in
((ESignalSource e, loc), st)
end
-
+
| EServerCall (e1, t, ef, fm) =>
let
val (e1, st) = exp outer (e1, st)