Skip to content

Commit 4cef5b6

Browse files
committed
---
yaml --- r: 3251 b: refs/heads/master c: 4255d58 h: refs/heads/master i: 3249: 94399a6 3247: b78b945 v: v3
1 parent 39193cb commit 4cef5b6

File tree

2 files changed

+165
-4
lines changed

2 files changed

+165
-4
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: b8ab9ea89c16c60237e7660804f4321f59ae0435
2+
refs/heads/master: 4255d58aa5db2a05362c4435a0e807205e1b8ed7

trunk/src/comp/middle/ty.rs

Lines changed: 164 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,155 @@ import middle::metadata;
2222
import util::common::*;
2323
import util::data::interner;
2424

25+
export ann_to_monotype;
26+
export ann_to_type;
27+
export ann_to_type_params;
28+
export ann_to_ty_param_substs_opt_and_ty;
29+
export any_item_native;
30+
export any_item_rust;
31+
export arg;
32+
export args_eq;
33+
export bind_params_in_type;
34+
export block_ty;
35+
export constr_def;
36+
export constr_general;
37+
export constr_table;
38+
export count_ty_params;
39+
export ctxt;
40+
export decl_local_ty;
41+
export def_has_ty_params;
42+
export eq_ty;
43+
export expr_ann;
44+
export expr_has_ty_params;
45+
export expr_ty;
46+
export fold_ty;
47+
export field;
48+
export field_idx;
49+
export field_num;
50+
export fm_general;
51+
export get_element_type;
52+
export hash_ty;
53+
export idx_nil;
54+
export is_lval;
55+
export item_table;
56+
export lookup_item_type;
57+
export method;
58+
export method_idx;
59+
export method_ty_to_fn_ty;
60+
export mk_bool;
61+
export mk_bot;
62+
export mk_box;
63+
export mk_chan;
64+
export mk_char;
65+
export mk_ctxt;
66+
export mk_float;
67+
export mk_fn;
68+
export mk_imm_box;
69+
export mk_imm_tup;
70+
export mk_imm_vec;
71+
export mk_int;
72+
export mk_istr;
73+
export mk_ivec;
74+
export mk_mach;
75+
export mk_native;
76+
export mk_native_fn;
77+
export mk_nil;
78+
export mk_obj;
79+
export mk_param;
80+
export mk_port;
81+
export mk_ptr;
82+
export mk_rec;
83+
export mk_str;
84+
export mk_tag;
85+
export mk_task;
86+
export mk_tup;
87+
export mk_type;
88+
export mk_uint;
89+
export mk_var;
90+
export mk_vec;
91+
export mode;
92+
export mo_val;
93+
export mo_alias;
94+
export mt;
95+
export node_type_table;
96+
export pat_ann;
97+
export pat_ty;
98+
export path_to_str;
99+
export rename;
100+
export ret_ty_of_fn;
101+
export ret_ty_of_fn_ty;
102+
export ret_ty_to_fn_ty;
103+
export sequence_element_type;
104+
export sequence_is_interior;
105+
export struct;
106+
export sort_methods;
107+
export stmt_ann;
108+
export strip_boxes;
109+
export sty;
110+
export substitute_type_params;
111+
export t;
112+
export tag_variants;
113+
export tag_variant_with_id;
114+
export ty_param_substs_opt_and_ty;
115+
export ty_param_count_and_ty;
116+
export ty_native_fn;
117+
export ty_bool;
118+
export ty_bot;
119+
export ty_box;
120+
export ty_chan;
121+
export ty_char;
122+
export ty_float;
123+
export ty_fn;
124+
export ty_fn_abi;
125+
export ty_fn_proto;
126+
export ty_fn_ret;
127+
export ty_int;
128+
export ty_istr;
129+
export ty_ivec;
130+
export ty_machine;
131+
export ty_native;
132+
export ty_nil;
133+
export ty_obj;
134+
export ty_param;
135+
export ty_port;
136+
export ty_ptr;
137+
export ty_rec;
138+
export ty_str;
139+
export ty_tag;
140+
export ty_task;
141+
export ty_tup;
142+
export ty_type;
143+
export ty_uint;
144+
export ty_var;
145+
export ty_var_id;
146+
export ty_vec;
147+
export ty_param_substs_opt_and_ty_to_monotype;
148+
export ty_fn_args;
149+
export type_contains_params;
150+
export type_contains_vars;
151+
export type_err;
152+
export type_err_to_str;
153+
export type_has_dynamic_size;
154+
export type_has_pointers;
155+
export type_is_bool;
156+
export type_is_bot;
157+
export type_is_box;
158+
export type_is_boxed;
159+
export type_is_chan;
160+
export type_is_fp;
161+
export type_is_integral;
162+
export type_is_native;
163+
export type_is_nil;
164+
export type_is_scalar;
165+
export type_is_sequence;
166+
export type_is_signed;
167+
export type_is_structural;
168+
export type_is_tup_like;
169+
export type_owns_heap_mem;
170+
export type_param;
171+
export unify;
172+
export variant_info;
173+
export walk_ty;
25174

26175
// Data types
27176
tag mode { mo_val; mo_alias(bool); }
@@ -80,9 +229,6 @@ fn method_ty_to_fn_ty(&ctxt cx, method m) -> t {
80229

81230

82231
// Never construct these manually. These are interned.
83-
//
84-
// TODO: It'd be really nice to be able to hide this definition from the
85-
// outside world, to enforce the above invariants.
86232
type raw_t =
87233
rec(sty struct,
88234
option::t[str] cname,
@@ -1737,6 +1883,21 @@ fn is_lval(&@ast::expr expr) -> bool {
17371883
//
17381884
// http://www.cs.man.ac.uk/~hoderk/ubench/unification_full.pdf
17391885
mod unify {
1886+
1887+
export fixup_result;
1888+
export fixup_vars;
1889+
export fix_ok;
1890+
export fix_err;
1891+
export mk_var_bindings;
1892+
export resolve_type_bindings;
1893+
export resolve_type_structure;
1894+
export resolve_type_var;
1895+
export result;
1896+
export unify;
1897+
export ures_ok;
1898+
export ures_err;
1899+
export var_bindings;
1900+
17401901
tag result { ures_ok(t); ures_err(type_err); }
17411902
tag union_result { unres_ok; unres_err(type_err); }
17421903
tag fixup_result {

0 commit comments

Comments
 (0)