@@ -10,36 +10,7 @@ use std::serialization::{Serializable,
10
10
Serializer ,
11
11
Deserializer } ;
12
12
13
- export filename;
14
- export filemap;
15
- export filemap_;
16
- export span;
17
- export file_substr;
18
- export fss_none;
19
- export fss_internal;
20
- export fss_external;
21
- export CodeMap ;
22
- export expn_info;
23
- export expn_info_;
24
- export expanded_from;
25
- export new_filemap;
26
- export new_filemap_w_substr;
27
- export mk_substr_filename;
28
- export lookup_char_pos;
29
- export lookup_char_pos_adj;
30
- export adjust_span;
31
- export span_to_str;
32
- export span_to_filename;
33
- export span_to_lines;
34
- export file_lines;
35
- export get_line;
36
- export next_line;
37
- export span_to_snippet;
38
- export loc;
39
- export get_filemap;
40
- export new_codemap;
41
-
42
- struct span {
13
+ pub struct span {
43
14
lo : uint ,
44
15
hi : uint ,
45
16
expn_info : Option < @expn_info >
@@ -63,20 +34,20 @@ impl<D: Deserializer> span: Deserializable<D> {
63
34
}
64
35
}
65
36
66
- enum expn_info {
37
+ pub enum expn_info {
67
38
expanded_from( { call_site: span,
68
39
callie: { name: ~str , span: Option <span >} } )
69
40
}
70
41
71
- type filename = ~str ;
42
+ pub type filename = ~str ;
72
43
73
- type lookup_fn = pure fn( file_pos ) -> uint ;
44
+ pub type lookup_fn = pure fn( file_pos ) -> uint ;
74
45
75
- struct loc {
46
+ pub struct loc {
76
47
file : @filemap , line : uint , col : uint
77
48
}
78
49
79
- struct file_pos {
50
+ pub struct file_pos {
80
51
ch : uint , byte : uint
81
52
}
82
53
@@ -87,21 +58,21 @@ impl file_pos : cmp::Eq {
87
58
pure fn ne ( other : & file_pos ) -> bool { !self . eq ( other) }
88
59
}
89
60
90
- enum file_substr {
91
- fss_none,
92
- fss_internal( span ) ,
93
- fss_external( { filename : ~str , line : uint , col : uint } )
61
+ pub enum file_substr {
62
+ pub fss_none,
63
+ pub fss_internal( span ) ,
64
+ pub fss_external( { filename : ~str , line : uint , col : uint } )
94
65
}
95
66
96
- struct filemap {
67
+ pub struct filemap {
97
68
name : filename ,
98
69
substr : file_substr ,
99
70
src : @~str ,
100
71
start_pos : file_pos ,
101
72
mut lines : ~[ file_pos ]
102
73
}
103
74
104
- impl filemap {
75
+ pub impl filemap {
105
76
static fn new_w_substr( +filename: filename , +substr : file_substr,
106
77
src : @~str ,
107
78
start_pos_ch : uint , start_pos_byte : uint )
@@ -121,23 +92,23 @@ impl filemap {
121
92
}
122
93
}
123
94
124
- struct CodeMap {
95
+ pub struct CodeMap {
125
96
files : DVec < @filemap >
126
97
}
127
98
128
- fn new_codemap ( ) -> CodeMap {
99
+ pub fn new_codemap ( ) -> CodeMap {
129
100
CodeMap {
130
101
files : DVec ( )
131
102
}
132
103
}
133
104
134
- fn mk_substr_filename ( cm : @CodeMap , sp : span ) -> ~str
105
+ pub fn mk_substr_filename ( cm : @CodeMap , sp : span ) -> ~str
135
106
{
136
107
let pos = lookup_char_pos ( cm, sp. lo ) ;
137
108
return fmt ! ( "<%s:%u:%u>" , pos. file. name, pos. line, pos. col) ;
138
109
}
139
110
140
- fn next_line ( file : @filemap , chpos : uint , byte_pos : uint ) {
111
+ pub fn next_line ( file : @filemap , chpos : uint , byte_pos : uint ) {
141
112
file. lines . push ( file_pos { ch : chpos, byte : byte_pos + file. start_pos . byte } ) ;
142
113
}
143
114
@@ -169,7 +140,7 @@ fn lookup_pos(map: @CodeMap, pos: uint, lookup: lookup_fn) -> loc {
169
140
return loc { file : f, line : a + 1 u, col : pos - lookup ( f. lines [ a] ) } ;
170
141
}
171
142
172
- fn lookup_char_pos ( map : @CodeMap , pos : uint ) -> loc {
143
+ pub fn lookup_char_pos ( map : @CodeMap , pos : uint ) -> loc {
173
144
pure fn lookup ( pos : file_pos ) -> uint { return pos. ch ; }
174
145
return lookup_pos ( map, pos, lookup) ;
175
146
}
@@ -179,7 +150,7 @@ fn lookup_byte_pos(map: @CodeMap, pos: uint) -> loc {
179
150
return lookup_pos ( map, pos, lookup) ;
180
151
}
181
152
182
- fn lookup_char_pos_adj ( map : @CodeMap , pos : uint )
153
+ pub fn lookup_char_pos_adj ( map : @CodeMap , pos : uint )
183
154
-> { filename : ~str , line : uint , col : uint , file : Option < @filemap > }
184
155
{
185
156
let loc = lookup_char_pos ( map, pos) ;
@@ -202,7 +173,7 @@ fn lookup_char_pos_adj(map: @CodeMap, pos: uint)
202
173
}
203
174
}
204
175
205
- fn adjust_span ( map : @CodeMap , sp : span ) -> span {
176
+ pub fn adjust_span ( map : @CodeMap , sp : span ) -> span {
206
177
pure fn lookup ( pos : file_pos ) -> uint { return pos. ch ; }
207
178
let line = lookup_line ( map, sp. lo , lookup) ;
208
179
match ( line. fm . substr ) {
@@ -222,24 +193,24 @@ fn span_to_str_no_adj(sp: span, cm: @CodeMap) -> ~str {
222
193
lo. line, lo. col, hi. line, hi. col)
223
194
}
224
195
225
- fn span_to_str ( sp : span , cm : @CodeMap ) -> ~str {
196
+ pub fn span_to_str ( sp : span , cm : @CodeMap ) -> ~str {
226
197
let lo = lookup_char_pos_adj ( cm, sp. lo ) ;
227
198
let hi = lookup_char_pos_adj ( cm, sp. hi ) ;
228
199
return fmt ! ( "%s:%u:%u: %u:%u" , lo. filename,
229
200
lo. line, lo. col, hi. line, hi. col)
230
201
}
231
202
232
- struct file_lines {
203
+ pub struct file_lines {
233
204
file : @filemap ,
234
205
lines : ~[ uint ]
235
206
}
236
207
237
- fn span_to_filename ( sp : span , cm : @codemap:: CodeMap ) -> filename {
208
+ pub fn span_to_filename ( sp : span , cm : @codemap:: CodeMap ) -> filename {
238
209
let lo = lookup_char_pos ( cm, sp. lo ) ;
239
210
return /* FIXME (#2543) */ copy lo. file . name ;
240
211
}
241
212
242
- fn span_to_lines ( sp : span , cm : @codemap:: CodeMap ) -> @file_lines {
213
+ pub fn span_to_lines ( sp : span , cm : @codemap:: CodeMap ) -> @file_lines {
243
214
let lo = lookup_char_pos ( cm, sp. lo ) ;
244
215
let hi = lookup_char_pos ( cm, sp. hi ) ;
245
216
let mut lines = ~[ ] ;
@@ -249,7 +220,7 @@ fn span_to_lines(sp: span, cm: @codemap::CodeMap) -> @file_lines {
249
220
return @file_lines { file : lo. file , lines : lines} ;
250
221
}
251
222
252
- fn get_line ( fm : @filemap , line : int ) -> ~str unsafe {
223
+ pub fn get_line ( fm : @filemap , line : int ) -> ~str unsafe {
253
224
let begin: uint = fm. lines [ line] . byte - fm. start_pos . byte ;
254
225
let end = match str:: find_char_from ( * fm. src , '\n' , begin) {
255
226
Some ( e) => e,
@@ -268,20 +239,20 @@ fn lookup_byte_offset(cm: @codemap::CodeMap, chpos: uint)
268
239
{ fm: fm, pos: line_offset + col_offset}
269
240
}
270
241
271
- fn span_to_snippet ( sp : span , cm : @codemap:: CodeMap ) -> ~str {
242
+ pub fn span_to_snippet ( sp : span , cm : @codemap:: CodeMap ) -> ~str {
272
243
let begin = lookup_byte_offset ( cm, sp. lo ) ;
273
244
let end = lookup_byte_offset ( cm, sp. hi ) ;
274
245
assert begin. fm . start_pos == end. fm . start_pos ;
275
246
return str:: slice ( * begin. fm . src , begin. pos , end. pos ) ;
276
247
}
277
248
278
- fn get_snippet ( cm : @codemap:: CodeMap , fidx : uint , lo : uint , hi : uint ) -> ~str
249
+ pub fn get_snippet ( cm : @codemap:: CodeMap , fidx : uint , lo : uint , hi : uint ) -> ~str
279
250
{
280
251
let fm = cm. files [ fidx] ;
281
252
return str:: slice ( * fm. src , lo, hi)
282
253
}
283
254
284
- fn get_filemap ( cm : @CodeMap , filename : ~str ) -> @filemap {
255
+ pub fn get_filemap ( cm : @CodeMap , filename : ~str ) -> @filemap {
285
256
for cm. files. each |fm| { if fm. name == filename { return * fm; } }
286
257
//XXjdm the following triggers a mismatched type bug
287
258
// (or expected function, found _|_)
0 commit comments