about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2014-01-15 10:58:29 -0800
committerPatrick Walton <pcwalton@mimiga.net>2014-01-15 10:59:48 -0800
commitff6c0af15baf35bf6d1867df7e846b47cd31b271 (patch)
tree781aa7c25315892fca42ecc6b203c507bd5421ba /src/libsyntax
parent7232dbf7685ba386d079993041d7aea32ee05911 (diff)
downloadrust-ff6c0af15baf35bf6d1867df7e846b47cd31b271.tar.gz
rust-ff6c0af15baf35bf6d1867df7e846b47cd31b271.zip
libsyntax: Remove the obsolete ability to parse from substrings.
This was used by the quasiquoter.
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/codemap.rs50
-rw-r--r--src/libsyntax/parse/mod.rs41
2 files changed, 9 insertions, 82 deletions
diff --git a/src/libsyntax/codemap.rs b/src/libsyntax/codemap.rs
index 8f5c4904c78..904ef91d635 100644
--- a/src/libsyntax/codemap.rs
+++ b/src/libsyntax/codemap.rs
@@ -191,15 +191,6 @@ pub struct FileLines
     lines: ~[uint]
 }
 
-// represents the origin of a file:
-pub enum FileSubstr {
-    // indicates that this is a normal standalone file:
-    FssNone,
-    // indicates that this "file" is actually a substring
-    // of another file that appears earlier in the codemap
-    FssInternal(Span),
-}
-
 /// Identifies an offset of a multi-byte character in a FileMap
 pub struct MultiByteChar {
     /// The absolute offset of the character in the CodeMap
@@ -214,8 +205,6 @@ pub struct FileMap {
     /// originate from files has names between angle brackets by convention,
     /// e.g. `<anon>`
     name: FileName,
-    /// Extra information used by qquote
-    substr: FileSubstr,
     /// The complete source code
     src: @str,
     /// The start position of this source in the CodeMap
@@ -278,16 +267,7 @@ impl CodeMap {
         }
     }
 
-    /// Add a new FileMap to the CodeMap and return it
     pub fn new_filemap(&self, filename: FileName, src: @str) -> @FileMap {
-        return self.new_filemap_w_substr(filename, FssNone, src);
-    }
-
-    pub fn new_filemap_w_substr(&self,
-                                filename: FileName,
-                                substr: FileSubstr,
-                                src: @str)
-                                -> @FileMap {
         let mut files = self.files.borrow_mut();
         let start_pos = if files.get().len() == 0 {
             0
@@ -298,7 +278,8 @@ impl CodeMap {
         };
 
         let filemap = @FileMap {
-            name: filename, substr: substr, src: src,
+            name: filename,
+            src: src,
             start_pos: Pos::from_uint(start_pos),
             lines: RefCell::new(~[]),
             multibyte_chars: RefCell::new(~[]),
@@ -322,31 +303,16 @@ impl CodeMap {
 
     pub fn lookup_char_pos_adj(&self, pos: BytePos) -> LocWithOpt {
         let loc = self.lookup_char_pos(pos);
-        match (loc.file.substr) {
-            FssNone =>
-            LocWithOpt {
-                filename: loc.file.name,
-                line: loc.line,
-                col: loc.col,
-                file: Some(loc.file)},
-            FssInternal(sp) =>
-            self.lookup_char_pos_adj(
-                sp.lo + (pos - loc.file.start_pos)),
+        LocWithOpt {
+            filename: loc.file.name,
+            line: loc.line,
+            col: loc.col,
+            file: Some(loc.file)
         }
     }
 
     pub fn adjust_span(&self, sp: Span) -> Span {
-        let line = self.lookup_line(sp.lo);
-        match (line.fm.substr) {
-            FssNone => sp,
-            FssInternal(s) => {
-                self.adjust_span(Span {
-                    lo: s.lo + (sp.lo - line.fm.start_pos),
-                    hi: s.lo + (sp.hi - line.fm.start_pos),
-                    expn_info: sp.expn_info
-                })
-            }
-        }
+        sp
     }
 
     pub fn span_to_str(&self, sp: Span) -> ~str {
diff --git a/src/libsyntax/parse/mod.rs b/src/libsyntax/parse/mod.rs
index ea069c2ffe3..c278fb2fc51 100644
--- a/src/libsyntax/parse/mod.rs
+++ b/src/libsyntax/parse/mod.rs
@@ -12,7 +12,7 @@
 
 
 use ast;
-use codemap::{Span, CodeMap, FileMap, FileSubstr};
+use codemap::{Span, CodeMap, FileMap};
 use codemap;
 use diagnostic::{SpanHandler, mk_span_handler, mk_handler, Emitter};
 use parse::attr::ParserAttr;
@@ -180,27 +180,6 @@ pub fn parse_tts_from_source_str(
     maybe_aborted(p.parse_all_token_trees(),p)
 }
 
-// given a function and parsing information (source str,
-// filename, crate cfg, and sess), create a parser,
-// apply the function, and check that the parser
-// consumed all of the input before returning the function's
-// result.
-pub fn parse_from_source_str<T>(
-                             f: |&mut Parser| -> T,
-                             name: @str,
-                             ss: codemap::FileSubstr,
-                             source: @str,
-                             cfg: ast::CrateConfig,
-                             sess: @ParseSess)
-                             -> T {
-    let mut p = new_parser_from_source_substr(sess, cfg, name, ss, source);
-    let r = f(&mut p);
-    if !p.reader.is_eof() {
-        p.reader.fatal(~"expected end-of-string");
-    }
-    maybe_aborted(r,p)
-}
-
 // Create a new parser from a source string
 pub fn new_parser_from_source_str(sess: @ParseSess,
                                   cfg: ast::CrateConfig,
@@ -210,17 +189,6 @@ pub fn new_parser_from_source_str(sess: @ParseSess,
     filemap_to_parser(sess,string_to_filemap(sess,source,name),cfg)
 }
 
-// Create a new parser from a source string where the origin
-// is specified as a substring of another file.
-pub fn new_parser_from_source_substr(sess: @ParseSess,
-                                  cfg: ast::CrateConfig,
-                                  name: @str,
-                                  ss: codemap::FileSubstr,
-                                  source: @str)
-                               -> Parser {
-    filemap_to_parser(sess,substring_to_filemap(sess,source,name,ss),cfg)
-}
-
 /// Create a new parser, handling errors as appropriate
 /// if the file doesn't exist
 pub fn new_parser_from_file(
@@ -297,13 +265,6 @@ pub fn string_to_filemap(sess: @ParseSess, source: @str, path: @str)
     sess.cm.new_filemap(path, source)
 }
 
-// given a session and a string and a path and a FileSubStr, add
-// the string to the CodeMap and return the new FileMap
-pub fn substring_to_filemap(sess: @ParseSess, source: @str, path: @str,
-                           filesubstr: FileSubstr) -> @FileMap {
-    sess.cm.new_filemap_w_substr(path,filesubstr,source)
-}
-
 // given a filemap, produce a sequence of token-trees
 pub fn filemap_to_tts(sess: @ParseSess, filemap: @FileMap)
     -> ~[ast::TokenTree] {