| 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 %}
|
|
|