Get rid of format_imports

This commit is contained in:
topecongiro 2018-02-18 01:36:02 +09:00 committed by Seiichi Uchida
parent 8427b80f57
commit e992c09e1f
2 changed files with 8 additions and 18 deletions

View File

@ -17,10 +17,8 @@ use syntax::codemap::{BytePos, Span};
use codemap::SpanUtils;
use config::IndentStyle;
use lists::{definitive_tactic, itemize_list, write_list, ListFormatting, ListItem, Separator};
use reorder::rewrite_reorderable_items;
use rewrite::{Rewrite, RewriteContext};
use shape::Shape;
use spanned::Spanned;
use types::{rewrite_path, PathContext};
use utils::{format_visibility, mk_sp};
use visitor::FmtVisitor;
@ -125,18 +123,6 @@ pub fn rewrite_import(
}
impl<'a> FmtVisitor<'a> {
pub fn format_imports(&mut self, use_items: &[&ast::Item]) {
if use_items.is_empty() {
return;
}
let lo = use_items.first().unwrap().span().lo();
let hi = use_items.last().unwrap().span().hi();
let span = mk_sp(lo, hi);
let rw = rewrite_reorderable_items(&self.get_context(), use_items, self.shape(), span);
self.push_rewrite(span, rw);
}
pub fn format_import(&mut self, item: &ast::Item, tree: &ast::UseTree) {
let span = item.span;
let shape = self.shape();

View File

@ -149,7 +149,7 @@ fn compare_items(a: &ast::Item, b: &ast::Item) -> Ordering {
/// the same `ast::ItemKind`.
// TODO (some day) remove unused imports, expand globs, compress many single
// imports into a list import.
pub fn rewrite_reorderable_items(
fn rewrite_reorderable_items(
context: &RewriteContext,
reorderable_items: &[&ast::Item],
shape: Shape,
@ -259,8 +259,12 @@ impl<'b, 'a: 'b> FmtVisitor<'a> {
.iter()
.any(|item| !out_of_file_lines_range!(self, item.span));
if at_least_one_in_file_lines {
self.format_imports(items);
if at_least_one_in_file_lines && !items.is_empty() {
let lo = items.first().unwrap().span().lo();
let hi = items.last().unwrap().span().hi();
let span = mk_sp(lo, hi);
let rw = rewrite_reorderable_items(&self.get_context(), items, self.shape(), span);
self.push_rewrite(span, rw);
} else {
for item in items {
self.push_rewrite(item.span, None);
@ -284,7 +288,7 @@ impl<'b, 'a: 'b> FmtVisitor<'a> {
while !items_left.is_empty() {
// If the next item is a `use`, `extern crate` or `mod`, then extract it and any
// subsequent items that have the same item kind to be reordered within
// `format_imports`. Otherwise, just format the next item for output.
// `reorder_items`. Otherwise, just format the next item for output.
{
try_reorder_items_with!(
reorder_imports,