QRegularFactory -> CRegularFactory

This commit is contained in:
AF 2023-07-30 15:28:28 +00:00
parent 0456de685f
commit cf7ff1b5b8
5 changed files with 18 additions and 18 deletions

View File

@ -33,9 +33,9 @@ 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::{
ExtensionResult, ExtensionResultM, ExtensionResultP, ExtensionSource, ExtensionSourceM, CRegularFactory, ExtensionResult, ExtensionResultM, ExtensionResultP, ExtensionSource,
ExtensionSourceP, FactoryModeParse, FactoryModeProxy, ImplMode, Mode, ModeResult, ModeResultM, ExtensionSourceM, ExtensionSourceP, FactoryModeParse, FactoryModeProxy, ImplMode, Mode,
ModeResultP, ParseMode, ParseModeExt, ParseSuccess, ParseSuccessP, QRegularFactory, ModeResult, ModeResultM, ModeResultP, ParseMode, ParseModeExt, ParseSuccess, ParseSuccessP,
RegularFactory, RegularMode, WithMode, WithParseMode, RegularFactory, RegularMode, WithMode, WithParseMode,
}; };
pub use self::origin::{OFctr, Origin}; pub use self::origin::{OFctr, Origin};

View File

@ -365,11 +365,11 @@ impl Mode for RegularMode {
} }
} }
pub trait QRegularFactory<'a, Ctx: Context<'a>>: pub trait CRegularFactory<'a, Ctx: Context<'a>>:
FactoryBase<'a, Ctx> + ImplMode<Mode = RegularMode> FactoryBase<'a, Ctx> + ImplMode<Mode = RegularMode>
{ {
fn qrdeserialize(&self, inctx: impl InCtx<'a, Ctx>) -> ParseResult<'a, Ctx, Self>; fn crdeserialize(&self, inctx: impl InCtx<'a, Ctx>) -> ParseResult<'a, Ctx, Self>;
fn qrextend(&self, mentionable: Self::Mtbl, tail: &[u8]) -> ParseResult<'a, Ctx, Self>; fn crextend(&self, mentionable: Self::Mtbl, tail: &[u8]) -> ParseResult<'a, Ctx, Self>;
} }
pub trait RegularFactory<'a, Ctx: Context<'a>>: pub trait RegularFactory<'a, Ctx: Context<'a>>:
@ -391,16 +391,16 @@ impl<'a, Ctx: Context<'a>, F: FactoryModeParse<'a, Ctx> + ParseMode<Mode = Regul
} }
} }
impl<'a, Ctx: Context<'a>, F: QRegularFactory<'a, Ctx>> FactoryModeProxy<'a, Ctx> impl<'a, Ctx: Context<'a>, F: CRegularFactory<'a, Ctx>> FactoryModeProxy<'a, Ctx>
for WithMode<F, RegularMode> for WithMode<F, RegularMode>
{ {
type F = F; type F = F;
fn pmdeserialize<I: InCtx<'a, Ctx>>(f: &Self::F, inctx: I) -> ModeResultM<'a, Ctx, F, I> { fn pmdeserialize<I: InCtx<'a, Ctx>>(f: &Self::F, inctx: I) -> ModeResultM<'a, Ctx, F, I> {
f.qrdeserialize(inctx) f.crdeserialize(inctx)
} }
fn pmextend(f: &F, mentionable: Mtbl<'a, Ctx, F>, tail: &[u8]) -> ExtensionResultM<'a, Ctx, F> { fn pmextend(f: &F, mentionable: Mtbl<'a, Ctx, F>, tail: &[u8]) -> ExtensionResultM<'a, Ctx, F> {
f.qrextend(mentionable, tail) f.crextend(mentionable, tail)
} }
} }

View File

@ -106,12 +106,12 @@ impl<F: ParseMode> ImplMode for StackNodeFactory<F> {
type Mode = F::Mode; type Mode = F::Mode;
} }
impl<'a, Ctx: Context<'a>, F: Factory<'a, Ctx> + RegularFactory<'a, Ctx>> QRegularFactory<'a, Ctx> impl<'a, Ctx: Context<'a>, F: Factory<'a, Ctx> + RegularFactory<'a, Ctx>> CRegularFactory<'a, Ctx>
for StackNodeFactory<F> for StackNodeFactory<F>
where where
F::Mtbl: MentionableTop<'a, Ctx>, F::Mtbl: MentionableTop<'a, Ctx>,
{ {
fn qrdeserialize(&self, inctx: impl InCtx<'a, Ctx>) -> ParseResult<'a, Ctx, Self> { fn crdeserialize(&self, inctx: impl InCtx<'a, Ctx>) -> ParseResult<'a, Ctx, Self> {
let (rest, inctx) = self.parse_point(inctx)?; let (rest, inctx) = self.parse_point(inctx)?;
let element = self let element = self
.element_factory .element_factory
@ -120,7 +120,7 @@ where
Ok(StackNode { rest, element }) Ok(StackNode { rest, element })
} }
fn qrextend(&self, mut mentionable: Self::Mtbl, tail: &[u8]) -> ParseResult<'a, Ctx, Self> { fn crextend(&self, mut mentionable: Self::Mtbl, tail: &[u8]) -> ParseResult<'a, Ctx, Self> {
mentionable.element = self mentionable.element = self
.element_factory .element_factory
.extend(mentionable.element, tail) .extend(mentionable.element, tail)

View File

@ -144,8 +144,8 @@ impl<F> ImplMode for NodeFactory<F> {
type Mode = RegularMode; type Mode = RegularMode;
} }
impl<'a, Ctx: Context<'a>, F: FactoryParse<'a, Ctx>> QRegularFactory<'a, Ctx> for NodeFactory<F> { impl<'a, Ctx: Context<'a>, F: FactoryParse<'a, Ctx>> CRegularFactory<'a, Ctx> for NodeFactory<F> {
fn qrdeserialize(&self, inctx: impl InCtx<'a, Ctx>) -> ParseResult<'a, Ctx, Self> { fn crdeserialize(&self, inctx: impl InCtx<'a, Ctx>) -> ParseResult<'a, Ctx, Self> {
let tree_factory = TreeFactory(NullableFactory::new(self.clone())); let tree_factory = TreeFactory(NullableFactory::new(self.clone()));
let (l, inctx) = tree_factory.ideserialize(inctx)?; let (l, inctx) = tree_factory.ideserialize(inctx)?;
let (r, inctx) = tree_factory.ideserialize(inctx)?; let (r, inctx) = tree_factory.ideserialize(inctx)?;
@ -153,7 +153,7 @@ impl<'a, Ctx: Context<'a>, F: FactoryParse<'a, Ctx>> QRegularFactory<'a, Ctx> fo
Ok(Node { l, r, key }) Ok(Node { l, r, key })
} }
fn qrextend(&self, mut mentionable: Self::Mtbl, tail: &[u8]) -> ParseResult<'a, Ctx, Self> { fn crextend(&self, mut mentionable: Self::Mtbl, tail: &[u8]) -> ParseResult<'a, Ctx, Self> {
mentionable.key = self mentionable.key = self
.0 .0
.extend(mentionable.key, tail) .extend(mentionable.key, tail)

View File

@ -101,12 +101,12 @@ impl<'a, Ctx: Context<'a>> ImplMode for TypelessFactory<'a, Ctx> {
type Mode = RegularMode; type Mode = RegularMode;
} }
impl<'a, Ctx: Context<'a>> QRegularFactory<'a, Ctx> for TypelessFactory<'a, Ctx> { impl<'a, Ctx: Context<'a>> CRegularFactory<'a, Ctx> for TypelessFactory<'a, Ctx> {
fn qrdeserialize(&self, inctx: impl InCtx<'a, Ctx>) -> ParseResult<'a, Ctx, Self> { fn crdeserialize(&self, inctx: impl InCtx<'a, Ctx>) -> ParseResult<'a, Ctx, Self> {
self.t_deserialize.de(inctx.demote()).map_err(TypelessError) self.t_deserialize.de(inctx.demote()).map_err(TypelessError)
} }
fn qrextend(&self, mentionable: Self::Mtbl, tail: &[u8]) -> ParseResult<'a, Ctx, Self> { fn crextend(&self, mentionable: Self::Mtbl, tail: &[u8]) -> ParseResult<'a, Ctx, Self> {
self.t_extend.xt(mentionable, tail) self.t_extend.xt(mentionable, tail)
} }
} }