Enum parol::grammar::attributes::SymbolAttribute
source · pub enum SymbolAttribute {
None,
RepetitionAnchor,
Option,
Clipped,
}
Expand description
Attributes applicable to a grammar symbol
Variants§
None
No valid attribute, default value
RepetitionAnchor
The symbol is actually a collection, i.e. a vector Is attached to a non-terminal symbol. If an argument with this attribute appears in the argument list of a semantic action this collection should be reversed.
Option
The symbol is an option with the inner type that is determined by the non-terminal
Clipped
The symbol is not relevant for the AST and should not be propagated.
Trait Implementations§
source§impl Clone for SymbolAttribute
impl Clone for SymbolAttribute
source§fn clone(&self) -> SymbolAttribute
fn clone(&self) -> SymbolAttribute
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for SymbolAttribute
impl Debug for SymbolAttribute
source§impl<T, W> Decorate<T, W> for SymbolAttribute
impl<T, W> Decorate<T, W> for SymbolAttribute
source§impl Default for SymbolAttribute
impl Default for SymbolAttribute
source§impl<'de> Deserialize<'de> for SymbolAttribute
impl<'de> Deserialize<'de> for SymbolAttribute
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Display for SymbolAttribute
impl Display for SymbolAttribute
source§impl Hash for SymbolAttribute
impl Hash for SymbolAttribute
source§impl Ord for SymbolAttribute
impl Ord for SymbolAttribute
source§fn cmp(&self, other: &SymbolAttribute) -> Ordering
fn cmp(&self, other: &SymbolAttribute) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl PartialEq for SymbolAttribute
impl PartialEq for SymbolAttribute
source§fn eq(&self, other: &SymbolAttribute) -> bool
fn eq(&self, other: &SymbolAttribute) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for SymbolAttribute
impl PartialOrd for SymbolAttribute
source§fn partial_cmp(&self, other: &SymbolAttribute) -> Option<Ordering>
fn partial_cmp(&self, other: &SymbolAttribute) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§impl Serialize for SymbolAttribute
impl Serialize for SymbolAttribute
source§impl TS for SymbolAttribute
impl TS for SymbolAttribute
§type WithoutGenerics = SymbolAttribute
type WithoutGenerics = SymbolAttribute
If this type does not have generic parameters, then
WithoutGenerics
should just be Self
.
If the type does have generic parameters, then all generic parameters must be replaced with
a dummy type, e.g ts_rs::Dummy
or ()
.
The only requirement for these dummy types is that EXPORT_TO
must be None
. Read moresource§const DOCS: Option<&'static str> = _
const DOCS: Option<&'static str> = _
JSDoc comment to describe this type in TypeScript - when
TS
is derived, docs are
automatically read from your doc comments or #[doc = ".."]
attributessource§fn decl_concrete() -> String
fn decl_concrete() -> String
Declaration of this type using the supplied generic arguments.
The resulting TypeScript definition will not be generic. For that, see
TS::decl()
.
If this type is not generic, then this function is equivalent to TS::decl()
.source§fn decl() -> String
fn decl() -> String
Declaration of this type, e.g.
type User = { user_id: number, ... }
.
This function will panic if the type has no declaration. Read moresource§fn inline() -> String
fn inline() -> String
Formats this types definition in TypeScript, e.g
{ user_id: number }
.
This function will panic if the type cannot be inlined.source§fn inline_flattened() -> String
fn inline_flattened() -> String
Flatten an type declaration.
This function will panic if the type cannot be flattened.
This function will panic if the type cannot be flattened.
source§fn output_path() -> Option<&'static Path>
fn output_path() -> Option<&'static Path>
Returns the output path to where
The returned path does not include the base directory from
T
should be exported.The returned path does not include the base directory from
TS_RS_EXPORT_DIR
. Read moresource§fn dependency_types() -> impl TypeListwhere
Self: 'static,
fn dependency_types() -> impl TypeListwhere
Self: 'static,
Returns a
TypeList
of all types on which this type depends.source§fn dependencies() -> Vec<Dependency>where
Self: 'static,
fn dependencies() -> Vec<Dependency>where
Self: 'static,
Resolves all dependencies of this type recursively.
source§fn export() -> Result<(), ExportError>where
Self: 'static,
fn export() -> Result<(), ExportError>where
Self: 'static,
Manually export this type to the filesystem.
To export this type together with all of its dependencies, use
TS::export_all
. Read moresource§fn export_all() -> Result<(), ExportError>where
Self: 'static,
fn export_all() -> Result<(), ExportError>where
Self: 'static,
Manually export this type to the filesystem, together with all of its dependencies.
To export only this type, without its dependencies, use
To export only this type, without its dependencies, use
TS::export
. Read moresource§fn export_all_to(out_dir: impl AsRef<Path>) -> Result<(), ExportError>where
Self: 'static,
fn export_all_to(out_dir: impl AsRef<Path>) -> Result<(), ExportError>where
Self: 'static,
Manually export this type into the given directory, together with all of its dependencies.
To export only this type, without its dependencies, use
To export only this type, without its dependencies, use
TS::export
. Read moresource§fn export_to_string() -> Result<String, ExportError>where
Self: 'static,
fn export_to_string() -> Result<String, ExportError>where
Self: 'static,
impl Copy for SymbolAttribute
impl Eq for SymbolAttribute
impl StructuralPartialEq for SymbolAttribute
Auto Trait Implementations§
impl Freeze for SymbolAttribute
impl RefUnwindSafe for SymbolAttribute
impl Send for SymbolAttribute
impl Sync for SymbolAttribute
impl Unpin for SymbolAttribute
impl UnwindSafe for SymbolAttribute
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.