mirror of
https://github.com/nodejs/node.git
synced 2025-05-02 17:01:08 +00:00

Fixes: https://github.com/nodejs/node/issues/25808 PR-URL: https://github.com/nodejs/node/pull/26303 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Refael Ackermann <refack@gmail.com>
74 lines
1.6 KiB
Plaintext
74 lines
1.6 KiB
Plaintext
// This file is generated by ErrorSupport_cpp.template.
|
|
|
|
// 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() { }
|
|
ErrorSupport::~ErrorSupport() { }
|
|
|
|
void ErrorSupport::setName(const char* name)
|
|
{
|
|
setName(String(name));
|
|
}
|
|
|
|
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 char* error)
|
|
{
|
|
addError(String(error));
|
|
}
|
|
|
|
void ErrorSupport::addError(const String& error)
|
|
{
|
|
StringBuilder builder;
|
|
for (size_t i = 0; i < m_path.size(); ++i) {
|
|
if (i)
|
|
StringUtil::builderAppend(builder, '.');
|
|
StringUtil::builderAppend(builder, m_path[i]);
|
|
}
|
|
StringUtil::builderAppend(builder, ": ");
|
|
StringUtil::builderAppend(builder, error);
|
|
m_errors.push_back(StringUtil::builderToString(builder));
|
|
}
|
|
|
|
bool ErrorSupport::hasErrors()
|
|
{
|
|
return !!m_errors.size();
|
|
}
|
|
|
|
String ErrorSupport::errors()
|
|
{
|
|
StringBuilder builder;
|
|
for (size_t i = 0; i < m_errors.size(); ++i) {
|
|
if (i)
|
|
StringUtil::builderAppend(builder, "; ");
|
|
StringUtil::builderAppend(builder, m_errors[i]);
|
|
}
|
|
return StringUtil::builderToString(builder);
|
|
}
|
|
|
|
{% for namespace in config.protocol.namespace %}
|
|
} // namespace {{namespace}}
|
|
{% endfor %}
|