Make SubMessage::msg, hint public members

This commit is contained in:
Shunsuke Shibayama 2022-12-08 14:55:55 +09:00
parent 428a557313
commit aa3bf7f44c
2 changed files with 10 additions and 6 deletions

View file

@ -392,8 +392,8 @@ fn format_context<E: ErrorDisplay + ?Sized>(
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct SubMessage {
pub loc: Location,
msg: Vec<String>,
hint: Option<String>,
pub msg: Vec<String>,
pub hint: Option<String>,
}
impl SubMessage {
@ -459,8 +459,12 @@ impl SubMessage {
self.hint = Some(hint.into());
}
pub fn get_hint(self) -> Option<String> {
self.hint
pub fn get_hint(&self) -> Option<&str> {
self.hint.as_deref()
}
pub fn get_msg(&self) -> &[String] {
self.msg.as_ref()
}
// Line breaks are not included except for line breaks that signify the end of a sentence.

View file

@ -838,7 +838,7 @@ impl Context {
// HACK: dname.loc()はダミーLocationしか返さないので、エラーならop.loc()で上書きする
bin.loc(),
vec![],
sub_msg.get_hint(),
sub_msg.hint,
));
}
let core = ErrorCore::new(
@ -886,7 +886,7 @@ impl Context {
sub_msges.push(SubMessage::ambiguous_new(
unary.loc(),
vec![],
sub_msg.get_hint(),
sub_msg.hint,
));
}
let core = ErrorCore::new(