mux-lang 0.1.1

The Mux Programming Language Compiler
Documentation
use super::literals::LiteralNode;

#[derive(Debug, Clone, PartialEq)]
pub enum PatternNode {
    Literal(LiteralNode),
    Identifier(String),
    Wildcard, // `_`

    EnumVariant {
        name: String,
        args: Vec<PatternNode>,
    },
}

#[derive(Debug, Clone, PartialEq)]
pub struct MatchArm {
    pub pattern: PatternNode,
    pub guard: Option<super::nodes::ExpressionNode>,
    pub body: Vec<super::nodes::StatementNode>,
}