@@ -95,7 +95,7 @@ Errata::note_s(std::optional<Severity> severity, std::string_view text) {
95
95
Errata&
96
96
Errata::note_localized (std::string_view const & text, std::optional<Severity> severity) {
97
97
auto d = this ->data ();
98
- Annotation *n = d->_arena .make <Annotation>(text, severity, d-> _level );
98
+ Annotation *n = d->_arena .make <Annotation>(text, severity);
99
99
d->_notes .append (n);
100
100
return *this ;
101
101
}
@@ -107,8 +107,9 @@ Errata::alloc(size_t n) {
107
107
108
108
Errata&
109
109
Errata::note (const self_type& that) {
110
- for (auto const & m : that) {
111
- this ->note (m._text );
110
+ auto d = this ->data ();
111
+ for (auto const & annotation : that) {
112
+ d->_notes .append (d->_arena .make <Annotation>(d->localize (annotation._text ), annotation._severity , annotation._level + 1 ));
112
113
}
113
114
return *this ;
114
115
}
@@ -126,32 +127,6 @@ Errata::register_sink(Sink::Handle const& s) {
126
127
Sink_List.push_back (s);
127
128
}
128
129
129
- std::ostream&
130
- Errata::write (std::ostream& out) const {
131
- string_view lead;
132
-
133
- auto level = this ->severity ();
134
- if (level < Errata::SEVERITY_NAMES.size ()) {
135
- out << Errata::SEVERITY_NAMES[level];
136
- } else {
137
- out << unsigned (level._raw );
138
- }
139
-
140
- out << " : " ;
141
-
142
- if (this ->code ()) {
143
- out << this ->code ().message () << " [" << this ->code ().value () << " ] - " ;
144
- }
145
-
146
- for (auto & m : *this ) {
147
- out << lead << m._text << std::endl;
148
- if (0 == lead.size ()) {
149
- lead = " " _sv;
150
- }
151
- }
152
- return out;
153
- }
154
-
155
130
BufferWriter&
156
131
bwformat (BufferWriter& bw, bwf::Spec const & spec, Errata::Severity level) {
157
132
if (level < Errata::SEVERITY_NAMES.size ()) {
@@ -165,7 +140,7 @@ bwformat(BufferWriter& bw, bwf::Spec const& spec, Errata::Severity level) {
165
140
BufferWriter&
166
141
bwformat (BufferWriter& bw, bwf::Spec const &, Errata const & errata) {
167
142
168
- bw.print (" {} " , errata.severity ());
143
+ bw.print (" {}: " , errata.severity ());
169
144
170
145
if (errata.code ()) {
171
146
bw.print (" [{0:s} {0:d}] " , errata.code ());
@@ -175,13 +150,21 @@ bwformat(BufferWriter& bw, bwf::Spec const&, Errata const& errata) {
175
150
if (note.text ()) {
176
151
bw.print (" {}{}{}\n "
177
152
, swoc::bwf::Pattern{int (note.level ()), " " }
178
- , swoc::bwf::If (note.has_severity (), " {} " , note.severity ())
153
+ , swoc::bwf::If (note.has_severity (), " {}: " , note.severity ())
179
154
, note.text ());
180
155
}
181
156
}
182
157
return bw;
183
158
}
184
159
160
+ std::ostream&
161
+ Errata::write (std::ostream& out) const {
162
+ std::string tmp;
163
+ tmp.reserve (1024 );
164
+ bwprint (tmp, " {}" , *this );
165
+ return out << tmp;
166
+ }
167
+
185
168
std::ostream&
186
169
operator <<(std::ostream& os, Errata const & err) {
187
170
return err.write (os);
0 commit comments