Extract DumpVisitor

Moving Dump*() methods from AIDL AST to its own visitor.

Bug: n/a
Test: m aidl_unittests
Change-Id: I61c1a978b5a50582daec930b92cc9be49c31c991
diff --git a/aidl_unittest.cpp b/aidl_unittest.cpp
index 6d67b7d..05008c9 100644
--- a/aidl_unittest.cpp
+++ b/aidl_unittest.cpp
@@ -28,6 +28,7 @@
 #include <vector>
 
 #include "aidl_checkapi.h"
+#include "aidl_dumpapi.h"
 #include "aidl_language.h"
 #include "aidl_to_cpp.h"
 #include "aidl_to_java.h"
@@ -3517,7 +3518,10 @@
   EXPECT_TRUE(type);
   const auto& enum_type = type->AsEnumDeclaration();
   string code;
-  enum_type->Dump(CodeWriter::ForString(&code).get());
+  auto writer = CodeWriter::ForString(&code);
+  DumpVisitor visitor(*writer);
+  visitor.Visit(*enum_type);
+  writer->Close();
   EXPECT_EQ(R"--(@Backing(type="int")
 enum Foo {
   STANDARD_SHIFT = 16,