diff options
author | Adam Chlipala <adamc@hcoop.net> | 2009-03-08 13:28:21 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2009-03-08 13:28:21 -0400 |
commit | b691dfb678a18667a623b45111683c480476051b (patch) | |
tree | d173044f1a717727f3a58f919b0f11778c4bdb52 /src/cjrize.sml | |
parent | 2e6fc0053007f5f1e5560a1457882da0f9256065 (diff) |
RPC returning a default datatype
Diffstat (limited to 'src/cjrize.sml')
-rw-r--r-- | src/cjrize.sml | 11 |
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 |