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::inctx::InCtx;
|
||||||
pub use self::inlining::{Inlining, InliningExt, InliningResultExt};
|
pub use self::inlining::{Inlining, InliningExt, InliningResultExt};
|
||||||
pub use self::modes::{
|
pub use self::modes::{
|
||||||
ExtensionResultM, FactoryModeParse, FactoryModeProxy, FactoryProxy, Mode, ParseMode,
|
ExtensionResultM, FactoryModeParse, FactoryModeProxy, Mode, ParseMode, ParseResultM,
|
||||||
ParseResultM, RegularFactory, RegularMode, WithMode, WithParseMode,
|
RegularFactory, RegularMode, WithMode, WithParseMode,
|
||||||
};
|
};
|
||||||
pub use self::origin::{OFctr, Origin};
|
pub use self::origin::{OFctr, Origin};
|
||||||
pub use self::point::Point;
|
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 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 {
|
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> {
|
fn deserialize(&self, inctx: impl InCtx<'a, Ctx>) -> ParseResult<'a, Ctx, Self> {
|
||||||
<<Self as ParseMode>::Mode as Mode>::seal(self.mdeserialize(inctx))
|
<<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>;
|
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>
|
impl<'a, Ctx: Context<'a>, F: RegularFactory<'a, Ctx>> FactoryModeProxy<'a, Ctx>
|
||||||
for WithMode<F, RegularMode>
|
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>);
|
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>);
|
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>
|
impl<'a, Ctx: Context<'a>, F: InlineableFactory<'a, Ctx>> FactoryModeProxy<'a, Ctx>
|
||||||
for WithMode<F, InliningMode>
|
for WithMode<F, InliningMode>
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user