Skip to content

Commit 97ba0cf

Browse files
committed
---
yaml --- r: 35250 b: refs/heads/master c: 81a7960 h: refs/heads/master v: v3
1 parent 14b019d commit 97ba0cf

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 58e26243a7d7efa8e37703fb6dca95652c79f848
2+
refs/heads/master: 81a79603c0c9c2425d0a8475d29b4ef77fae8607
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: eb8fd119c65c67f3b1b8268cc7341c22d39b7b61
55
refs/heads/try: d324a424d8f84b1eb049b12cf34182bda91b0024

trunk/src/libsyntax/parse.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,18 @@ fn new_parser_from_file(sess: parse_sess, cfg: ast::crate_cfg,
175175
path: &Path) -> Result<Parser, ~str> {
176176
match io::read_whole_file_str(path) {
177177
result::Ok(move src) => {
178+
179+
// HACK: If the file contains a special token use a different
180+
// source file. Used to send the stage1+ parser (the stage0 parser
181+
// doesn't have this hack) to a different crate file.
182+
// Transitional. Remove me.
183+
let src = if src.starts_with("// DIVERT") {
184+
let actual_path = &path.with_filestem("alternate_crate");
185+
result::unwrap(io::read_whole_file_str(actual_path))
186+
} else {
187+
move src
188+
};
189+
178190
let filemap = sess.cm.new_filemap(path.to_str(), @move src);
179191
let srdr = lexer::new_string_reader(sess.span_diagnostic, filemap,
180192
sess.interner);

0 commit comments

Comments
 (0)