aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/cjrize.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2009-03-08 13:28:21 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2009-03-08 13:28:21 -0400
commitb691dfb678a18667a623b45111683c480476051b (patch)
treed173044f1a717727f3a58f919b0f11778c4bdb52 /src/cjrize.sml
parent2e6fc0053007f5f1e5560a1457882da0f9256065 (diff)
RPC returning a default datatype
Diffstat (limited to 'src/cjrize.sml')
-rw-r--r--src/cjrize.sml11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/cjrize.sml b/src/cjrize.sml
index 16a82ec8..9d9ab36c 100644
--- a/src/cjrize.sml
+++ b/src/cjrize.sml
@@ -544,15 +544,20 @@ fun cjrize ds =
let
val (dop, pop, sm) = cifyDecl (d, sm)
+ val dsF = case dop of
+ SOME (L'.DDatatype (dk, x, n, _), loc) =>
+ (L'.DDatatypeForward (dk, x, n), loc) :: dsF
+ | _ => dsF
+
+ val dsF = map (fn v => (L'.DStruct v, ErrorMsg.dummySpan)) (Sm.declares sm)
+ @ dsF
+
val (dsF, ds) = case dop of
NONE => (dsF, ds)
| SOME (d as (L'.DDatatype _, loc)) =>
(d :: dsF, ds)
| SOME d => (dsF, d :: ds)
- val dsF = map (fn v => (L'.DStruct v, ErrorMsg.dummySpan)) (Sm.declares sm)
- @ dsF
-
val ps = case pop of
NONE => ps
| SOME p => p :: ps