diff --git a/src/protocol/parser/pass_tokenizer.rs b/src/protocol/parser/pass_tokenizer.rs index d41b6f65939a7267f7a38fb635d78b51fb634e1d..6cb83d224693328d20a184c3c0bb26eb8c9b2482 100644 --- a/src/protocol/parser/pass_tokenizer.rs +++ b/src/protocol/parser/pass_tokenizer.rs @@ -83,12 +83,10 @@ impl PassTokenizer { } else if self.is_block_comment_start(c, source) { self.consume_block_comment(source, target)?; } else if is_whitespace(c) { - let contained_newline = self.consume_whitespace(source); - if contained_newline { - let range = &target.ranges[self.stack_idx]; - if range.range_kind == TokenRangeKind::Pragma { - self.pop_range(target, target.tokens.len() as u32); - } + self.consume_whitespace(source); + let range = &target.ranges[self.stack_idx]; + if range.range_kind == TokenRangeKind::Pragma { + self.pop_range(target, target.tokens.len() as u32); } } else { let was_punctuation = self.maybe_parse_punctuation(c, source, target)?; @@ -509,10 +507,9 @@ impl PassTokenizer { // Modify offset to not include the newline characters if cur_char == b'\n' { if prev_char == b'\r' { - end_pos.offset -= 2; - } else { end_pos.offset -= 1; } + // Consume final newline source.consume(); } else {