Move StringPool to libandroidfw
Test: verified affected tests pass
Bug: 232940948
Change-Id: I22089893d7e5013f759c39ce190bec07fa6435db
diff --git a/tools/aapt2/Diagnostics.h b/tools/aapt2/Diagnostics.h
index 30deb55..c89db72 100644
--- a/tools/aapt2/Diagnostics.h
+++ b/tools/aapt2/Diagnostics.h
@@ -13,86 +13,25 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-#ifndef AAPT_DIAGNOSTICS_H
-#define AAPT_DIAGNOSTICS_H
+#ifndef AAPT_DIAGNOSTICS_H_
+#define AAPT_DIAGNOSTICS_H_
#include <iostream>
#include <sstream>
#include <string>
#include "android-base/macros.h"
+#include "androidfw/IDiagnostics.h"
+#include "androidfw/Source.h"
#include "androidfw/StringPiece.h"
-
-#include "Source.h"
#include "util/Util.h"
namespace aapt {
-
-struct DiagMessageActual {
- Source source;
- std::string message;
-};
-
-struct DiagMessage {
- public:
- DiagMessage() = default;
-
- explicit DiagMessage(const android::StringPiece& src) : source_(src) {}
-
- explicit DiagMessage(const Source& src) : source_(src) {}
-
- explicit DiagMessage(size_t line) : source_(Source().WithLine(line)) {}
-
- template <typename T>
- DiagMessage& operator<<(const T& value) {
- message_ << value;
- return *this;
- }
-
- DiagMessageActual Build() const {
- return DiagMessageActual{source_, message_.str()};
- }
-
- private:
- Source source_;
- std::stringstream message_;
-};
-
-template <>
-inline DiagMessage& DiagMessage::operator<<(const ::std::u16string& value) {
- message_ << android::StringPiece16(value);
- return *this;
-}
-
-struct IDiagnostics {
- virtual ~IDiagnostics() = default;
-
- enum class Level { Note, Warn, Error };
-
- virtual void Log(Level level, DiagMessageActual& actualMsg) = 0;
-
- virtual void Error(const DiagMessage& message) {
- DiagMessageActual actual = message.Build();
- Log(Level::Error, actual);
- }
-
- virtual void Warn(const DiagMessage& message) {
- DiagMessageActual actual = message.Build();
- Log(Level::Warn, actual);
- }
-
- virtual void Note(const DiagMessage& message) {
- DiagMessageActual actual = message.Build();
- Log(Level::Note, actual);
- }
-};
-
-class StdErrDiagnostics : public IDiagnostics {
+class StdErrDiagnostics : public android::IDiagnostics {
public:
StdErrDiagnostics() = default;
- void Log(Level level, DiagMessageActual& actual_msg) override {
+ void Log(Level level, android::DiagMessageActual& actual_msg) override {
const char* tag;
switch (level) {
@@ -125,31 +64,6 @@
DISALLOW_COPY_AND_ASSIGN(StdErrDiagnostics);
};
-class SourcePathDiagnostics : public IDiagnostics {
- public:
- SourcePathDiagnostics(const Source& src, IDiagnostics* diag)
- : source_(src), diag_(diag) {}
-
- void Log(Level level, DiagMessageActual& actual_msg) override {
- actual_msg.source.path = source_.path;
- diag_->Log(level, actual_msg);
- if (level == Level::Error) {
- error = true;
- }
- }
-
- bool HadError() {
- return error;
- }
-
- private:
- Source source_;
- IDiagnostics* diag_;
- bool error = false;
-
- DISALLOW_COPY_AND_ASSIGN(SourcePathDiagnostics);
-};
-
} // namespace aapt
-#endif /* AAPT_DIAGNOSTICS_H */
+#endif /* AAPT_DIAGNOSTICS_H_ */