diff options
| author | Kevin Yeh <kevinyeah@utexas.edu> | 2015-11-19 20:11:32 -0600 |
|---|---|---|
| committer | Kevin Yeh <kevinyeah@utexas.edu> | 2015-11-19 20:45:02 -0600 |
| commit | 15ec5b291292f87697b32f30cc31f863538959a2 (patch) | |
| tree | e9f3f1e15d06591c0b33b4d72e92a3547eb5a3d9 /src/expr.rs | |
| parent | fbd1398c925fb51d72c3764133e1d35679cb53c2 (diff) | |
Fix empty body format, add fn_empty_single_line option, refactor block tests
Diffstat (limited to 'src/expr.rs')
| -rw-r--r-- | src/expr.rs | 29 |
1 files changed, 9 insertions, 20 deletions
diff --git a/src/expr.rs b/src/expr.rs index 5ec12876c4b..b494cb08fcc 100644 --- a/src/expr.rs +++ b/src/expr.rs @@ -705,36 +705,25 @@ fn single_line_if_else(context: &RewriteContext, None } -// Checks that a block contains no statements, an expression and no comments. -fn is_simple_block(block: &ast::Block, codemap: &CodeMap) -> bool { - if !block.stmts.is_empty() || block.expr.is_none() { - return false; - } - +fn block_contains_comment(block: &ast::Block, codemap: &CodeMap) -> bool { let snippet = codemap.span_to_snippet(block.span).unwrap(); + contains_comment(&snippet) +} - !contains_comment(&snippet) +// Checks that a block contains no statements, an expression and no comments. +pub fn is_simple_block(block: &ast::Block, codemap: &CodeMap) -> bool { + block.stmts.is_empty() && block.expr.is_some() && !block_contains_comment(block, codemap) } /// Checks whether a block contains at most one statement or expression, and no comments. pub fn is_simple_block_stmt(block: &ast::Block, codemap: &CodeMap) -> bool { - if (!block.stmts.is_empty() && block.expr.is_some()) || - (block.stmts.len() != 1 && block.expr.is_none()) { - return false; - } - - let snippet = codemap.span_to_snippet(block.span).unwrap(); - !contains_comment(&snippet) + (block.stmts.is_empty() || (block.stmts.len() == 1 && block.expr.is_none())) && + !block_contains_comment(block, codemap) } /// Checks whether a block contains no statements, expressions, or comments. pub fn is_empty_block(block: &ast::Block, codemap: &CodeMap) -> bool { - if !block.stmts.is_empty() || block.expr.is_some() { - return false; - } - - let snippet = codemap.span_to_snippet(block.span).unwrap(); - !contains_comment(&snippet) + block.stmts.is_empty() && block.expr.is_none() && !block_contains_comment(block, codemap) } // inter-match-arm-comment-rules: |
