]> git.lizzy.rs Git - rust.git/commitdiff
Fix spans for doc comments
authorKevin Ballard <kevin@sb.org>
Sat, 24 May 2014 04:41:59 +0000 (21:41 -0700)
committerKevin Ballard <kevin@sb.org>
Wed, 18 Jun 2014 17:51:27 +0000 (10:51 -0700)
src/libsyntax/parse/lexer/mod.rs

index 9039f346edb522cf4180b850534cc8bb211f495e..4ea47eb0a3db983bd18d84121e88e913464d2e7c 100644 (file)
@@ -304,7 +304,7 @@ fn consume_any_line_comment(&mut self) -> Option<TokenAndSpan> {
                             if !is_line_non_doc_comment(string) {
                                 Some(TokenAndSpan{
                                     tok: token::DOC_COMMENT(str_to_ident(string)),
-                                    sp: codemap::mk_sp(start_bpos, self.pos)
+                                    sp: codemap::mk_sp(start_bpos, self.last_pos)
                                 })
                             } else {
                                 None
@@ -358,7 +358,7 @@ fn consume_whitespace_and_comments(&mut self) -> Option<TokenAndSpan> {
     fn consume_block_comment(&mut self) -> Option<TokenAndSpan> {
         // block comments starting with "/**" or "/*!" are doc-comments
         let is_doc_comment = self.curr_is('*') || self.curr_is('!');
-        let start_bpos = self.pos - BytePos(if is_doc_comment {3} else {2});
+        let start_bpos = self.last_pos - BytePos(2);
 
         let mut level: int = 1;
         while level > 0 {
@@ -389,7 +389,7 @@ fn consume_block_comment(&mut self) -> Option<TokenAndSpan> {
                 if !is_block_non_doc_comment(string) {
                     Some(TokenAndSpan{
                             tok: token::DOC_COMMENT(str_to_ident(string)),
-                            sp: codemap::mk_sp(start_bpos, self.pos)
+                            sp: codemap::mk_sp(start_bpos, self.last_pos)
                         })
                 } else {
                     None