tamer: asg::air: {=>diagnostic_}todo!
I forgot about my `diagnostic_todo!` macro! The purpose was to help guide development by obviating what comes next in test failures. DEV-13708
parent
56d92fe22b
commit
473991abaf
|
@ -38,7 +38,9 @@
|
||||||
use self::expr::AirExprAggregateReachable;
|
use self::expr::AirExprAggregateReachable;
|
||||||
|
|
||||||
use super::{graph::object::Pkg, Asg, AsgError, ObjectIndex};
|
use super::{graph::object::Pkg, Asg, AsgError, ObjectIndex};
|
||||||
use crate::{parse::prelude::*, sym::SymbolId};
|
use crate::{
|
||||||
|
diagnose::Annotate, diagnostic_todo, parse::prelude::*, sym::SymbolId,
|
||||||
|
};
|
||||||
use std::fmt::{Debug, Display};
|
use std::fmt::{Debug, Display};
|
||||||
|
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
|
@ -197,8 +199,11 @@ impl ParseState for AirAggregate {
|
||||||
Self::delegate_tpl(asg, oi_pkg, stored_expr, tplst, ttok)
|
Self::delegate_tpl(asg, oi_pkg, stored_expr, tplst, ttok)
|
||||||
}
|
}
|
||||||
|
|
||||||
(PkgTpl(..), AirPkg(PkgStart(..))) => {
|
(PkgTpl(..), tok @ AirPkg(PkgStart(..))) => {
|
||||||
todo!("templates cannot contain packages")
|
diagnostic_todo!(
|
||||||
|
vec![tok.note("for this token")],
|
||||||
|
"templates cannot contain packages"
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
(Empty, AirPkg(PkgEnd(span))) => {
|
(Empty, AirPkg(PkgEnd(span))) => {
|
||||||
|
|
|
@ -31,6 +31,8 @@ use super::{
|
||||||
AirExprAggregate,
|
AirExprAggregate,
|
||||||
};
|
};
|
||||||
use crate::{
|
use crate::{
|
||||||
|
diagnose::Annotate,
|
||||||
|
diagnostic_todo,
|
||||||
fmt::{DisplayWrapper, TtQuote},
|
fmt::{DisplayWrapper, TtQuote},
|
||||||
parse::prelude::*,
|
parse::prelude::*,
|
||||||
span::Span,
|
span::Span,
|
||||||
|
@ -183,7 +185,10 @@ impl ParseState for AirTplAggregate {
|
||||||
.incomplete()
|
.incomplete()
|
||||||
}
|
}
|
||||||
|
|
||||||
(Toplevel(..), AirTpl(TplStart(_span))) => todo!("nested tpl open"),
|
(Toplevel(..), AirTpl(TplStart(span))) => diagnostic_todo!(
|
||||||
|
vec![span.note("for this template")],
|
||||||
|
"nested tpl open"
|
||||||
|
),
|
||||||
|
|
||||||
(Toplevel(oi_pkg, tpl, expr), AirBind(BindIdent(id))) => asg
|
(Toplevel(oi_pkg, tpl, expr), AirBind(BindIdent(id))) => asg
|
||||||
.lookup_or_missing(id)
|
.lookup_or_missing(id)
|
||||||
|
@ -201,11 +206,17 @@ impl ParseState for AirTplAggregate {
|
||||||
Toplevel(..),
|
Toplevel(..),
|
||||||
tok @ AirTpl(TplMetaStart(..) | TplMetaEnd(..) | TplApply(..)),
|
tok @ AirTpl(TplMetaStart(..) | TplMetaEnd(..) | TplApply(..)),
|
||||||
) => {
|
) => {
|
||||||
todo!("Toplevel meta {tok:?}")
|
diagnostic_todo!(
|
||||||
|
vec![tok.note("for this token")],
|
||||||
|
"Toplevel meta"
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
(Toplevel(..), tok @ AirTpl(TplLexeme(..))) => {
|
(Toplevel(..), tok @ AirTpl(TplLexeme(..))) => {
|
||||||
todo!("err: Toplevel lexeme {tok:?} (must be within metavar)")
|
diagnostic_todo!(
|
||||||
|
vec![tok.note("for this token")],
|
||||||
|
"err: Toplevel lexeme {tok:?} (must be within metavar)"
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
(Toplevel(oi_pkg, tpl, _expr_done), AirTpl(TplEnd(span))) => {
|
(Toplevel(oi_pkg, tpl, _expr_done), AirTpl(TplEnd(span))) => {
|
||||||
|
@ -255,8 +266,11 @@ impl ParseState for AirTplAggregate {
|
||||||
Self::delegate_expr(asg, oi_pkg, tpl, expr, etok)
|
Self::delegate_expr(asg, oi_pkg, tpl, expr, etok)
|
||||||
}
|
}
|
||||||
|
|
||||||
(TplExpr(..), AirTpl(TplStart(_))) => {
|
(TplExpr(..), AirTpl(TplStart(span))) => {
|
||||||
todo!("nested template (template-generated template)")
|
diagnostic_todo!(
|
||||||
|
vec![span.note("for this token")],
|
||||||
|
"nested template (template-generated template)"
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
(
|
(
|
||||||
|
@ -266,7 +280,8 @@ impl ParseState for AirTplAggregate {
|
||||||
| TplApply(..),
|
| TplApply(..),
|
||||||
),
|
),
|
||||||
) => {
|
) => {
|
||||||
todo!(
|
diagnostic_todo!(
|
||||||
|
vec![tok.note("for this token")],
|
||||||
"metasyntactic token in non-tpl-toplevel context: {tok:?}"
|
"metasyntactic token in non-tpl-toplevel context: {tok:?}"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue