Enum handling for dart_fmt.
R=brianwilkerson@google.com, scheglov@google.com
Review URL: https://codereview.chromium.org//901743002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43494 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/pkg/analyzer/lib/src/services/formatter_impl.dart b/pkg/analyzer/lib/src/services/formatter_impl.dart
index dcfb34a..ff1e30a 100644
--- a/pkg/analyzer/lib/src/services/formatter_impl.dart
+++ b/pkg/analyzer/lib/src/services/formatter_impl.dart
@@ -770,6 +770,24 @@
}
}
+ visitEnumConstantDeclaration(EnumConstantDeclaration node){
+ visit(node.name);
+ }
+
+ visitEnumDeclaration(EnumDeclaration node){
+ visitMemberMetadata(node.metadata);
+ token(node.keyword);
+ space();
+ visit(node.name);
+ space();
+ token(node.leftBracket);
+ newlines();
+ indent();
+ visitCommaSeparatedNodes(node.constants);
+ newlines();
+ token(node.rightBracket, precededBy: unindent);
+ }
+
visitExportDirective(ExportDirective node) {
visitDirectiveMetadata(node.metadata);
token(node.keyword);
@@ -1841,14 +1859,4 @@
}
String toString() => writer.toString();
-
- @override
- visitEnumConstantDeclaration(EnumConstantDeclaration node) {
- // TODO: implement visitEnumConstantDeclaration
- }
-
- @override
- visitEnumDeclaration(EnumDeclaration node) {
- // TODO: implement visitEnumDeclaration
- }
}
diff --git a/pkg/analyzer/test/services/data/cu_tests.data b/pkg/analyzer/test/services/data/cu_tests.data
index 6f4e4d1..9f9e803 100644
--- a/pkg/analyzer/test/services/data/cu_tests.data
+++ b/pkg/analyzer/test/services/data/cu_tests.data
@@ -317,3 +317,9 @@
main() async => 0;
<<<
main() async => 0;
+>>>
+enum Foo { BAR, BAZ }
+<<<
+enum Foo {
+ BAR, BAZ
+}