mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-26 13:29:12 +00:00
ast::HasImpls -> ast::AbilityImpls
This commit is contained in:
parent
ebbdae6c28
commit
413ccb24ad
4 changed files with 42 additions and 38 deletions
|
@ -4,7 +4,7 @@ use crate::{
|
|||
Buf,
|
||||
};
|
||||
use roc_parse::ast::{
|
||||
AssignedField, Collection, Expr, ExtractSpaces, HasAbilities, HasAbility, HasImpls,
|
||||
AbilityImpls, AssignedField, Collection, Expr, ExtractSpaces, HasAbilities, HasAbility,
|
||||
ImplementsClause, RecordBuilderField, Tag, TypeAnnotation, TypeHeader,
|
||||
};
|
||||
use roc_parse::ident::UppercaseIdent;
|
||||
|
@ -668,30 +668,30 @@ impl<'a> Formattable for ImplementsClause<'a> {
|
|||
}
|
||||
}
|
||||
|
||||
impl<'a> Formattable for HasImpls<'a> {
|
||||
impl<'a> Formattable for AbilityImpls<'a> {
|
||||
fn is_multiline(&self) -> bool {
|
||||
match self {
|
||||
HasImpls::SpaceBefore(_, _) | HasImpls::SpaceAfter(_, _) => true,
|
||||
HasImpls::HasImpls(impls) => is_collection_multiline(impls),
|
||||
AbilityImpls::SpaceBefore(_, _) | AbilityImpls::SpaceAfter(_, _) => true,
|
||||
AbilityImpls::AbilityImpls(impls) => is_collection_multiline(impls),
|
||||
}
|
||||
}
|
||||
|
||||
fn format_with_options(&self, buf: &mut Buf, parens: Parens, newlines: Newlines, indent: u16) {
|
||||
match self {
|
||||
HasImpls::HasImpls(impls) => {
|
||||
AbilityImpls::AbilityImpls(impls) => {
|
||||
if newlines == Newlines::Yes {
|
||||
buf.newline();
|
||||
buf.indent(indent);
|
||||
}
|
||||
fmt_collection(buf, indent, Braces::Curly, *impls, Newlines::No);
|
||||
}
|
||||
HasImpls::SpaceBefore(impls, spaces) => {
|
||||
AbilityImpls::SpaceBefore(impls, spaces) => {
|
||||
buf.newline();
|
||||
buf.indent(indent);
|
||||
fmt_comments_only(buf, spaces.iter(), NewlineAt::Bottom, indent);
|
||||
impls.format_with_options(buf, parens, Newlines::No, indent);
|
||||
}
|
||||
HasImpls::SpaceAfter(impls, spaces) => {
|
||||
AbilityImpls::SpaceAfter(impls, spaces) => {
|
||||
impls.format_with_options(buf, parens, newlines, indent);
|
||||
fmt_comments_only(buf, spaces.iter(), NewlineAt::Bottom, indent);
|
||||
}
|
||||
|
|
|
@ -3,8 +3,8 @@ use bumpalo::Bump;
|
|||
use roc_module::called_via::{BinOp, UnaryOp};
|
||||
use roc_parse::{
|
||||
ast::{
|
||||
AbilityMember, AssignedField, Collection, CommentOrNewline, Defs, Expr, HasAbilities,
|
||||
HasAbility, HasImpls, Header, Implements, ImplementsClause, Module, Pattern,
|
||||
AbilityImpls, AbilityMember, AssignedField, Collection, CommentOrNewline, Defs, Expr,
|
||||
HasAbilities, HasAbility, Header, Implements, ImplementsClause, Module, Pattern,
|
||||
RecordBuilderField, Spaced, Spaces, StrLiteral, StrSegment, Tag, TypeAnnotation, TypeDef,
|
||||
TypeHeader, ValueDef, WhenBranch,
|
||||
},
|
||||
|
@ -885,11 +885,13 @@ impl<'a> RemoveSpaces<'a> for Tag<'a> {
|
|||
}
|
||||
}
|
||||
|
||||
impl<'a> RemoveSpaces<'a> for HasImpls<'a> {
|
||||
impl<'a> RemoveSpaces<'a> for AbilityImpls<'a> {
|
||||
fn remove_spaces(&self, arena: &'a Bump) -> Self {
|
||||
match *self {
|
||||
HasImpls::HasImpls(impls) => HasImpls::HasImpls(impls.remove_spaces(arena)),
|
||||
HasImpls::SpaceBefore(has, _) | HasImpls::SpaceAfter(has, _) => {
|
||||
AbilityImpls::AbilityImpls(impls) => {
|
||||
AbilityImpls::AbilityImpls(impls.remove_spaces(arena))
|
||||
}
|
||||
AbilityImpls::SpaceBefore(has, _) | AbilityImpls::SpaceAfter(has, _) => {
|
||||
has.remove_spaces(arena)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue