Enable support for inline class syntax (#1185)
diff --git a/CHANGELOG.md b/CHANGELOG.md index ec6d955..84a0e4b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md
@@ -5,6 +5,7 @@ * Format patterns and related features. * Format record expressions and record type annotations. * Format class modifiers `base`, `final`, `interface`, `mixin`, and `sealed`. +* Format `inline class` declarations. * Format unnamed libraries. ## Bug fixes and style changes @@ -20,7 +21,7 @@ * Fix metadata test to not fail when record syntax makes whitespace between metadata annotation names and `(` significant ([sdk#50769][]). * Require Dart 2.19. -* Require `package:analyzer` `^5.1.0`. +* Require `package:analyzer` `^5.7.0`. [sdk#50769]: https://github.com/dart-lang/sdk/issues/50769 @@ -47,7 +48,7 @@ * Don't allow a line comment in an argument list to cause preceding arguments to be misformatted. * Remove blank lines after a line comment at the end of a body. -* Require `package:analyzer` `>=4.4.0 <6.0.0`. +* Require `package:analyzer` `>=4.4.0 <6.0.0`. # 2.2.3
diff --git a/lib/src/dart_formatter.dart b/lib/src/dart_formatter.dart index 3290a68..30ea106 100644 --- a/lib/src/dart_formatter.dart +++ b/lib/src/dart_formatter.dart
@@ -206,6 +206,7 @@ var featureSet = FeatureSet.fromEnableFlags2( sdkLanguageVersion: Version(2, 19, 0), flags: [ + 'inline-class', 'class-modifiers', if (patterns) 'patterns', 'records',
diff --git a/lib/src/source_visitor.dart b/lib/src/source_visitor.dart index 43c691b..0a026ba 100644 --- a/lib/src/source_visitor.dart +++ b/lib/src/source_visitor.dart
@@ -588,6 +588,7 @@ modifier(node.finalKeyword); modifier(node.sealedKeyword); modifier(node.mixinKeyword); + modifier(node.inlineKeyword); token(node.classKeyword); space(); token(node.name);
diff --git a/pubspec.yaml b/pubspec.yaml index f63e106..8b4fc88 100644 --- a/pubspec.yaml +++ b/pubspec.yaml
@@ -9,7 +9,7 @@ sdk: ">=2.19.0 <3.0.0" dependencies: - analyzer: ^5.6.0 + analyzer: ^5.7.0 args: ">=1.0.0 <3.0.0" path: ^1.0.0 pub_semver: ">=1.4.4 <3.0.0"
diff --git a/test/whitespace/classes.unit b/test/whitespace/classes.unit index 8702c18..d1b6d44 100644 --- a/test/whitespace/classes.unit +++ b/test/whitespace/classes.unit
@@ -243,4 +243,8 @@ abstract mixin class C12 = Object with Mixin; abstract base mixin class C13 = Object - with Mixin; \ No newline at end of file + with Mixin; +>>> inline classes +inline class C {} +<<< +inline class C {} \ No newline at end of file