Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 57 lines (48 sloc) 3.064 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 (**
19 A few utils to refresh types, annotations and anything that cannot be unmarshalled safely
20 *)
21 val find_t : ObjectFiles.Package.t -> QmlAst.TypeVar.t -> QmlAst.TypeVar.t
22 val find_r : ObjectFiles.Package.t -> QmlAst.RowVar.t -> QmlAst.RowVar.t
23 val find_c : ObjectFiles.Package.t -> QmlAst.ColVar.t -> QmlAst.ColVar.t
24 val refresh_typevars_from_ty : ObjectFiles.Package.t -> QmlAst.ty -> QmlAst.ty
25 val refresh_typevars_from_expr : ObjectFiles.Package.t -> QmlAst.expr -> QmlAst.expr
26 val refresh_typevars_from_tsc : ObjectFiles.Package.t -> (QmlAst.ty, unit) QmlGenericScheme.tsc -> (QmlAst.ty, unit) QmlGenericScheme.tsc
27 val refresh_typevars_from_code : ObjectFiles.Package.t -> QmlAst.code -> QmlAst.code
28 val refresh_gamma : ObjectFiles.Package.t -> QmlTypes.gamma -> QmlTypes.gamma
29 val refresh_expr : ObjectFiles.Package.t -> annotmap_old:QmlAst.annotmap -> QmlAst.annotmap -> QmlAst.expr -> QmlAst.annotmap * QmlAst.expr
30 val refresh_annotmap : ObjectFiles.Package.t -> QmlAst.annotmap -> QmlAst.annotmap
31 val refresh_schema : ObjectFiles.Package.t -> annotmap_old:QmlAst.annotmap -> QmlAst.annotmap -> QmlDbGen.Schema.t -> QmlAst.annotmap * QmlDbGen.Schema.t
32 val refresh_schema2 : ObjectFiles.Package.t -> refreshed_annotmap_old:QmlAst.annotmap -> QmlAst.annotmap -> QmlDbGen.Schema.t -> QmlAst.annotmap * QmlDbGen.Schema.t
33 val refresh_expr_no_annotmap : ObjectFiles.Package.t -> QmlAst.expr -> QmlAst.expr
34
35 val refresh_pat : ObjectFiles.Package.t -> annotmap_old:QmlAst.annotmap -> QmlAst.annotmap -> QmlAst.pat -> QmlAst.annotmap * QmlAst.pat
36
37 (*val restrict_annotmap_gen : ('acc -> 'expr -> 'acc) -> annotmap -> 'expr -> annotmap*)
38 val restrict_annotmap_expr : QmlAst.annotmap -> ?acc:QmlAst.annotmap -> QmlAst.expr -> QmlAst.annotmap
39 val restrict_annotmap_fold_expr :
40 ((QmlAst.annotmap -> QmlAst.expr -> QmlAst.annotmap) ->
41 (QmlAst.annotmap -> 't -> QmlAst.annotmap)) ->
42 QmlAst.annotmap -> ?acc:QmlAst.annotmap -> 't -> QmlAst.annotmap
43
44 val restrict_annotmap_pat : QmlAst.annotmap -> ?acc:QmlAst.annotmap -> QmlAst.pat -> QmlAst.annotmap
45 val restrict_annotmap_fold_pat :
46 ((QmlAst.annotmap -> QmlAst.pat -> QmlAst.annotmap) ->
47 (QmlAst.annotmap -> 't -> QmlAst.annotmap)) ->
48 QmlAst.annotmap -> ?acc:QmlAst.annotmap -> 't -> QmlAst.annotmap
49
50 (**
51 Saving the current substitution
52 Should be used by linking only
53 *)
54 val save : unit -> unit
55 val load : unit -> unit
56 val clear : unit -> unit
Something went wrong with that request. Please try again.