AstNode

Trait AstNode 

Source
pub trait AstNode {
    // Required methods
    fn cast(node: &NodeOrToken) -> Option<Self>
       where Self: Sized;
    fn range(&self) -> Range<usize>;

    // Provided method
    fn iter(&self) -> ChildIter<'_> { ... }
}
Expand description

A trait for types that exist in the AST.

Implementations of this type are generally generated via macro.

Required Methods§

Source

fn cast(node: &NodeOrToken) -> Option<Self>
where Self: Sized,

Attempt to cast from some node or token to this type.

Source

fn range(&self) -> Range<usize>

The range in the source of this item.

This is used for better diagnostic reporting.

Provided Methods§

Source

fn iter(&self) -> ChildIter<'_>

If this is a node, iterate over its children

Implementors§

Source§

impl AstNode for DecOctHex

Source§

impl AstNode for FloatLike

Source§

impl AstNode for GdefTableItem

Source§

impl AstNode for Glyph

Source§

impl AstNode for GlyphClass

Source§

impl AstNode for GlyphOrClass

Source§

impl AstNode for GlyphsAppExprItem

Source§

impl AstNode for GlyphsAppNumberValue

Source§

impl AstNode for GlyphsAppOperator

Source§

impl AstNode for GposStatement

Source§

impl AstNode for GsubStatement

Source§

impl AstNode for Metric

Source§

impl AstNode for Os2TableItem

Source§

impl AstNode for StatAxisValueItem

Source§

impl AstNode for StatTableItem

Source§

impl AstNode for Table

Source§

impl AstNode for Anchor

Source§

impl AstNode for AnchorDef

Source§

impl AstNode for AnchorMark

Source§

impl AstNode for AxisLocation

Source§

impl AstNode for BacktrackSequence

Source§

impl AstNode for BaseScriptList

Source§

impl AstNode for BaseTable

Source§

impl AstNode for BaseTagList

Source§

impl AstNode for Cid

Source§

impl AstNode for Condition

Source§

impl AstNode for ConditionSet

Source§

impl AstNode for CvParameters

Source§

impl AstNode for CvParametersChar

Source§

impl AstNode for CvParametersName

Source§

impl AstNode for Device

Source§

impl AstNode for Feature

Source§

impl AstNode for FeatureNames

Source§

impl AstNode for FeatureRef

Source§

impl AstNode for FeatureVariation

Source§

impl AstNode for Float

Source§

impl AstNode for GdefAttach

Source§

impl AstNode for GdefClassDef

Source§

impl AstNode for GdefClassDefEntry

Source§

impl AstNode for GdefLigatureCaret

Source§

impl AstNode for GdefTable

Source§

impl AstNode for GlyphClassDef

Source§

impl AstNode for GlyphClassLiteral

Source§

impl AstNode for GlyphClassName

Source§

impl AstNode for GlyphName

Source§

impl AstNode for GlyphRange

Source§

impl AstNode for GlyphsAppNumber

Source§

impl AstNode for GlyphsAppNumberExpr

Source§

impl AstNode for GlyphsAppNumberName

Source§

impl AstNode for GlyphsAppOperatorDiv

Source§

impl AstNode for GlyphsAppOperatorMinus

Source§

impl AstNode for GlyphsAppOperatorMul

Source§

impl AstNode for GlyphsAppOperatorPlus

Source§

impl AstNode for Gpos1

Source§

impl AstNode for Gpos2

Source§

impl AstNode for Gpos3

Source§

impl AstNode for Gpos4

Source§

impl AstNode for Gpos5

Source§

impl AstNode for Gpos6

Source§

impl AstNode for Gpos8

Source§

impl AstNode for GposIgnore

Source§

impl AstNode for Gsub1

Source§

impl AstNode for Gsub2

Source§

impl AstNode for Gsub3

Source§

impl AstNode for Gsub4

Source§

impl AstNode for Gsub5

Source§

impl AstNode for Gsub6

Source§

impl AstNode for Gsub8

Source§

impl AstNode for GsubIgnore

Source§

impl AstNode for HeadFontRevision

Source§

impl AstNode for HeadTable

Source§

impl AstNode for Hex

Source§

impl AstNode for HheaTable

Source§

impl AstNode for IgnoreRule

Source§

impl AstNode for Include

Source§

impl AstNode for InlineSubRule

Source§

impl AstNode for InputItem

Source§

impl AstNode for InputSequence

Source§

impl AstNode for Language

Source§

impl AstNode for LanguageSystem

Source§

impl AstNode for LigatureComponent

Source§

impl AstNode for LocationSpec

Source§

impl AstNode for LocationSpecItem

Source§

impl AstNode for LocationValue

Source§

impl AstNode for LookaheadSequence

Source§

impl AstNode for LookupBlock

Source§

impl AstNode for LookupFlag

Source§

impl AstNode for LookupRef

Source§

impl AstNode for MarkClassDef

Source§

impl AstNode for MetricRecord

Source§

impl AstNode for NameRecord

Source§

impl AstNode for NameSpec

Source§

impl AstNode for NameTable

Source§

impl AstNode for Null

Source§

impl AstNode for Number

Source§

impl AstNode for NumberRecord

Source§

impl AstNode for NumberSuffix

Source§

impl AstNode for Octal

Source§

impl AstNode for Os2FamilyClass

Source§

impl AstNode for Os2NumberList

Source§

impl AstNode for Os2Table

Source§

impl AstNode for Parameters

Source§

impl AstNode for Root

Source§

impl AstNode for Script

Source§

impl AstNode for ScriptRecord

Source§

impl AstNode for SizeMenuName

Source§

impl AstNode for StatAxisFlag

Source§

impl AstNode for StatAxisLocation

Source§

impl AstNode for StatAxisValue

Source§

impl AstNode for StatDesignAxis

Source§

impl AstNode for StatElidedFallbackName

Source§

impl AstNode for StatTable

Source§

impl AstNode for Tag

Source§

impl AstNode for UnimplentedTable

Source§

impl AstNode for ValueRecord

Source§

impl AstNode for ValueRecordDef

Source§

impl AstNode for VariableMetric

Source§

impl AstNode for VendorRecord

Source§

impl AstNode for VheaTable

Source§

impl AstNode for VmtxEntry

Source§

impl AstNode for VmtxTable