Enum tagua_parser::ast::Name
[−]
[src]
pub enum Name<'a> {
Unqualified(&'a [u8]),
Qualified(Vec<&'a [u8]>),
RelativeQualified(Vec<&'a [u8]>),
FullyQualified(Vec<&'a [u8]>),
}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"[..])) );Run
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"[..]])) );Run
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"[..]])) );Run
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"[..]])) );Run
Note that the leading \ part is not present.