Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1094)

Unified Diff: third_party/inspector_protocol/lib/ErrorSupport_cpp.template

Issue 2447323002: [inspector] use own copy of third_party/inspector_protocol (Closed)
Patch Set: updated README.v8 Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/inspector_protocol/lib/ErrorSupport_cpp.template
diff --git a/third_party/inspector_protocol/lib/ErrorSupport_cpp.template b/third_party/inspector_protocol/lib/ErrorSupport_cpp.template
new file mode 100644
index 0000000000000000000000000000000000000000..34593ec13de84d3f3a948fbb3022f1a645683d81
--- /dev/null
+++ b/third_party/inspector_protocol/lib/ErrorSupport_cpp.template
@@ -0,0 +1,70 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+//#include "ErrorSupport.h"
+
+{% for namespace in config.protocol.namespace %}
+namespace {{namespace}} {
+{% endfor %}
+
+ErrorSupport::ErrorSupport() : m_errorString(nullptr) { }
+ErrorSupport::ErrorSupport(String* errorString) : m_errorString(errorString) { }
+ErrorSupport::~ErrorSupport()
+{
+ if (m_errorString && hasErrors()) {
+ StringBuilder builder;
+ builder.append("Internal error(s): ");
+ builder.append(errors());
+ *m_errorString = builder.toString();
+ }
+}
+
+void ErrorSupport::setName(const String& name)
+{
+ DCHECK(m_path.size());
+ m_path[m_path.size() - 1] = name;
+}
+
+void ErrorSupport::push()
+{
+ m_path.push_back(String());
+}
+
+void ErrorSupport::pop()
+{
+ m_path.pop_back();
+}
+
+void ErrorSupport::addError(const String& error)
+{
+ StringBuilder builder;
+ for (size_t i = 0; i < m_path.size(); ++i) {
+ if (i)
+ builder.append('.');
+ builder.append(m_path[i]);
+ }
+ builder.append(": ");
+ builder.append(error);
+ m_errors.push_back(builder.toString());
+}
+
+bool ErrorSupport::hasErrors()
+{
+ return m_errors.size();
+}
+
+String ErrorSupport::errors()
+{
+ StringBuilder builder;
+ for (size_t i = 0; i < m_errors.size(); ++i) {
+ if (i)
+ builder.append("; ");
+ builder.append(m_errors[i]);
+ }
+ return builder.toString();
+}
+
+{% for namespace in config.protocol.namespace %}
+} // namespace {{namespace}}
+{% endfor %}

Powered by Google App Engine
This is Rietveld 408576698