mirror of
https://github.com/rust-lang/rust.git
synced 2025-04-14 04:56:49 +00:00
Combine block utilities
This commit is contained in:
parent
4d7de5a16e
commit
22837b0748
21
src/expr.rs
21
src/expr.rs
@ -688,6 +688,27 @@ fn is_simple_block(block: &ast::Block, codemap: &CodeMap) -> bool {
|
||||
!contains_comment(&snippet)
|
||||
}
|
||||
|
||||
/// 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)
|
||||
}
|
||||
|
||||
/// 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)
|
||||
}
|
||||
|
||||
// inter-match-arm-comment-rules:
|
||||
// - all comments following a match arm before the start of the next arm
|
||||
// are about the second arm
|
||||
|
26
src/items.rs
26
src/items.rs
@ -15,14 +15,14 @@ use utils::{format_mutability, format_visibility, contains_skip, span_after, end
|
||||
wrap_str, last_line_width, semicolon_for_expr, semicolon_for_stmt};
|
||||
use lists::{write_list, itemize_list, ListItem, ListFormatting, SeparatorTactic,
|
||||
DefinitiveListTactic, definitive_tactic, format_item_list};
|
||||
use expr::rewrite_assign_rhs;
|
||||
use comment::{FindUncommented, contains_comment};
|
||||
use expr::{is_empty_block, is_simple_block_stmt, rewrite_assign_rhs};
|
||||
use comment::FindUncommented;
|
||||
use visitor::FmtVisitor;
|
||||
use rewrite::{Rewrite, RewriteContext};
|
||||
use config::{Config, BlockIndentStyle, Density, ReturnIndent, BraceStyle, StructLitStyle};
|
||||
|
||||
use syntax::{ast, abi};
|
||||
use syntax::codemap::{Span, BytePos, CodeMap, mk_sp};
|
||||
use syntax::codemap::{Span, BytePos, mk_sp};
|
||||
use syntax::print::pprust;
|
||||
use syntax::parse::token;
|
||||
|
||||
@ -1392,23 +1392,3 @@ fn span_for_where_pred(pred: &ast::WherePredicate) -> Span {
|
||||
ast::WherePredicate::EqPredicate(ref p) => p.span,
|
||||
}
|
||||
}
|
||||
|
||||
// Checks whether a block contains at most one statement or expression, and no comments.
|
||||
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)
|
||||
}
|
||||
|
||||
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)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user