Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 44 lines (34 sloc) 1.466 kB
fccc685 Initial open-source release
MLstate authored
1 (*
2 Copyright © 2011 MLstate
3
4 This file is part of OPA.
5
6 OPA is free software: you can redistribute it and/or modify it under the
7 terms of the GNU Affero General Public License, version 3, as published by
8 the Free Software Foundation.
9
10 OPA is distributed in the hope that it will be useful, but WITHOUT ANY
11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12 FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
13 more details.
14
15 You should have received a copy of the GNU Affero General Public License
16 along with OPA. If not, see <http://www.gnu.org/licenses/>.
17 *)
18 (** Handle [QmlAst.opavalue_directive] and extend corresponding magic
19 function with the specialized function, by toplevel registering.
20
21 For example : [\@stringifier f(x) = ...]
22 is transformed to : {[
23 f(x) = ...
24 _ = OpaValue_add_to_string(f)
25 ]}
26
27 BEWARE : Enrich magic can works only if closures are activated.
28
29 *)
30
31 (** Process the qml code and returns a [map] that bind a generic
32 funtion to specialized functions (see [Pass_SimplifyMagic]),
33 updated [annotmap] and [code]. *)
34 val process_code :
35 stdlib:QmlTypes.gamma ->
36 gamma:QmlTypes.gamma ->
37 annotmap:QmlAst.annotmap ->
38 QmlAst.code ->
39 Pass_SimplifyMagic.env * QmlAst.annotmap * QmlAst.code
40
41 (** Just purge [QmlAst.opavalue_directive]. Usefull if closures are
42 unactivated.*)
43 val just_purge : QmlAst.code -> QmlAst.code
Something went wrong with that request. Please try again.