mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-08 01:28:18 +03:00
Changed the lexer to accept #! comments on the first line.
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
export new_filemap_w_substr;
|
||||
export mk_substr_filename;
|
||||
export lookup_char_pos;
|
||||
export lookup_char_pos_adj;
|
||||
export adjust_span;
|
||||
export span_to_str;
|
||||
export span_to_filename;
|
||||
|
||||
@@ -119,6 +119,17 @@ fn consume_any_line_comment(rdr: reader) {
|
||||
'*' { rdr.bump(); rdr.bump(); ret consume_block_comment(rdr); }
|
||||
_ { ret; }
|
||||
}
|
||||
} else if rdr.curr == '#' {
|
||||
if rdr.next() == '!' {
|
||||
let cmap = codemap::new_codemap();
|
||||
(*cmap).files.push(rdr.filemap);
|
||||
let mut loc = codemap::lookup_char_pos_adj(cmap, rdr.chpos);
|
||||
if loc.line == 1u && loc.col == 0u {
|
||||
while rdr.curr != '\n' && !rdr.is_eof() { rdr.bump(); }
|
||||
loc = codemap::lookup_char_pos_adj(cmap, rdr.chpos);
|
||||
ret consume_whitespace_and_comments(rdr);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user