| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 | #[doc = "AST-parsing helpers"];
import rustc::driver::driver;
import rustc::driver::session;
import rustc::driver::diagnostic;
import rustc::syntax::ast;
import rustc::syntax::codemap;
import rustc::syntax::parse::parser;
export from_file, from_str, from_file_sess, from_str_sess;
fn new_parse_sess() -> parser::parse_sess {
    let cm = codemap::new_codemap();
    let handler = diagnostic::mk_handler(none);
    let sess = @{
        cm: cm,
        mut next_id: 1,
        span_diagnostic: diagnostic::mk_span_handler(handler, cm),
        mut chpos: 0u,
        mut byte_pos: 0u
    };
    ret sess;
}
fn from_file(file: str) -> @ast::crate {
    parser::parse_crate_from_file(
        file, [], new_parse_sess())
}
fn from_str(source: str) -> @ast::crate {
    parser::parse_crate_from_source_str(
        "-", @source, [], new_parse_sess())
}
fn from_file_sess(sess: session::session, file: str) -> @ast::crate {
    parser::parse_crate_from_file(file, cfg(sess), sess.parse_sess)
}
fn from_str_sess(sess: session::session, source: str) -> @ast::crate {
    parser::parse_crate_from_source_str(
        "-", @source, cfg(sess), sess.parse_sess)
}
fn cfg(sess: session::session) -> ast::crate_cfg {
    driver::default_configuration(sess, "rustdoc", "<anon>")
}
 |