Run diagnostics in a separate visitor
CheckValid() is already quite complicated and adding more to the method
seems not to be scalable.
Bug: 168028537
Test: aidl_unittests
Change-Id: I41a11ce028d8b8f018e80e7203b0d6a955d3768b
diff --git a/options.cpp b/options.cpp
index 8ffdb04..74de18f 100644
--- a/options.cpp
+++ b/options.cpp
@@ -553,6 +553,11 @@
}
}
+ return remains;
+}
+
+DiagnosticMapping WarningOptions::GetDiagnosticMapping() const {
+ DiagnosticMapping mapping;
for (const auto& [_, d] : kAllDiagnostics) {
bool enabled = d.default_enabled;
if (enable_all_ || enabled_.find(d.name) != enabled_.end()) {
@@ -569,14 +574,9 @@
severity = DiagnosticSeverity::ERROR;
}
}
- mapping_.emplace(d.id, Mapping{d.name, severity});
+ mapping.Severity(d.id, severity);
}
-
- return remains;
-}
-
-DiagnosticSeverity WarningOptions::Severity(DiagnosticID id) const {
- return mapping_.at(id).severity;
+ return mapping;
}
} // namespace aidl