diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2012-05-22 10:54:12 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2012-07-02 18:30:12 -0700 |
| commit | f093d374edb89aedc940468d3d789dd95cec6347 (patch) | |
| tree | 8d9197ba35866b536c4a5ed8178f69387e4a69af /src/libsyntax | |
| parent | 0b1edb7f0e25cae2a1f519af17bfc76682af0e14 (diff) | |
| download | rust-f093d374edb89aedc940468d3d789dd95cec6347.tar.gz rust-f093d374edb89aedc940468d3d789dd95cec6347.zip | |
rustc: Implement a new resolve pass behind a compile flag
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ast_util.rs | 7 | ||||
| -rw-r--r-- | src/libsyntax/codemap.rs | 3 | ||||
| -rw-r--r-- | src/libsyntax/parse.rs | 4 | ||||
| -rw-r--r-- | src/libsyntax/parse/classify.rs | 3 | ||||
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 9 | ||||
| -rw-r--r-- | src/libsyntax/print/pprust.rs | 2 |
6 files changed, 21 insertions, 7 deletions
diff --git a/src/libsyntax/ast_util.rs b/src/libsyntax/ast_util.rs index 0115ffb0331..c6fb9349ad5 100644 --- a/src/libsyntax/ast_util.rs +++ b/src/libsyntax/ast_util.rs @@ -572,6 +572,13 @@ fn walk_pat(pat: @pat, it: fn(@pat)) { } } +fn view_path_id(p: @view_path) -> node_id { + alt p.node { + view_path_simple(_, _, id) | view_path_glob(_, id) | + view_path_list(_, _, id) { id } + } +} + // Local Variables: // mode: rust // fill-column: 78; diff --git a/src/libsyntax/codemap.rs b/src/libsyntax/codemap.rs index 4c30016fdc8..3daf9106b06 100644 --- a/src/libsyntax/codemap.rs +++ b/src/libsyntax/codemap.rs @@ -4,6 +4,9 @@ export filename; export filemap; export span; export file_substr; +export fss_none; +export fss_internal; +export fss_external; export codemap; export expn_info; export expn_info_; diff --git a/src/libsyntax/parse.rs b/src/libsyntax/parse.rs index bf9a7dd2ace..7ddc763fac9 100644 --- a/src/libsyntax/parse.rs +++ b/src/libsyntax/parse.rs @@ -18,8 +18,8 @@ import common::parser_common; import ast::node_id; import util::interner; // FIXME (#1935): resolve badness -import lexer::*;//{string_reader_as_reader, tt_reader_as_reader, - //reader, string_reader, tt_reader}; +import lexer::{string_reader_as_reader, tt_reader_as_reader, reader, + string_reader, tt_reader}; import diagnostic::{span_handler, mk_span_handler, mk_handler, emitter}; type parse_sess = @{ diff --git a/src/libsyntax/parse/classify.rs b/src/libsyntax/parse/classify.rs index a3d55df320b..9b36b77407e 100644 --- a/src/libsyntax/parse/classify.rs +++ b/src/libsyntax/parse/classify.rs @@ -1,7 +1,8 @@ /* Predicates on exprs and stmts that the pretty-printer and parser use */ -import ast_util::*; + +import ast_util::operator_prec; fn expr_requires_semi_to_be_stmt(e: @ast::expr) -> bool { alt e.node { diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 0492ab27346..d1f19c3d47e 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -5,18 +5,21 @@ import token::{can_begin_expr, is_ident, is_plain_ident}; import codemap::{span,fss_none}; import util::interner; import ast_util::{spanned, respan, mk_sp, ident_to_path, operator_prec}; -import ast::*; import lexer::reader; import prec::{as_prec, token_to_binop}; import attr::parser_attr; import common::{seq_sep_trailing_disallowed, seq_sep_trailing_allowed, - seq_sep_none, token_to_str}; -import common::*;//{parser_common}; + seq_sep_none, token_to_str, parser_common}; import dvec::{dvec, extensions}; import vec::{push}; +import ast::*; export file_type; export parser; +export parse_expr; +export parse_pat; +export CRATE_FILE; +export SOURCE_FILE; // FIXME (#1893): #ast expects to find this here but it's actually // defined in `parse` Fixing this will be easier when we have export diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index 2680fa1a981..5f2aada9fc6 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -1,4 +1,3 @@ -import parse::classify::*; import parse::comments; import parse::lexer; import codemap::codemap; @@ -8,6 +7,7 @@ import pp::{break_offset, word, printer, import diagnostic; import ast_util::operator_prec; import dvec::{dvec, extensions}; +import parse::classify::*; // The ps is stored here to prevent recursive type. enum ann_node { |
