114 } |
114 } |
115 |
115 |
116 |
116 |
117 /* result messages */ |
117 /* result messages */ |
118 |
118 |
119 def is_message(pred: XML.Elem => Boolean, body: XML.Body): Boolean = |
|
120 body match { |
|
121 case List(elem: XML.Elem) => pred(elem) |
|
122 case _ => false |
|
123 } |
|
124 |
|
125 def is_result(msg: XML.Tree): Boolean = |
119 def is_result(msg: XML.Tree): Boolean = |
126 msg match { |
120 msg match { |
127 case XML.Elem(Markup(Markup.RESULT, _), _) => true |
121 case XML.Elem(Markup(Markup.RESULT, _), _) => true |
128 case _ => false |
122 case _ => false |
129 } |
123 } |
181 !(is_result(msg) || is_tracing(msg) || is_state(msg)) |
175 !(is_result(msg) || is_tracing(msg) || is_state(msg)) |
182 |
176 |
183 def is_exported(msg: XML.Tree): Boolean = |
177 def is_exported(msg: XML.Tree): Boolean = |
184 is_writeln(msg) || is_warning(msg) || is_legacy(msg) || is_error(msg) |
178 is_writeln(msg) || is_warning(msg) || is_legacy(msg) || is_error(msg) |
185 |
179 |
186 def message_text(body: XML.Body, |
180 def message_text(elem: XML.Elem, |
187 margin: Double = Pretty.default_margin, |
181 margin: Double = Pretty.default_margin, |
188 breakgain: Double = Pretty.default_breakgain, |
182 breakgain: Double = Pretty.default_breakgain, |
189 metric: Pretty.Metric = Pretty.Default_Metric): String = |
183 metric: Pretty.Metric = Pretty.Default_Metric): String = |
190 { |
184 { |
191 val text = |
185 val text = |
192 Pretty.string_of(Protocol_Message.expose_no_reports(body), |
186 Pretty.string_of(Protocol_Message.expose_no_reports(List(elem)), |
193 margin = margin, breakgain = breakgain, metric = metric) |
187 margin = margin, breakgain = breakgain, metric = metric) |
194 |
188 |
195 if (is_message(is_warning, body) || is_message(is_legacy, body)) Output.warning_prefix(text) |
189 if (is_warning(elem) || is_legacy(elem)) Output.warning_prefix(text) |
196 else if (is_message(is_error, body)) Output.error_prefix(text) |
190 else if (is_error(elem)) Output.error_prefix(text) |
197 else text |
191 else text |
198 } |
192 } |
199 |
193 |
200 |
194 |
201 /* export */ |
195 /* export */ |