mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-29 05:15:04 +00:00
remove old parsing methods
This commit is contained in:
parent
310bfe57bd
commit
0efbcdf435
7 changed files with 54 additions and 62 deletions
|
@ -5,12 +5,11 @@ use std::str::{self, FromStr};
|
|||
fn check_file_invariants(file: &SourceFile) {
|
||||
let root = file.syntax();
|
||||
validation::validate_block_structure(root);
|
||||
let _ = file.errors();
|
||||
}
|
||||
|
||||
pub fn check_parser(text: &str) {
|
||||
let file = SourceFile::parse(text);
|
||||
check_file_invariants(&file);
|
||||
check_file_invariants(&file.tree);
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
|
@ -44,16 +43,18 @@ impl CheckReparse {
|
|||
}
|
||||
|
||||
pub fn run(&self) {
|
||||
let file = SourceFile::parse(&self.text);
|
||||
let new_file = file.reparse(&self.edit);
|
||||
check_file_invariants(&new_file);
|
||||
assert_eq!(&new_file.syntax().text().to_string(), &self.edited_text);
|
||||
let parse = SourceFile::parse(&self.text);
|
||||
let new_parse = parse.reparse(&self.edit);
|
||||
check_file_invariants(&new_parse.tree);
|
||||
assert_eq!(&new_parse.tree.syntax().text().to_string(), &self.edited_text);
|
||||
let full_reparse = SourceFile::parse(&self.edited_text);
|
||||
for (a, b) in new_file.syntax().descendants().zip(full_reparse.syntax().descendants()) {
|
||||
for (a, b) in
|
||||
new_parse.tree.syntax().descendants().zip(full_reparse.tree.syntax().descendants())
|
||||
{
|
||||
if (a.kind(), a.range()) != (b.kind(), b.range()) {
|
||||
eprint!("original:\n{}", file.syntax().debug_dump());
|
||||
eprint!("reparsed:\n{}", new_file.syntax().debug_dump());
|
||||
eprint!("full reparse:\n{}", full_reparse.syntax().debug_dump());
|
||||
eprint!("original:\n{}", parse.tree.syntax().debug_dump());
|
||||
eprint!("reparsed:\n{}", new_parse.tree.syntax().debug_dump());
|
||||
eprint!("full reparse:\n{}", full_reparse.tree.syntax().debug_dump());
|
||||
assert_eq!(
|
||||
format!("{:?}", a),
|
||||
format!("{:?}", b),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue