delete FactoryProxy
This commit is contained in:
parent
486d7e7af8
commit
3749c30512
@ -33,8 +33,8 @@ pub use self::hashing::{Hash, HASH_SIZE, HASH_ZEROS};
|
||||
pub use self::inctx::InCtx;
|
||||
pub use self::inlining::{Inlining, InliningExt, InliningResultExt};
|
||||
pub use self::modes::{
|
||||
ExtensionResultM, FactoryModeParse, FactoryModeProxy, FactoryProxy, Mode, ParseMode,
|
||||
ParseResultM, RegularFactory, RegularMode, WithMode, WithParseMode,
|
||||
ExtensionResultM, FactoryModeParse, FactoryModeProxy, Mode, ParseMode, ParseResultM,
|
||||
RegularFactory, RegularMode, WithMode, WithParseMode,
|
||||
};
|
||||
pub use self::origin::{OFctr, Origin};
|
||||
pub use self::point::Point;
|
||||
|
@ -46,17 +46,6 @@ impl<T: ?Sized + ParseMode> WithParseMode for T {
|
||||
|
||||
pub struct WithMode<T: ?Sized, M: ?Sized>(PhantomData<M>, T);
|
||||
|
||||
pub trait FactoryProxy<'a, Ctx: Context<'a>> {
|
||||
type F: FactoryBase<'a, Ctx> + ParseMode;
|
||||
|
||||
fn pdeserialize(f: &Self::F, inctx: impl InCtx<'a, Ctx>) -> ParseResult<'a, Ctx, Self::F>;
|
||||
fn pextend(
|
||||
f: &Self::F,
|
||||
mentionable: Mtbl<'a, Ctx, Self::F>,
|
||||
tail: &[u8],
|
||||
) -> ParseResult<'a, Ctx, Self::F>;
|
||||
}
|
||||
|
||||
impl<'a, Ctx: Context<'a>, F: FactoryModeParse<'a, Ctx>> FactoryParse<'a, Ctx> for F {
|
||||
fn deserialize(&self, inctx: impl InCtx<'a, Ctx>) -> ParseResult<'a, Ctx, Self> {
|
||||
<<Self as ParseMode>::Mode as Mode>::seal(self.mdeserialize(inctx))
|
||||
@ -161,24 +150,6 @@ pub trait RegularFactory<'a, Ctx: Context<'a>>:
|
||||
fn rextend(&self, mentionable: Self::Mtbl, tail: &[u8]) -> ParseResult<'a, Ctx, Self>;
|
||||
}
|
||||
|
||||
impl<'a, Ctx: Context<'a>, F: RegularFactory<'a, Ctx>> FactoryProxy<'a, Ctx>
|
||||
for WithMode<F, RegularMode>
|
||||
{
|
||||
type F = F;
|
||||
|
||||
fn pdeserialize(f: &Self::F, inctx: impl InCtx<'a, Ctx>) -> ParseResult<'a, Ctx, Self::F> {
|
||||
f.rdeserialize(inctx)
|
||||
}
|
||||
|
||||
fn pextend(
|
||||
f: &Self::F,
|
||||
mentionable: Mtbl<'a, Ctx, Self::F>,
|
||||
tail: &[u8],
|
||||
) -> ParseResult<'a, Ctx, Self::F> {
|
||||
f.rextend(mentionable, tail)
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a, Ctx: Context<'a>, F: RegularFactory<'a, Ctx>> FactoryModeProxy<'a, Ctx>
|
||||
for WithMode<F, RegularMode>
|
||||
{
|
||||
|
@ -4,7 +4,7 @@ pub trait ExternalPoints<'a, Ctx: Context<'a>, T> {
|
||||
fn ex_points_typed(mentionable: &T, points: &mut impl PointsVisitor<'a, Ctx>);
|
||||
}
|
||||
|
||||
pub trait ExternalPointsProxy<'a, Ctx: Context<'a>, T>: FactoryProxy<'a, Ctx> {
|
||||
pub trait ExternalPointsProxy<'a, Ctx: Context<'a>, T>: FactoryModeProxy<'a, Ctx> {
|
||||
fn exp_points_typed(mentionable: &T, points: &mut impl PointsVisitor<'a, Ctx>);
|
||||
}
|
||||
|
||||
|
@ -46,24 +46,6 @@ impl Mode for InliningMode {
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a, Ctx: Context<'a>, F: InlineableFactory<'a, Ctx>> FactoryProxy<'a, Ctx>
|
||||
for WithMode<F, InliningMode>
|
||||
{
|
||||
type F = F;
|
||||
|
||||
fn pdeserialize(f: &Self::F, inctx: impl InCtx<'a, Ctx>) -> ParseResult<'a, Ctx, Self::F> {
|
||||
f.ideserialize(inctx).seal()
|
||||
}
|
||||
|
||||
fn pextend(
|
||||
f: &Self::F,
|
||||
_mentionable: Mtbl<'a, Ctx, Self::F>,
|
||||
tail: &[u8],
|
||||
) -> ParseResult<'a, Ctx, Self::F> {
|
||||
Err(f.extension_error(tail))
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a, Ctx: Context<'a>, F: InlineableFactory<'a, Ctx>> FactoryModeProxy<'a, Ctx>
|
||||
for WithMode<F, InliningMode>
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user