Skip to main content

Analyzable

Trait Analyzable 

Source
pub trait Analyzable {
    // Required methods
    fn analyze(&mut self, parent: Option<Rc<Scope>>) -> AnalyzeReport;
    fn is_resolved(&self) -> bool;
}
Expand description

A trait for types that can be semantically analyzed.

Types implementing this trait can validate their semantic correctness and resolve symbol references within a given scope.

Required Methods§

Source

fn analyze(&mut self, parent: Option<Rc<Scope>>) -> AnalyzeReport

Performs semantic analysis on the type.

§Arguments
  • parent - Optional parent scope containing symbol definitions
§Returns
  • AnalyzeReport of the analysis. Empty if no errors are found.
Source

fn is_resolved(&self) -> bool

Returns true if all of the symbols have been resolved .

Implementations on Foreign Types§

Source§

impl<T: Analyzable> Analyzable for Option<T>

Source§

fn analyze(&mut self, parent: Option<Rc<Scope>>) -> AnalyzeReport

Source§

fn is_resolved(&self) -> bool

Source§

impl<T: Analyzable> Analyzable for Box<T>

Source§

fn analyze(&mut self, parent: Option<Rc<Scope>>) -> AnalyzeReport

Source§

fn is_resolved(&self) -> bool

Source§

impl<T: Analyzable> Analyzable for Vec<T>

Source§

fn analyze(&mut self, parent: Option<Rc<Scope>>) -> AnalyzeReport

Source§

fn is_resolved(&self) -> bool

Implementors§

Source§

impl Analyzable for AddressExpr

Source§

impl Analyzable for ChainSpecificBlock

Source§

impl Analyzable for CollateralBlockField

Source§

impl Analyzable for DataExpr

Source§

impl Analyzable for InputBlockField

Source§

impl Analyzable for MintBlockField

Source§

impl Analyzable for OutputBlockField

Source§

impl Analyzable for PolicyField

Source§

impl Analyzable for Type

Source§

impl Analyzable for ValidityBlockField

Source§

impl Analyzable for CardanoBlock

Source§

impl Analyzable for CardanoPublishBlockField

Source§

impl Analyzable for NativeWitnessField

Source§

impl Analyzable for PlutusWitnessField

Source§

impl Analyzable for WithdrawalField

Source§

impl Analyzable for AddOp

Source§

impl Analyzable for AliasDef

Source§

impl Analyzable for AnyAssetConstructor

Source§

impl Analyzable for AssetDef

Source§

impl Analyzable for CollateralBlock

Source§

impl Analyzable for ConcatOp

Source§

impl Analyzable for FnCall

Source§

impl Analyzable for Identifier

Source§

impl Analyzable for InputBlock

Source§

impl Analyzable for ListConstructor

Source§

impl Analyzable for LocalsAssign

Source§

impl Analyzable for LocalsBlock

Source§

impl Analyzable for MapConstructor

Source§

impl Analyzable for MapField

Source§

impl Analyzable for MetadataBlock

Source§

impl Analyzable for MetadataBlockField

Source§

impl Analyzable for MintBlock

Source§

impl Analyzable for NegateOp

Source§

impl Analyzable for OutputBlock

Source§

impl Analyzable for ParamDef

Source§

impl Analyzable for ParameterList

Source§

impl Analyzable for PartyDef

Source§

impl Analyzable for PolicyConstructor

Source§

impl Analyzable for PolicyDef

Source§

impl Analyzable for Program

Source§

impl Analyzable for PropertyOp

Source§

impl Analyzable for RecordConstructorField

Source§

impl Analyzable for RecordField

Source§

impl Analyzable for ReferenceBlock

Source§

impl Analyzable for SignersBlock

Source§

impl Analyzable for StructConstructor

Source§

impl Analyzable for SubOp

Source§

impl Analyzable for TxDef

Source§

impl Analyzable for TypeDef

Source§

impl Analyzable for ValidityBlock

Source§

impl Analyzable for VariantCase

Source§

impl Analyzable for VariantCaseConstructor

Source§

impl Analyzable for CardanoPublishBlock

Source§

impl Analyzable for NativeWitnessBlock

Source§

impl Analyzable for PlutusWitnessBlock

Source§

impl Analyzable for StakeDelegationCertificate

Source§

impl Analyzable for TreasuryDonationBlock

Source§

impl Analyzable for VoteDelegationCertificate

Source§

impl Analyzable for WithdrawalBlock