Unnamed repository; edit this file 'description' to name the repository.
-rw-r--r--crates/syntax/src/lib.rs4
-rw-r--r--crates/syntax/src/syntax_node.rs2
-rw-r--r--crates/syntax/src/validation.rs7
3 files changed, 5 insertions, 8 deletions
diff --git a/crates/syntax/src/lib.rs b/crates/syntax/src/lib.rs
index ea0de4f28d..40460e18c3 100644
--- a/crates/syntax/src/lib.rs
+++ b/crates/syntax/src/lib.rs
@@ -162,10 +162,6 @@ impl SourceFile {
let (green, mut errors) = parsing::parse_text(text);
let root = SyntaxNode::new_root(green.clone());
- if cfg!(debug_assertions) {
- validation::validate_block_structure(&root);
- }
-
errors.extend(validation::validate(&root));
assert_eq!(root.kind(), SyntaxKind::SOURCE_FILE);
diff --git a/crates/syntax/src/syntax_node.rs b/crates/syntax/src/syntax_node.rs
index 6e838dd229..0ddfd439dc 100644
--- a/crates/syntax/src/syntax_node.rs
+++ b/crates/syntax/src/syntax_node.rs
@@ -47,7 +47,7 @@ impl SyntaxTreeBuilder {
pub fn finish(self) -> Parse<SyntaxNode> {
let (green, errors) = self.finish_raw();
- if cfg!(debug_assertions) {
+ if cfg!(debug_assertions) && false {
let node = SyntaxNode::new_root(green.clone());
crate::validation::validate_block_structure(&node);
}
diff --git a/crates/syntax/src/validation.rs b/crates/syntax/src/validation.rs
index 745419f074..a7c469ffdf 100644
--- a/crates/syntax/src/validation.rs
+++ b/crates/syntax/src/validation.rs
@@ -170,7 +170,7 @@ fn validate_literal(literal: ast::Literal, acc: &mut Vec<SyntaxError>) {
pub(crate) fn validate_block_structure(root: &SyntaxNode) {
let mut stack = Vec::new();
- for node in root.descendants() {
+ for node in root.descendants_with_tokens() {
match node.kind() {
T!['{'] => stack.push(node),
T!['}'] => {
@@ -183,11 +183,12 @@ pub(crate) fn validate_block_structure(root: &SyntaxNode) {
root,
);
assert!(
- node.next_sibling().is_none() && pair.prev_sibling().is_none(),
+ node.next_sibling_or_token().is_none()
+ && pair.prev_sibling_or_token().is_none(),
"\nfloating curlys at {:?}\nfile:\n{}\nerror:\n{}\n",
node,
root.text(),
- node.text(),
+ node,
);
}
}