Struct tfm::pl::cst::RegularNode
source · pub struct RegularNode {
pub opening_parenthesis_span: Range<usize>,
pub key: String,
pub key_span: Range<usize>,
pub data: Option<String>,
pub data_span: Range<usize>,
pub children: Option<Vec<Node>>,
pub closing_parenthesis_span: Range<usize>,
}
Expand description
Value of a regular node in the CST.
Fields§
§opening_parenthesis_span: Range<usize>
Span of the opening parenthesis for this node in the source file.
It always has length 1.
key: String
Key of the node; e.g., CHECKSUM
.
key_span: Range<usize>
Span of the key in the source file
data: Option<String>
Data of the node.
The values None
and Some("".to_string())
are semantically the same.
However they are displayed differently.
For example the stop node is displayed as (STOP)
but an empty coding scheme node
is displayed as (CODINGSCHEME )
.
data_span: Range<usize>
Span of the raw data in the source file.
children: Option<Vec<Node>>
Child nodes, for nodes that themselves contain property lists. E.g. CHARACTER
.
The values None
and Some(vec![])
are semantically the same.
However they are displayed differently.
For example the stop node is displayed as (STOP)
but an empty lig table node
is displayed as (LIGTABLE\n)
.
closing_parenthesis_span: Range<usize>
Span of the closing parenthesis for this node in the source file.
It either has length 1 (for a closing parenthesis that appears in the source file) or 0 (for a closing parenthesis automatically added to balance an unbalanced opening parenthesis).
Trait Implementations§
source§impl Debug for RegularNode
impl Debug for RegularNode
source§impl PartialEq<RegularNode> for RegularNode
impl PartialEq<RegularNode> for RegularNode
source§fn eq(&self, other: &RegularNode) -> bool
fn eq(&self, other: &RegularNode) -> bool
self
and other
values to be equal, and is used
by ==
.