pub enum Name<'a> {
Unqualified(&'a [u8]),
Qualified(Vec<&'a [u8]>),
RelativeQualified(Vec<&'a [u8]>),
FullyQualified(Vec<&'a [u8]>),
}Expand description
A name represents an entity name.
Variants§
Unqualified(&'a [u8])
An unqualified name, i.e. a name without a namespace, like Bar.
§Examples
use tagua_parser::Result;
use tagua_parser::ast::Name;
use tagua_parser::rules::tokens::qualified_name;
assert_eq!(
qualified_name(b"Bar"),
Result::Done(&b""[..], Name::Unqualified(&b"Bar"[..]))
);Qualified(Vec<&'a [u8]>)
A qualified name, i.e. a name in a relative namespace (aliased or not),
like Foo\Bar.
§Examples
use tagua_parser::Result;
use tagua_parser::ast::Name;
use tagua_parser::rules::tokens::qualified_name;
assert_eq!(
qualified_name(b"Foo\\Bar"),
Result::Done(&b""[..], Name::Qualified(vec![&b"Foo"[..], &b"Bar"[..]]))
);RelativeQualified(Vec<&'a [u8]>)
A relative qualified name, i.e. a name in a relative namespace
restricted to the current namespace, like namespace\Foo\Bar.
§Examples
use tagua_parser::Result;
use tagua_parser::ast::Name;
use tagua_parser::rules::tokens::qualified_name;
assert_eq!(
qualified_name(b"namespace\\Foo\\Bar"),
Result::Done(&b""[..], Name::RelativeQualified(vec![&b"Foo"[..], &b"Bar"[..]]))
);Note that the namespace part is not present.
FullyQualified(Vec<&'a [u8]>)
A fully qualified name, i.e. a name in an absolute namespace, like
\Foo\Bar.
§Examples
use tagua_parser::Result;
use tagua_parser::ast::Name;
use tagua_parser::rules::tokens::qualified_name;
assert_eq!(
qualified_name(b"\\Foo\\Bar"),
Result::Done(&b""[..], Name::FullyQualified(vec![&b"Foo"[..], &b"Bar"[..]]))
);Note that the leading \ part is not present.
Trait Implementations§
impl<'a> StructuralPartialEq for Name<'a>
Auto Trait Implementations§
impl<'a> Freeze for Name<'a>
impl<'a> RefUnwindSafe for Name<'a>
impl<'a> Send for Name<'a>
impl<'a> Sync for Name<'a>
impl<'a> Unpin for Name<'a>
impl<'a> UnwindSafe for Name<'a>
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