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_checkapi.cpp b/aidl_checkapi.cpp
index 6337f8e..f07e7e6 100644
--- a/aidl_checkapi.cpp
+++ b/aidl_checkapi.cpp
@@ -15,10 +15,6 @@
*/
#include "aidl.h"
-#include "aidl_language.h"
-#include "import_resolver.h"
-#include "logging.h"
-#include "options.h"
#include <map>
#include <string>
@@ -28,6 +24,12 @@
#include <android-base/strings.h>
#include <gtest/gtest.h>
+#include "aidl_dumpapi.h"
+#include "aidl_language.h"
+#include "import_resolver.h"
+#include "logging.h"
+#include "options.h"
+
namespace android {
namespace aidl {
@@ -40,9 +42,12 @@
using std::vector;
static std::string Dump(const AidlDefinedType& type) {
- std::string dump;
- type.Dump(CodeWriter::ForString(&dump).get());
- return dump;
+ string code;
+ CodeWriterPtr out = CodeWriter::ForString(&code);
+ DumpVisitor visitor(*out);
+ type.DispatchVisit(visitor);
+ out->Close();
+ return code;
}
// Uses each type's Dump() and GTest utility(EqHelper).