builder_type_t
This commit is contained in:
parent
5604434de5
commit
1f54311854
58
src/builder_type_t.rs
Normal file
58
src/builder_type_t.rs
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
#[macro_export]
|
||||||
|
macro_rules! builder_type_t {
|
||||||
|
(
|
||||||
|
$name:ident
|
||||||
|
$(<
|
||||||
|
$generic0Name:ty $(, $genericNName:ty)*
|
||||||
|
>)?
|
||||||
|
|
||||||
|
) => {
|
||||||
|
$name
|
||||||
|
<
|
||||||
|
'source, 'pos, 'builder, C, P, CS
|
||||||
|
$(, $generic0Name $(, $genericNName)*)?
|
||||||
|
>
|
||||||
|
|
||||||
|
};
|
||||||
|
(
|
||||||
|
$name:ident
|
||||||
|
<
|
||||||
|
$lifetime0Name:lifetime $(, $lifetimeNName:lifetime)*
|
||||||
|
$(, $genericNName:ty)*
|
||||||
|
>
|
||||||
|
) => {
|
||||||
|
$name
|
||||||
|
<
|
||||||
|
'source, 'pos, 'builder, $lifetime0Name $(, $lifetimeNName)*,
|
||||||
|
C, P, CS $(, $genericNName)*
|
||||||
|
>
|
||||||
|
};
|
||||||
|
|
||||||
|
(
|
||||||
|
impl $name:ident
|
||||||
|
$(<
|
||||||
|
$generic0Name:ty $(, $genericNName:ty)*
|
||||||
|
>)?
|
||||||
|
|
||||||
|
) => {
|
||||||
|
impl $name
|
||||||
|
<
|
||||||
|
'source, 'pos, 'builder, C, P, CS
|
||||||
|
$(, $generic0Name $(, $genericNName)*)?
|
||||||
|
>
|
||||||
|
|
||||||
|
};
|
||||||
|
(
|
||||||
|
impl $name:ident
|
||||||
|
<
|
||||||
|
$lifetime0Name:lifetime $(, $lifetimeNName:lifetime)*
|
||||||
|
$(, $genericNName:ty)*
|
||||||
|
>
|
||||||
|
) => {
|
||||||
|
impl $name
|
||||||
|
<
|
||||||
|
'source, 'pos, 'builder, $lifetime0Name $(, $lifetimeNName)*,
|
||||||
|
C, P, CS $(, $genericNName)*
|
||||||
|
>
|
||||||
|
};
|
||||||
|
}
|
||||||
@ -1,5 +1,6 @@
|
|||||||
mod _keyword_impls;
|
mod _keyword_impls;
|
||||||
mod parser_func;
|
mod parser_func;
|
||||||
|
mod builder_type_t;
|
||||||
|
|
||||||
pub trait Predicate<C> {
|
pub trait Predicate<C> {
|
||||||
fn check(&mut self, chr: C) -> bool;
|
fn check(&mut self, chr: C) -> bool;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user