Skip to main content

AstNode

Trait AstNode 

Source
pub trait AstNode: Sized {
    const RULE: Rule;

    // Required methods
    fn parse(pair: Pair<'_, Rule>) -> Result<Self, Error>;
    fn span(&self) -> &Span;
}

Required Associated Constants§

Required Methods§

Source

fn parse(pair: Pair<'_, Rule>) -> Result<Self, Error>

Source

fn span(&self) -> &Span

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl AstNode for ChainSpecificBlock

Source§

const RULE: Rule = Rule::chain_specific_block

Source§

impl AstNode for CollateralBlockField

Source§

const RULE: Rule = Rule::collateral_block_field

Source§

impl AstNode for DataExpr

Source§

const RULE: Rule = Rule::data_expr

Source§

impl AstNode for InputBlockField

Source§

const RULE: Rule = Rule::input_block_field

Source§

impl AstNode for MintBlockField

Source§

const RULE: Rule = Rule::mint_block_field

Source§

impl AstNode for OutputBlockField

Source§

const RULE: Rule = Rule::output_block_field

Source§

impl AstNode for PolicyField

Source§

const RULE: Rule = Rule::policy_def_field

Source§

impl AstNode for PolicyValue

Source§

const RULE: Rule = Rule::policy_def_value

Source§

impl AstNode for Type

Source§

const RULE: Rule = Rule::r#type

Source§

impl AstNode for ValidityBlockField

Source§

const RULE: Rule = Rule::validity_block_field

Source§

impl AstNode for CardanoBlock

Source§

const RULE: Rule = Rule::cardano_block

Source§

impl AstNode for CardanoPublishBlockField

Source§

const RULE: Rule = Rule::cardano_publish_block_field

Source§

impl AstNode for NativeWitnessField

Source§

const RULE: Rule = Rule::cardano_native_witness_field

Source§

impl AstNode for PlutusWitnessField

Source§

const RULE: Rule = Rule::cardano_plutus_witness_field

Source§

impl AstNode for WithdrawalField

Source§

const RULE: Rule = Rule::cardano_withdrawal_field

Source§

impl AstNode for AliasDef

Source§

const RULE: Rule = Rule::alias_def

Source§

impl AstNode for AnyAssetConstructor

Source§

const RULE: Rule = Rule::any_asset_constructor

Source§

impl AstNode for AssetDef

Source§

const RULE: Rule = Rule::asset_def

Source§

impl AstNode for CollateralBlock

Source§

const RULE: Rule = Rule::collateral_block

Source§

impl AstNode for ConcatOp

Source§

const RULE: Rule = Rule::concat_constructor

Source§

impl AstNode for EnvDef

Source§

const RULE: Rule = Rule::env_def

Source§

impl AstNode for EnvField

Source§

const RULE: Rule = Rule::env_field

Source§

impl AstNode for FnCall

Source§

const RULE: Rule = Rule::fn_call

Source§

impl AstNode for HexStringLiteral

Source§

const RULE: Rule = Rule::hex_string

Source§

impl AstNode for Identifier

Source§

const RULE: Rule = Rule::identifier

Source§

impl AstNode for InputBlock

Source§

const RULE: Rule = Rule::input_block

Source§

impl AstNode for ListConstructor

Source§

const RULE: Rule = Rule::list_constructor

Source§

impl AstNode for LocalsAssign

Source§

const RULE: Rule = Rule::locals_assign

Source§

impl AstNode for LocalsBlock

Source§

const RULE: Rule = Rule::locals_block

Source§

impl AstNode for MapConstructor

Source§

const RULE: Rule = Rule::map_constructor

Source§

impl AstNode for MapField

Source§

const RULE: Rule = Rule::map_field

Source§

impl AstNode for MetadataBlock

Source§

const RULE: Rule = Rule::metadata_block

Source§

impl AstNode for MetadataBlockField

Source§

const RULE: Rule = Rule::metadata_block_field

Source§

impl AstNode for MintBlock

Source§

const RULE: Rule = Rule::mint_block

Source§

impl AstNode for OutputBlock

Source§

const RULE: Rule = Rule::output_block

Source§

impl AstNode for ParameterList

Source§

const RULE: Rule = Rule::parameter_list

Source§

impl AstNode for PartyDef

Source§

const RULE: Rule = Rule::party_def

Source§

impl AstNode for PolicyConstructor

Source§

const RULE: Rule = Rule::policy_def_constructor

Source§

impl AstNode for PolicyDef

Source§

const RULE: Rule = Rule::policy_def

Source§

impl AstNode for Program

Source§

const RULE: Rule = Rule::program

Source§

impl AstNode for RecordConstructorField

Source§

const RULE: Rule = Rule::record_constructor_field

Source§

impl AstNode for RecordField

Source§

const RULE: Rule = Rule::record_field

Source§

impl AstNode for ReferenceBlock

Source§

const RULE: Rule = Rule::reference_block

Source§

impl AstNode for SignersBlock

Source§

const RULE: Rule = Rule::signers_block

Source§

impl AstNode for StringLiteral

Source§

const RULE: Rule = Rule::string

Source§

impl AstNode for StructConstructor

Source§

const RULE: Rule = Rule::struct_constructor

Source§

impl AstNode for TxDef

Source§

const RULE: Rule = Rule::tx_def

Source§

impl AstNode for TypeDef

Source§

const RULE: Rule = Rule::type_def

Source§

impl AstNode for UtxoRef

Source§

const RULE: Rule = Rule::utxo_ref

Source§

impl AstNode for ValidityBlock

Source§

const RULE: Rule = Rule::validity_block

Source§

impl AstNode for VariantCase

Source§

const RULE: Rule = Rule::variant_case

Source§

impl AstNode for VariantCaseConstructor

Source§

const RULE: Rule = Rule::variant_case_constructor

Source§

impl AstNode for CardanoPublishBlock

Source§

const RULE: Rule = Rule::cardano_publish_block

Source§

impl AstNode for NativeWitnessBlock

Source§

const RULE: Rule = Rule::cardano_native_witness_block

Source§

impl AstNode for PlutusWitnessBlock

Source§

const RULE: Rule = Rule::cardano_plutus_witness_block

Source§

impl AstNode for StakeDelegationCertificate

Source§

const RULE: Rule = Rule::cardano_stake_delegation_certificate

Source§

impl AstNode for TreasuryDonationBlock

Source§

const RULE: Rule = Rule::cardano_treasury_donation_block

Source§

impl AstNode for VoteDelegationCertificate

Source§

const RULE: Rule = Rule::cardano_vote_delegation_certificate

Source§

impl AstNode for WithdrawalBlock

Source§

const RULE: Rule = Rule::cardano_withdrawal_block