Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions sway-fmt-v2/src/items/item_enum.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,15 @@ impl Format for ItemEnum {
generics.format(formatted_code, formatter)?;
}

let fields = self.fields.clone().into_inner();
let fields = self.fields.get();

// Handle openning brace
ItemEnum::open_curly_brace(formatted_code, formatter)?;
// Determine alignment tactic
match formatter.config.structures.field_alignment {
FieldAlignment::AlignFields(enum_variant_align_threshold) => {
writeln!(formatted_code)?;
let value_pairs = fields.value_separator_pairs;
let value_pairs = &fields.value_separator_pairs;
// In first iteration we are going to be collecting the lengths of the enum variants.
let variant_length: Vec<usize> = value_pairs
.iter()
Expand Down
9 changes: 3 additions & 6 deletions sway-fmt-v2/src/items/item_fn.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,7 @@ impl Format for ItemFn {
) -> Result<(), FormatterError> {
self.fn_signature.format(formatted_code, formatter)?;
Self::open_curly_brace(formatted_code, formatter)?;
self.body
.clone()
.into_inner()
.format(formatted_code, formatter)?;
self.body.get().format(formatted_code, formatter)?;
Self::close_curly_brace(formatted_code, formatter)?;

Ok(())
Expand Down Expand Up @@ -96,13 +93,13 @@ impl Format for FnSignature {
self.name.as_str()
)?;
// `<T>`
if let Some(generics) = &self.generics.clone() {
if let Some(generics) = &self.generics {
generics.format(formatted_code, formatter)?;
}
// `(`
Self::open_parenthesis(formatted_code, formatter)?;
// FnArgs
match self.arguments.clone().into_inner() {
match self.arguments.get() {
FnArgs::Static(args) => {
args.format(formatted_code, formatter)?;
}
Expand Down
2 changes: 1 addition & 1 deletion sway-fmt-v2/src/items/item_impl.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ impl Format for ItemImpl {
formatter.shape.update_where_clause();
}
Self::open_curly_brace(formatted_code, formatter)?;
let contents = self.contents.clone().into_inner();
let contents = self.contents.get();
for item in contents.iter() {
item.format(formatted_code, formatter)?;
}
Expand Down
4 changes: 2 additions & 2 deletions sway-fmt-v2/src/items/item_storage.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ impl Format for ItemStorage {
.update_line_style(LineStyle::Multiline);
// Add storage token
write!(formatted_code, "{}", self.storage_token.span().as_str())?;
let fields = self.fields.clone().into_inner();
let fields = self.fields.get();

// Handle openning brace
Self::open_curly_brace(formatted_code, formatter)?;
Expand All @@ -34,7 +34,7 @@ impl Format for ItemStorage {
match formatter.config.structures.field_alignment {
FieldAlignment::AlignFields(storage_field_align_threshold) => {
writeln!(formatted_code)?;
let value_pairs = fields.value_separator_pairs;
let value_pairs = &fields.value_separator_pairs;
// In first iteration we are going to be collecting the lengths of the struct fields.
let field_length: Vec<usize> = value_pairs
.iter()
Expand Down
4 changes: 2 additions & 2 deletions sway-fmt-v2/src/items/item_struct.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,15 @@ impl Format for ItemStruct {
generics.format(formatted_code, formatter)?;
}

let fields = self.fields.clone().into_inner();
let fields = self.fields.get();

// Handle openning brace
Self::open_curly_brace(formatted_code, formatter)?;
// Determine alignment tactic
match formatter.config.structures.field_alignment {
FieldAlignment::AlignFields(enum_variant_align_threshold) => {
writeln!(formatted_code)?;
let value_pairs = fields.value_separator_pairs;
let value_pairs = &fields.value_separator_pairs;
// In first iteration we are going to be collecting the lengths of the struct variants.
let variant_length: Vec<usize> = value_pairs
.iter()
Expand Down
4 changes: 2 additions & 2 deletions sway-fmt-v2/src/items/item_trait.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,15 @@ impl Format for ItemTrait {
}
write!(formatted_code, " ")?;
Self::open_curly_brace(formatted_code, formatter)?;
for (fn_signature, semicolon_token) in self.trait_items.clone().into_inner() {
for (fn_signature, semicolon_token) in self.trait_items.get() {
// format `Annotated<FnSignature>`
fn_signature.format(formatted_code, formatter)?;
writeln!(formatted_code, "{}\n", semicolon_token.ident().as_str())?;
}
formatted_code.pop(); // pop last ending newline
if let Some(trait_defs) = &self.trait_defs_opt {
Self::open_curly_brace(formatted_code, formatter)?;
for trait_items in trait_defs.clone().into_inner() {
for trait_items in trait_defs.get() {
write!(
formatted_code,
"{}",
Expand Down
6 changes: 3 additions & 3 deletions sway-fmt-v2/src/utils/attribute.rs
Original file line number Diff line number Diff line change
Expand Up @@ -54,14 +54,14 @@ impl FormatDecl for AttributeDecl {
write!(line, "{}", self.hash_token.span().as_str())?;
// `[`
Self::open_square_bracket(line, formatter)?;
let attr = self.attribute.clone().into_inner();
let attr = self.attribute.get();
// name e.g. `storage`
write!(line, "{}", attr.name.span().as_str())?;
// `(`
Self::open_parenthesis(line, formatter)?;
// format and add args e.g. `read, write`
if let Some(args) = attr.args {
args.into_inner().format(line, formatter)?;
if let Some(args) = &attr.args {
args.get().format(line, formatter)?;
}
// ')'
Self::close_parenthesis(line, formatter)?;
Expand Down
6 changes: 3 additions & 3 deletions sway-fmt-v2/src/utils/comments.rs
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ where
// Add opening brace's ByteSpan
collected_spans.push(opening_brace_span);
// Add T's collected ByteSpan
collected_spans.append(&mut self.clone().into_inner().leaf_spans());
collected_spans.append(&mut self.get().leaf_spans());
let mut closing_brace_span = ByteSpan::from(self.span());
closing_brace_span.start = closing_brace_span.end - 1;
// Add closing brace's ByteSpan
Expand All @@ -135,7 +135,7 @@ where
// Add opening paren's span
collected_spans.push(opening_paren_span);
// Add T's collected ByteSpan
collected_spans.append(&mut self.clone().into_inner().leaf_spans());
collected_spans.append(&mut self.get().leaf_spans());
let mut closing_paren_span = ByteSpan::from(self.span());
closing_paren_span.start = closing_paren_span.end - 1;
// Add closing paren's ByteSpan
Expand All @@ -155,7 +155,7 @@ where
// Add opening bracket's span
collected_spans.push(opening_bracket_span);
// Add T's collected ByteSpan
collected_spans.append(&mut self.clone().into_inner().leaf_spans());
collected_spans.append(&mut self.get().leaf_spans());
let mut closing_bracket_span = ByteSpan::from(self.span());
closing_bracket_span.start = closing_bracket_span.end - 1;
// Add closing bracket's ByteSpan
Expand Down
10 changes: 2 additions & 8 deletions sway-fmt-v2/src/utils/expr/asm_block.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,10 @@ impl Format for AsmBlock {
) -> Result<(), FormatterError> {
write!(formatted_code, "{} ", self.asm_token.span().as_str())?;
Self::open_parenthesis(formatted_code, formatter)?;
self.registers
.clone()
.into_inner()
.format(formatted_code, formatter)?;
self.registers.get().format(formatted_code, formatter)?;
Self::close_parenthesis(formatted_code, formatter)?;
Self::open_square_bracket(formatted_code, formatter)?;
self.contents
.clone()
.into_inner()
.format(formatted_code, formatter)?;
self.contents.get().format(formatted_code, formatter)?;
Self::close_square_bracket(formatted_code, formatter)?;

Ok(())
Expand Down
2 changes: 1 addition & 1 deletion sway-fmt-v2/src/utils/expr/assignable.rs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ impl Format for Assignable {
Assignable::Index { target, arg } => {
target.format(formatted_code, formatter)?;
Expr::open_square_bracket(formatted_code, formatter)?;
arg.clone().into_inner().format(formatted_code, formatter)?;
arg.get().format(formatted_code, formatter)?;
Expr::close_square_bracket(formatted_code, formatter)?;
}
Assignable::FieldProjection {
Expand Down
13 changes: 3 additions & 10 deletions sway-fmt-v2/src/utils/expr/conditional.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,7 @@ impl Format for IfExpr {
write!(formatted_code, "{} ", self.if_token.span().as_str())?;
self.condition.format(formatted_code, formatter)?;
Self::open_curly_brace(formatted_code, formatter)?;
self.then_block
.clone()
.into_inner()
.format(formatted_code, formatter)?;
self.then_block.get().format(formatted_code, formatter)?;
Self::close_curly_brace(formatted_code, formatter)?;
if let Some(else_opt) = &self.else_opt {
write!(formatted_code, "{} ", else_opt.0.span().as_str())?;
Expand All @@ -30,8 +27,7 @@ impl Format for IfExpr {
ControlFlow::Break(code_block_contents) => {
Self::open_curly_brace(formatted_code, formatter)?;
code_block_contents
.clone()
.into_inner()
.get()
.format(formatted_code, formatter)?;
Self::close_curly_brace(formatted_code, formatter)?;
}
Expand Down Expand Up @@ -133,10 +129,7 @@ impl Format for MatchBranchKind {
comma_token_opt,
} => {
Self::open_curly_brace(formatted_code, formatter)?;
block
.clone()
.into_inner()
.format(formatted_code, formatter)?;
block.get().format(formatted_code, formatter)?;
Self::close_curly_brace(formatted_code, formatter)?;
if let Some(comma_token) = comma_token_opt {
write!(formatted_code, "{}", comma_token.span().as_str())?;
Expand Down
52 changes: 15 additions & 37 deletions sway-fmt-v2/src/utils/expr/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,7 @@ impl Format for Expr {
Self::Literal(lit) => lit.format(formatted_code, formatter)?,
Self::AbiCast { abi_token, args } => {
write!(formatted_code, "{}", abi_token.span().as_str())?;
args.clone()
.into_inner()
.format(formatted_code, formatter)?;
args.get().format(formatted_code, formatter)?;
}
Self::Struct { path, fields } => {
// store previous state and update expr kind
Expand All @@ -61,7 +59,7 @@ impl Format for Expr {

// get the largest field size and the size of the body
let (field_width, body_width) =
get_field_width(&fields.clone().into_inner(), &mut formatter.clone())?;
get_field_width(fields.get(), &mut formatter.clone())?;

// changes to the actual formatter
let expr_width = buf.chars().count() as usize;
Expand Down Expand Up @@ -104,25 +102,17 @@ impl Format for Expr {
}
Self::Parens(expr) => {
Self::open_parenthesis(formatted_code, formatter)?;
expr.clone()
.into_inner()
.format(formatted_code, formatter)?;
expr.get().format(formatted_code, formatter)?;
Self::close_parenthesis(formatted_code, formatter)?;
}
Self::Block(code_block) => {
CodeBlockContents::open_curly_brace(formatted_code, formatter)?;
code_block
.clone()
.into_inner()
.format(formatted_code, formatter)?;
code_block.get().format(formatted_code, formatter)?;
CodeBlockContents::close_curly_brace(formatted_code, formatter)?;
}
Self::Array(array_descriptor) => {
ExprArrayDescriptor::open_square_bracket(formatted_code, formatter)?;
array_descriptor
.clone()
.into_inner()
.format(formatted_code, formatter)?;
array_descriptor.get().format(formatted_code, formatter)?;
ExprArrayDescriptor::close_square_bracket(formatted_code, formatter)?;
}
Self::Asm(asm_block) => asm_block.format(formatted_code, formatter)?,
Expand All @@ -145,7 +135,7 @@ impl Format for Expr {
write!(formatted_code, "{} ", match_token.span().as_str())?;
value.format(formatted_code, formatter)?;
MatchBranch::open_curly_brace(formatted_code, formatter)?;
let branches = branches.clone().into_inner();
let branches = branches.get();
for match_branch in branches.iter() {
match_branch.format(formatted_code, formatter)?;
}
Expand All @@ -159,10 +149,7 @@ impl Format for Expr {
write!(formatted_code, "{} ", while_token.span().as_str())?;
condition.format(formatted_code, formatter)?;
CodeBlockContents::open_curly_brace(formatted_code, formatter)?;
block
.clone()
.into_inner()
.format(formatted_code, formatter)?;
block.get().format(formatted_code, formatter)?;
CodeBlockContents::close_curly_brace(formatted_code, formatter)?;
}
Self::FuncApp { func, args } => {
Expand All @@ -176,15 +163,13 @@ impl Format for Expr {
}
func.format(formatted_code, formatter)?;
Self::open_parenthesis(formatted_code, formatter)?;
args.clone()
.into_inner()
.format(formatted_code, formatter)?;
args.get().format(formatted_code, formatter)?;
Self::close_parenthesis(formatted_code, formatter)?;
}
Self::Index { target, arg } => {
target.format(formatted_code, formatter)?;
Self::open_square_bracket(formatted_code, formatter)?;
arg.clone().into_inner().format(formatted_code, formatter)?;
arg.get().format(formatted_code, formatter)?;
Self::close_square_bracket(formatted_code, formatter)?;
}
Self::MethodCall {
Expand Down Expand Up @@ -215,10 +200,8 @@ impl Format for Expr {
// get the largest field size
let (mut field_width, mut body_width): (usize, usize) = (0, 0);
if let Some(contract_args) = &contract_args_opt {
(field_width, body_width) = get_field_width(
&contract_args.clone().into_inner(),
&mut formatter.clone(),
)?;
(field_width, body_width) =
get_field_width(contract_args.get(), &mut formatter.clone())?;
}

// changes to the actual formatter
Expand Down Expand Up @@ -520,7 +503,7 @@ fn format_expr_struct(
) -> Result<(), FormatterError> {
path.format(formatted_code, formatter)?;
ExprStructField::open_curly_brace(formatted_code, formatter)?;
let fields = &fields.clone().into_inner();
let fields = &fields.get();
match formatter.shape.code_line.line_style {
LineStyle::Inline => fields.format(formatted_code, formatter)?,
// TODO: add field alignment
Expand All @@ -536,10 +519,7 @@ fn format_tuple(
formatted_code: &mut FormattedCode,
formatter: &mut Formatter,
) -> Result<(), FormatterError> {
tuple_descriptor
.clone()
.into_inner()
.format(formatted_code, formatter)?;
tuple_descriptor.get().format(formatted_code, formatter)?;

Ok(())
}
Expand All @@ -566,7 +546,7 @@ fn format_method_call(
name.format(formatted_code, formatter)?;
if let Some(contract_args) = &contract_args_opt {
ExprStructField::open_curly_brace(formatted_code, formatter)?;
let contract_args = &contract_args.clone().into_inner();
let contract_args = &contract_args.get();
match formatter.shape.code_line.line_style {
LineStyle::Inline => {
contract_args.format(formatted_code, formatter)?;
Expand All @@ -579,9 +559,7 @@ fn format_method_call(
}
Expr::open_parenthesis(formatted_code, formatter)?;
formatter.shape.reset_line_settings();
args.clone()
.into_inner()
.format(formatted_code, formatter)?;
args.get().format(formatted_code, formatter)?;
Expr::close_parenthesis(formatted_code, formatter)?;

Ok(())
Expand Down
5 changes: 0 additions & 5 deletions sway-fmt-v2/src/utils/generics.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,6 @@ use sway_ast::{GenericArgs, GenericParams};

use super::shape::LineStyle;

// In the future we will need to determine whether the generic arguments
// are better suited with a `where` clause. At present they will be
// formatted in line.
//
impl Format for GenericParams {
fn format(
&self,
Expand Down Expand Up @@ -40,7 +36,6 @@ impl Format for GenericArgs {
formatted_code: &mut FormattedCode,
formatter: &mut Formatter,
) -> Result<(), FormatterError> {
// Need to add `<Ty, CommaToken>` to `Punctuated::format()`
let params = self.parameters.clone().into_inner();

// `<`
Expand Down
Loading