@@ -12,7 +12,7 @@ use ast;
12
12
use codemap:: { BytePos , CharPos , CodeMap , Pos } ;
13
13
use diagnostic;
14
14
use parse:: lexer:: { is_whitespace, with_str_from, Reader } ;
15
- use parse:: lexer:: { StringReader , bump, is_eof, nextch , TokenAndSpan } ;
15
+ use parse:: lexer:: { StringReader , bump, is_eof, nextch_is , TokenAndSpan } ;
16
16
use parse:: lexer:: { is_line_non_doc_comment, is_block_non_doc_comment} ;
17
17
use parse:: lexer;
18
18
use parse:: token;
@@ -136,11 +136,11 @@ pub fn strip_doc_comment_decoration(comment: &str) -> ~str {
136
136
137
137
fn read_to_eol ( rdr : & StringReader ) -> ~str {
138
138
let mut val = ~"";
139
- while rdr. curr . get ( ) != '\n' && !is_eof ( rdr) {
140
- val. push_char ( rdr. curr . get ( ) ) ;
139
+ while ! rdr. curr_is ( '\n' ) && !is_eof ( rdr) {
140
+ val. push_char ( rdr. curr . get ( ) . unwrap ( ) ) ;
141
141
bump ( rdr) ;
142
142
}
143
- if rdr. curr . get ( ) == '\n' { bump ( rdr) ; }
143
+ if rdr. curr_is ( '\n' ) { bump ( rdr) ; }
144
144
return val;
145
145
}
146
146
@@ -152,7 +152,7 @@ fn read_one_line_comment(rdr: &StringReader) -> ~str {
152
152
}
153
153
154
154
fn consume_non_eol_whitespace ( rdr : & StringReader ) {
155
- while is_whitespace ( rdr. curr . get ( ) ) && rdr. curr . get ( ) != '\n' &&
155
+ while is_whitespace ( rdr. curr . get ( ) ) && ! rdr. curr_is ( '\n' ) &&
156
156
!is_eof ( rdr) {
157
157
bump ( rdr) ;
158
158
}
@@ -171,7 +171,7 @@ fn push_blank_line_comment(rdr: &StringReader, comments: &mut ~[Comment]) {
171
171
fn consume_whitespace_counting_blank_lines ( rdr : & StringReader ,
172
172
comments : & mut ~[ Comment ] ) {
173
173
while is_whitespace ( rdr. curr . get ( ) ) && !is_eof ( rdr) {
174
- if rdr. col . get ( ) == CharPos ( 0 u) && rdr. curr . get ( ) == '\n' {
174
+ if rdr. col . get ( ) == CharPos ( 0 u) && rdr. curr_is ( '\n' ) {
175
175
push_blank_line_comment ( rdr, & mut * comments) ;
176
176
}
177
177
bump ( rdr) ;
@@ -196,7 +196,7 @@ fn read_line_comments(rdr: &StringReader, code_to_the_left: bool,
196
196
debug ! ( ">>> line comments" ) ;
197
197
let p = rdr. last_pos . get ( ) ;
198
198
let mut lines: ~[ ~str ] = ~[ ] ;
199
- while rdr. curr . get ( ) == '/' && nextch ( rdr) == '/' {
199
+ while rdr. curr_is ( '/' ) && nextch_is ( rdr, '/' ) {
200
200
let line = read_one_line_comment ( rdr) ;
201
201
debug ! ( "{}" , line) ;
202
202
if is_doc_comment ( line) { // doc-comments are not put in comments
@@ -261,9 +261,9 @@ fn read_block_comment(rdr: &StringReader,
261
261
let mut curr_line = ~"/* ";
262
262
263
263
// doc-comments are not really comments, they are attributes
264
- if rdr.curr.get() == '*' || rdr.curr.get() == '!' {
265
- while !(rdr.curr.get() == '*' && nextch (rdr) == '/') && !is_eof(rdr) {
266
- curr_line.push_char(rdr.curr.get());
264
+ if rdr.curr_is( '*') || rdr.curr_is( '!') {
265
+ while !(rdr.curr_is( '*') && nextch_is (rdr, '/') ) && !is_eof(rdr) {
266
+ curr_line.push_char(rdr.curr.get().unwrap() );
267
267
bump(rdr);
268
268
}
269
269
if !is_eof(rdr) {
@@ -281,20 +281,20 @@ fn read_block_comment(rdr: &StringReader,
281
281
if is_eof ( rdr) {
282
282
rdr. fatal ( ~"unterminated block comment") ;
283
283
}
284
- if rdr. curr . get ( ) == '\n' {
284
+ if rdr. curr_is ( '\n' ) {
285
285
trim_whitespace_prefix_and_push_line ( & mut lines, curr_line,
286
286
col) ;
287
287
curr_line = ~"";
288
288
bump ( rdr) ;
289
289
} else {
290
- curr_line. push_char ( rdr. curr . get ( ) ) ;
291
- if rdr. curr . get ( ) == '/' && nextch ( rdr) == '*' {
290
+ curr_line. push_char ( rdr. curr . get ( ) . unwrap ( ) ) ;
291
+ if rdr. curr_is ( '/' ) && nextch_is ( rdr, '*' ) {
292
292
bump ( rdr) ;
293
293
bump ( rdr) ;
294
294
curr_line. push_char ( '*' ) ;
295
295
level += 1 ;
296
296
} else {
297
- if rdr. curr . get ( ) == '*' && nextch ( rdr) == '/' {
297
+ if rdr. curr_is ( '*' ) && nextch_is ( rdr, '/' ) {
298
298
bump ( rdr) ;
299
299
bump ( rdr) ;
300
300
curr_line. push_char ( '/' ) ;
@@ -310,28 +310,28 @@ fn read_block_comment(rdr: &StringReader,
310
310
311
311
let mut style = if code_to_the_left { Trailing } else { Isolated } ;
312
312
consume_non_eol_whitespace ( rdr) ;
313
- if !is_eof ( rdr) && rdr. curr . get ( ) != '\n' && lines. len ( ) == 1 u {
313
+ if !is_eof ( rdr) && ! rdr. curr_is ( '\n' ) && lines. len ( ) == 1 u {
314
314
style = Mixed ;
315
315
}
316
316
debug ! ( "<<< block comment" ) ;
317
317
comments. push ( Comment { style : style, lines : lines, pos : p} ) ;
318
318
}
319
319
320
320
fn peeking_at_comment ( rdr : & StringReader ) -> bool {
321
- return ( ( rdr. curr . get ( ) == '/' && nextch ( rdr) == '/' ) ||
322
- ( rdr. curr . get ( ) == '/' && nextch ( rdr) == '*' ) ) ||
323
- ( rdr. curr . get ( ) == '#' && nextch ( rdr) == '!' ) ;
321
+ return ( rdr. curr_is ( '/' ) && nextch_is ( rdr, '/' ) ) ||
322
+ ( rdr. curr_is ( '/' ) && nextch_is ( rdr, '*' ) ) ||
323
+ ( rdr. curr_is ( '#' ) && nextch_is ( rdr, '!' ) ) ;
324
324
}
325
325
326
326
fn consume_comment ( rdr : & StringReader ,
327
327
code_to_the_left : bool ,
328
328
comments : & mut ~[ Comment ] ) {
329
329
debug ! ( ">>> consume comment" ) ;
330
- if rdr. curr . get ( ) == '/' && nextch ( rdr) == '/' {
330
+ if rdr. curr_is ( '/' ) && nextch_is ( rdr, '/' ) {
331
331
read_line_comments ( rdr, code_to_the_left, comments) ;
332
- } else if rdr. curr . get ( ) == '/' && nextch ( rdr) == '*' {
332
+ } else if rdr. curr_is ( '/' ) && nextch_is ( rdr, '*' ) {
333
333
read_block_comment ( rdr, code_to_the_left, comments) ;
334
- } else if rdr. curr . get ( ) == '#' && nextch ( rdr) == '!' {
334
+ } else if rdr. curr_is ( '#' ) && nextch_is ( rdr, '!' ) {
335
335
read_shebang_comment ( rdr, code_to_the_left, comments) ;
336
336
} else { fail ! ( ) ; }
337
337
debug ! ( "<<< consume comment" ) ;
@@ -363,7 +363,7 @@ pub fn gather_comments_and_literals(span_diagnostic:
363
363
loop {
364
364
let mut code_to_the_left = !first_read;
365
365
consume_non_eol_whitespace ( & rdr) ;
366
- if rdr. curr . get ( ) == '\n' {
366
+ if rdr. curr_is ( '\n' ) {
367
367
code_to_the_left = false ;
368
368
consume_whitespace_counting_blank_lines ( & rdr, & mut comments) ;
369
369
}
0 commit comments