continue;
}
if node.kind() == COMMENT {
- contiguous_range_for_comment(node, &mut visited_comments).map(|range| {
+ if let Some(range) = contiguous_range_for_comment(node, &mut visited_comments) {
res.push(Fold {
range,
kind: FoldKind::Comment,
})
- });
+ }
}
}
let line = self.newlines.upper_bound(&offset) - 1;
let line_start_offset = self.newlines[line];
let col = offset - line_start_offset;
- return LineCol {
+ LineCol {
line: line as u32,
col,
- };
+ }
}
pub fn offset(&self, line_col: LineCol) -> TextUnit {
let mut res = Vec::new();
let mut stack = Vec::new();
+
for event in file.syntax().preorder() {
match event {
- WalkEvent::Enter(node) => match structure_node(node) {
- Some(mut symbol) => {
+ WalkEvent::Enter(node) => {
+ if let Some(mut symbol) = structure_node(node) {
symbol.parent = stack.last().map(|&n| n);
stack.push(res.len());
res.push(symbol);
}
- None => (),
},
WalkEvent::Leave(node) => {
if structure_node(node).is_some() {
events
.into_iter()
.map(|event| {
- let text = match event.kind {
- FileEventKind::Add(text) => text,
- };
+ let FileEventKind::Add(text) = event.kind;
(event.path, text)
})
.map(|(path, text)| (pm.get_or_insert(path, Root::Lib), text))
let left = children.next().unwrap();
let right = children.next();
assert!(children.next().is_none());
- return if let Some(right) = right {
+
+ if let Some(right) = right {
match (
find_leaf_at_offset(left, offset),
find_leaf_at_offset(right, offset),
}
} else {
find_leaf_at_offset(left, offset)
- };
+ }
}
#[derive(Clone, Copy, Debug)]
type Item = N;
fn next(&mut self) -> Option<N> {
loop {
- match N::cast(self.inner.next()?) {
- Some(n) => return Some(n),
- None => (),
+ if let Some(n) = N::cast(self.inner.next()?) {
+ return Some(n);
}
}
}
const EXPR_RECOVERY_SET: TokenSet = token_set![LET_KW];
pub(super) fn atom_expr(p: &mut Parser, r: Restrictions) -> Option<CompletedMarker> {
- match literal(p) {
- Some(m) => return Some(m),
- None => (),
+ if let Some(m) = literal(p) {
+ return Some(m);
}
if paths::is_path_start(p) || p.at(L_ANGLE) {
return Some(path_expr(p, r));
pub(super) fn macro_call_after_excl(p: &mut Parser) -> BlockLike {
p.expect(EXCL);
p.eat(IDENT);
- let flavor = match p.current() {
+ match p.current() {
L_CURLY => {
token_tree(p);
BlockLike::Block
p.error("expected `{`, `[`, `(`");
BlockLike::NotBlock
}
- };
-
- flavor
+ }
}
pub(crate) fn token_tree(p: &mut Parser) {
// "hello" => (),
// }
// }
- match expressions::literal(p) {
- Some(m) => return Some(m),
- None => (),
+ if let Some(m) = expressions::literal(p) {
+ return Some(m);
}
let m = match la0 {
writeln!(buf, "err: `{}`", err.msg).unwrap();
}
- return buf;
+ buf
}
pub fn check_fuzz_invariants(text: &str) {
name: name.clone(),
text,
};
- match res.insert(name, (path, test)) {
- Some(old) => println!("Duplicate test: {:?}", old),
- None => (),
+ if let Some(old) = res.insert(name, (path, test)) {
+ println!("Duplicate test: {:?}", old);
}
}
Ok(res)