about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorJohn Clements <clements@racket-lang.org>2013-04-01 11:37:30 -0700
committerJohn Clements <clements@racket-lang.org>2013-04-10 09:15:08 -0700
commit27700472b98862978cd0bd291bbb413e30102f38 (patch)
tree17515c00ccf73e999b557161cd6ebd26e50ae5dc /src/libsyntax
parent48e7bda8269861df43763b4fb42e68af0eb09b20 (diff)
downloadrust-27700472b98862978cd0bd291bbb413e30102f38.tar.gz
rust-27700472b98862978cd0bd291bbb413e30102f38.zip
removed eval.rs: dead code
@brson confirms that eval.rs is now dead code
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/parse/eval.rs174
1 files changed, 0 insertions, 174 deletions
diff --git a/src/libsyntax/parse/eval.rs b/src/libsyntax/parse/eval.rs
deleted file mode 100644
index 5d44db084d6..00000000000
--- a/src/libsyntax/parse/eval.rs
+++ /dev/null
@@ -1,174 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use parser::Parser;
-use attr::parser_attr;
-use codemap::{span, mk_sp};
-
-type ctx =
-    @{sess: parse::parse_sess,
-      cfg: ast::crate_cfg};
-
-fn eval_crate_directives(cx: ctx,
-                         cdirs: ~[@ast::crate_directive],
-                         prefix: &Path,
-                         view_items: &mut~[@ast::view_item],
-                         items: &mut~[@ast::item]) {
-    for cdirs.each |sub_cdir| {
-        eval_crate_directive(cx, *sub_cdir, prefix, view_items, items);
-    }
-}
-
-pub fn eval_crate_directives_to_mod(cx: ctx, cdirs: ~[@ast::crate_directive],
-                                    prefix: &Path, suffix: &Option<Path>)
-    -> (ast::_mod, ~[ast::attribute]) {
-    let (cview_items, citems, cattrs)
-        = parse_companion_mod(cx, prefix, suffix);
-    let mut view_items: ~[@ast::view_item] = ~[];
-    let mut items: ~[@ast::item] = ~[];
-    eval_crate_directives(cx, cdirs, prefix, &mut view_items, &mut items);
-    return ({view_items: vec::append(view_items, cview_items),
-          items: vec::append(items, citems)},
-         cattrs);
-}
-
-/*
-The 'companion mod'. So .rc crates and directory mod crate directives define
-modules but not a .rs file to fill those mods with stuff. The companion mod is
-a convention for location a .rs file to go with them.  For .rc files the
-companion mod is a .rs file with the same name; for directory mods the
-companion mod is a .rs file with the same name as the directory.
-
-We build the path to the companion mod by combining the prefix and the
-optional suffix then adding the .rs extension.
-*/
-fn parse_companion_mod(cx: ctx, prefix: &Path, suffix: &Option<Path>)
-    -> (~[@ast::view_item], ~[@ast::item], ~[ast::attribute]) {
-
-    fn companion_file(prefix: &Path, suffix: &Option<Path>) -> Path {
-        return match *suffix {
-          option::Some(s) => prefix.push_many(s.components),
-          option::None => copy *prefix
-        }.with_filetype("rs");
-    }
-
-    fn file_exists(path: &Path) -> bool {
-        // Crude, but there's no lib function for this and I'm not
-        // up to writing it just now
-        match io::file_reader(path) {
-          result::Ok(_) => true,
-          result::Err(_) => false
-        }
-    }
-
-    let modpath = &companion_file(prefix, suffix);
-    if file_exists(modpath) {
-        debug!("found companion mod");
-        // XXX: Using a dummy span, but this code will go away soon
-        let p0 = new_sub_parser_from_file(cx.sess, cx.cfg,
-                                          modpath,
-                                          codemap::dummy_sp());
-        let (inner, next) = p0.parse_inner_attrs_and_next();
-        let m0 = p0.parse_mod_items(token::EOF, next);
-        return (m0.view_items, m0.items, inner);
-    } else {
-        return (~[], ~[], ~[]);
-    }
-}
-
-fn cdir_path_opt(default: ~str, attrs: ~[ast::attribute]) -> ~str {
-    match ::attr::first_attr_value_str_by_name(attrs, ~"path") {
-      Some(d) => d,
-      None => default
-    }
-}
-
-pub fn eval_src_mod(cx: ctx, prefix: &Path,
-                    outer_attrs: ~[ast::attribute],
-                    id: ast::ident, sp: span)
-                 -> (ast::item_, ~[ast::attribute]) {
-    let file_path = Path(cdir_path_opt(
-        cx.sess.interner.get(id) + ~".rs", outer_attrs));
-    eval_src_mod_from_path(cx, prefix, &file_path, outer_attrs, sp)
-}
-
-pub fn eval_src_mod_from_path(cx: ctx, prefix: &Path, path: &Path,
-                              outer_attrs: ~[ast::attribute],
-                              sp: span)
-                           -> (ast::item_, ~[ast::attribute]) {
-    let full_path = if path.is_absolute {
-        copy *path
-    } else {
-        prefix.push_many(path.components)
-    };
-    let p0 =
-        new_sub_parser_from_file(cx.sess, cx.cfg,
-                                 &full_path, sp);
-    let (inner, next) = p0.parse_inner_attrs_and_next();
-    let mod_attrs = vec::append(outer_attrs, inner);
-    let first_item_outer_attrs = next;
-    let m0 = p0.parse_mod_items(token::EOF, first_item_outer_attrs);
-    return (ast::item_mod(m0), mod_attrs);
-}
-
-// XXX: Duplicated from parser.rs
-fn mk_item(ctx: ctx, lo: BytePos, hi: BytePos, +ident: ast::ident,
-           +node: ast::item_, vis: ast::visibility,
-           +attrs: ~[ast::attribute]) -> @ast::item {
-    return @{ident: ident,
-             attrs: attrs,
-             id: next_node_id(ctx.sess),
-             node: node,
-             vis: vis,
-             span: mk_sp(lo, hi)};
-}
-
-fn eval_crate_directive(cx: ctx, cdir: @ast::crate_directive, prefix: &Path,
-                        view_items: &mut ~[@ast::view_item],
-                        items: &mut ~[@ast::item]) {
-    match cdir.node {
-      ast::cdir_src_mod(vis, id, attrs) => {
-        let (m, mod_attrs) = eval_src_mod(cx, prefix, attrs, id, cdir.span);
-        let i = mk_item(cx, cdir.span.lo, cdir.span.hi,
-                           /* FIXME (#2543) */ copy id,
-                           m, vis, mod_attrs);
-        items.push(i);
-      }
-      ast::cdir_dir_mod(vis, id, cdirs, attrs) => {
-        let path = Path(cdir_path_opt(*cx.sess.interner.get(id), attrs));
-        let full_path = if path.is_absolute {
-            copy path
-        } else {
-            prefix.push_many(path.components)
-        };
-        let (m0, a0) = eval_crate_directives_to_mod(
-            cx, cdirs, &full_path, &None);
-        let i =
-            @{ident: /* FIXME (#2543) */ copy id,
-              attrs: vec::append(attrs, a0),
-              id: cx.sess.next_id,
-              node: ast::item_mod(m0),
-              vis: vis,
-              span: cdir.span};
-        cx.sess.next_id += 1;
-        items.push(i);
-      }
-      ast::cdir_view_item(vi) => view_items.push(vi),
-    }
-}
-//
-// Local Variables:
-// mode: rust
-// fill-column: 78;
-// indent-tabs-mode: nil
-// c-basic-offset: 4
-// buffer-file-coding-system: utf-8-unix
-// End:
-//