about summary refs log tree commit diff
path: root/src/libsyntax/parse
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2018-10-12 09:23:10 +0000
committerbors <bors@rust-lang.org>2018-10-12 09:23:10 +0000
commit849a0e9c40ef79efec0802334fe10406ea3e7256 (patch)
treefe723bda29970a99a90d0433d95a4c2ef02c4f7b /src/libsyntax/parse
parent8dc554a32507de2d923e5ba3ca3d672adaf0a822 (diff)
parent322e46916e8251821543769ada7e38d6e4532da4 (diff)
downloadrust-849a0e9c40ef79efec0802334fe10406ea3e7256.tar.gz
rust-849a0e9c40ef79efec0802334fe10406ea3e7256.zip
Auto merge of #53933 - GuillaumeGomez:codeblock-error-display, r=QuietMisdreavus
Improve error display for codeblocks in rustdoc

Part of #53919.

r? @QuietMisdreavus
Diffstat (limited to 'src/libsyntax/parse')
-rw-r--r--src/libsyntax/parse/lexer/mod.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libsyntax/parse/lexer/mod.rs b/src/libsyntax/parse/lexer/mod.rs
index aa47d5bf669..a814c88ee78 100644
--- a/src/libsyntax/parse/lexer/mod.rs
+++ b/src/libsyntax/parse/lexer/mod.rs
@@ -238,6 +238,19 @@ impl<'a> StringReader<'a> {
         sr
     }
 
+    pub fn new_without_err(sess: &'a ParseSess,
+                           source_file: Lrc<syntax_pos::SourceFile>,
+                           override_span: Option<Span>,
+                           prepend_error_text: &str) -> Result<Self, ()> {
+        let mut sr = StringReader::new_raw(sess, source_file, override_span);
+        if sr.advance_token().is_err() {
+            eprintln!("{}", prepend_error_text);
+            sr.emit_fatal_errors();
+            return Err(());
+        }
+        Ok(sr)
+    }
+
     pub fn retokenize(sess: &'a ParseSess, mut span: Span) -> Self {
         let begin = sess.source_map().lookup_byte_offset(span.lo());
         let end = sess.source_map().lookup_byte_offset(span.hi());