tamer: src::pipeline: Eliminate most error type references
Just cleaning up a bit, removing some unnecessary types, since there are so many involved. DEV-13162main
parent
ea6259570e
commit
57a805b495
|
@ -31,7 +31,8 @@ pub mod util;
|
||||||
|
|
||||||
pub use error::{FinalizeError, ParseError};
|
pub use error::{FinalizeError, ParseError};
|
||||||
pub use lower::{
|
pub use lower::{
|
||||||
lowerable, terminal, Lower, LowerIter, LowerSource, ParsedObject,
|
lowerable, terminal, FromParseError, Lower, LowerIter, LowerSource,
|
||||||
|
ParsedObject,
|
||||||
};
|
};
|
||||||
pub use parser::{FinalizedParser, Parsed, ParsedResult, Parser};
|
pub use parser::{FinalizedParser, Parsed, ParsedResult, Parser};
|
||||||
pub use state::{
|
pub use state::{
|
||||||
|
|
|
@ -239,6 +239,16 @@ pub trait WidenedError<S: ParseState, LS: ParseState> = Diagnostic
|
||||||
+ From<ParseError<<S as ParseState>::Token, <S as ParseState>::Error>>
|
+ From<ParseError<<S as ParseState>::Token, <S as ParseState>::Error>>
|
||||||
+ From<ParseError<<LS as ParseState>::Token, <LS as ParseState>::Error>>;
|
+ From<ParseError<<LS as ParseState>::Token, <LS as ParseState>::Error>>;
|
||||||
|
|
||||||
|
/// Convenience trait for converting [`From`] a [`ParseError`] for the
|
||||||
|
/// provided [`ParseState`] `S`.
|
||||||
|
///
|
||||||
|
/// This allows specifying this type in terms of only the [`ParseState`]
|
||||||
|
/// that is almost certainly already utilized,
|
||||||
|
/// rather than having to either import more types or use the verbose
|
||||||
|
/// associated type.
|
||||||
|
pub trait FromParseError<S: ParseState> =
|
||||||
|
From<ParseError<<S as ParseState>::Token, <S as ParseState>::Error>>;
|
||||||
|
|
||||||
/// A [`ParsedResult`](super::ParsedResult) with a [`WidenedError`].
|
/// A [`ParsedResult`](super::ParsedResult) with a [`WidenedError`].
|
||||||
pub type WidenedParsedResult<S, E> =
|
pub type WidenedParsedResult<S, E> =
|
||||||
Result<Parsed<<S as ParseState>::Object>, E>;
|
Result<Parsed<<S as ParseState>::Object>, E>;
|
||||||
|
|
|
@ -41,21 +41,15 @@
|
||||||
//! see [`Lower`].
|
//! see [`Lower`].
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
asg::{
|
asg::air::{AirAggregate, AirAggregateCtx},
|
||||||
air::{Air, AirAggregate, AirAggregateCtx},
|
|
||||||
AsgError,
|
|
||||||
},
|
|
||||||
diagnose::Diagnostic,
|
diagnose::Diagnostic,
|
||||||
obj::xmlo::{
|
obj::xmlo::{XmloAirContext, XmloReader, XmloToAir, XmloToken},
|
||||||
XmloAirContext, XmloAirError, XmloError, XmloReader, XmloToAir,
|
|
||||||
XmloToken,
|
|
||||||
},
|
|
||||||
parse::{
|
parse::{
|
||||||
FinalizeError, Lower, LowerSource, ParseError, Parsed, ParsedObject,
|
FinalizeError, FromParseError, Lower, LowerSource, ParseError, Parsed,
|
||||||
UnknownToken,
|
ParsedObject, UnknownToken,
|
||||||
},
|
},
|
||||||
xir::{
|
xir::{
|
||||||
flat::{PartialXirToXirf, Text, XirToXirfError, XirfToken},
|
flat::{PartialXirToXirf, Text},
|
||||||
Error as XirError, Token as XirToken,
|
Error as XirError, Token as XirToken,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -76,10 +70,10 @@ pub fn load_xmlo<EO: Diagnostic + PartialEq>(
|
||||||
) -> Result<(AirAggregateCtx, XmloAirContext), EO>
|
) -> Result<(AirAggregateCtx, XmloAirContext), EO>
|
||||||
where
|
where
|
||||||
EO: From<ParseError<UnknownToken, XirError>>
|
EO: From<ParseError<UnknownToken, XirError>>
|
||||||
+ From<ParseError<XirfToken<Text>, XmloError>>
|
+ FromParseError<PartialXirToXirf<4, Text>>
|
||||||
+ From<ParseError<XirToken, XirToXirfError>>
|
+ FromParseError<XmloReader>
|
||||||
+ From<ParseError<XmloToken, XmloAirError>>
|
+ FromParseError<XmloToAir>
|
||||||
+ From<ParseError<Air, AsgError>>
|
+ FromParseError<AirAggregate>
|
||||||
+ From<FinalizeError>,
|
+ From<FinalizeError>,
|
||||||
{
|
{
|
||||||
// TODO: This entire block is a WIP and will be incrementally
|
// TODO: This entire block is a WIP and will be incrementally
|
||||||
|
|
Loading…
Reference in New Issue