about summary refs log tree commit diff
path: root/src/comp/syntax/parse
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2011-07-05 17:50:14 -0700
committerPatrick Walton <pcwalton@mimiga.net>2011-07-06 11:09:08 -0700
commit3f6c9f8d8495bb83ee9afd3894f7dd16065419d2 (patch)
tree1e2a8a72196ac5638b13eec84df8a3a8f5a5ce49 /src/comp/syntax/parse
parentc927d97fa0c5d6c2264a704357aa86e97dc0166b (diff)
downloadrust-3f6c9f8d8495bb83ee9afd3894f7dd16065419d2.tar.gz
rust-3f6c9f8d8495bb83ee9afd3894f7dd16065419d2.zip
rustc: Move crate directives over to interior vectors
Diffstat (limited to 'src/comp/syntax/parse')
-rw-r--r--src/comp/syntax/parse/eval.rs7
-rw-r--r--src/comp/syntax/parse/parser.rs10
2 files changed, 8 insertions, 9 deletions
diff --git a/src/comp/syntax/parse/eval.rs b/src/comp/syntax/parse/eval.rs
index ca26e9f8128..d3806454b06 100644
--- a/src/comp/syntax/parse/eval.rs
+++ b/src/comp/syntax/parse/eval.rs
@@ -24,7 +24,7 @@ type ctx =
          mutable uint chpos,
          ast::crate_cfg cfg);
 
-fn eval_crate_directives(ctx cx, vec[@ast::crate_directive] cdirs,
+fn eval_crate_directives(ctx cx, &(@ast::crate_directive)[] cdirs,
                          str prefix, &mutable vec[@ast::view_item] view_items,
                          &mutable vec[@ast::item] items) {
     for (@ast::crate_directive sub_cdir in cdirs) {
@@ -32,9 +32,8 @@ fn eval_crate_directives(ctx cx, vec[@ast::crate_directive] cdirs,
     }
 }
 
-fn eval_crate_directives_to_mod(ctx cx,
-                                vec[@ast::crate_directive] cdirs, str prefix)
-   -> ast::_mod {
+fn eval_crate_directives_to_mod(ctx cx, &(@ast::crate_directive)[] cdirs,
+                                str prefix) -> ast::_mod {
     let vec[@ast::view_item] view_items = [];
     let vec[@ast::item] items = [];
     eval_crate_directives(cx, cdirs, prefix, view_items, items);
diff --git a/src/comp/syntax/parse/parser.rs b/src/comp/syntax/parse/parser.rs
index a9189900470..78e9ec160ed 100644
--- a/src/comp/syntax/parse/parser.rs
+++ b/src/comp/syntax/parse/parser.rs
@@ -2338,7 +2338,7 @@ fn parse_crate_from_source_file(&str input, &ast::crate_cfg cfg,
     auto first_item_outer_attrs = crate_attrs._1;
     auto m = parse_mod_items(p, token::EOF,
                              first_item_outer_attrs);
-    ret @spanned(lo, p.get_lo_pos(), rec(directives=[],
+    ret @spanned(lo, p.get_lo_pos(), rec(directives=~[],
                                          module=m,
                                          attrs=crate_attrs._0,
                                          config=p.get_cfg()));
@@ -2420,8 +2420,8 @@ fn parse_crate_directive(&parser p, &ast::attribute[] first_outer_attr)
 }
 
 fn parse_crate_directives(&parser p, token::token term,
-                          &ast::attribute[] first_outer_attr) ->
-   vec[@ast::crate_directive] {
+                          &ast::attribute[] first_outer_attr)
+        -> (@ast::crate_directive)[] {
 
     // This is pretty ugly. If we have an outer attribute then we can't accept
     // seeing the terminator next, so if we do see it then fail the same way
@@ -2430,10 +2430,10 @@ fn parse_crate_directives(&parser p, token::token term,
         expect_word(p, "mod");
     }
 
-    let vec[@ast::crate_directive] cdirs = [];
+    let (@ast::crate_directive)[] cdirs = ~[];
     while (p.peek() != term) {
         auto cdir = @parse_crate_directive(p, first_outer_attr);
-        vec::push(cdirs, cdir);
+        cdirs += ~[cdir];
     }
     ret cdirs;
 }