openehr-lang 0.0.2

openEHR LANG 1.0.0: BMM/P_BMM object model (generated from BMM) plus a hand-written ODIN instance parser (the `odin` module — deliberately off the codegen path).
Documentation
// @generated by openehr-codegen from BMM (`BMM_STATEMENT_ITEM`) — DO NOT EDIT.

//! The openEHR `BMM_STATEMENT_ITEM` spec class, generated from the vendored BMM
//! meta-model.

use crate::bmm3::statement::bmm_action_table::BmmActionTable;
use crate::bmm3::statement::bmm_assertion::BmmAssertion;
use crate::bmm3::statement::bmm_assignment::BmmAssignment;
use crate::bmm3::statement::bmm_declaration::BmmDeclaration;
use crate::bmm3::statement::bmm_procedure_call::BmmProcedureCall;
use crate::bmm3::statement::bmm_statement_block::BmmStatementBlock;

/// Closed subtype set of `BMM_STATEMENT_ITEM`, dispatched on each payload's `_type`.
///
/// Abstract parent of statement types representing a locally defined routine body.
#[doc(alias = "BMM_STATEMENT_ITEM")]
#[derive(Debug, Clone, PartialEq)]
pub enum BmmStatementItem {
    /// The `BMM_ACTION_TABLE` subtype of `BMM_STATEMENT_ITEM`.
    BmmActionTable(BmmActionTable),
    /// The `BMM_ASSERTION` subtype of `BMM_STATEMENT_ITEM`.
    BmmAssertion(BmmAssertion),
    /// The `BMM_ASSIGNMENT` subtype of `BMM_STATEMENT_ITEM`.
    BmmAssignment(BmmAssignment),
    /// The `BMM_DECLARATION` subtype of `BMM_STATEMENT_ITEM`.
    BmmDeclaration(BmmDeclaration),
    /// The `BMM_PROCEDURE_CALL` subtype of `BMM_STATEMENT_ITEM`.
    BmmProcedureCall(BmmProcedureCall),
    /// The `BMM_STATEMENT_BLOCK` subtype of `BMM_STATEMENT_ITEM`.
    BmmStatementBlock(BmmStatementBlock),
}