// @generated by openehr-codegen from BMM (`EXPR_UNARY_OPERATOR`) — DO NOT EDIT.
//! The openEHR `EXPR_UNARY_OPERATOR` spec class, generated from the vendored BMM
//! meta-model.
use crate::beom::core::expression::Expression;
use crate::beom::core::operator_kind::OperatorKind;
/// Unary operator expression node.
#[doc(alias = "EXPR_UNARY_OPERATOR")]
#[derive(Debug, Clone, PartialEq)]
pub struct ExprUnaryOperator {
// inherited: EXPR_OPERATOR
/// True if the natural precedence of operators is overridden in the expression represented by this node of the expression tree.
///
/// If True, parentheses should be introduced around the totality of the syntax expression corresponding to this operator node and its operands.
pub precedence_overridden: Option<bool>,
/// Operator definition.
pub operator: OperatorKind,
/// The symbol actually used in the rule, or intended to be used for serialisation. Must be a member of `operator_def.symbols`.
pub symbol: Option<String>,
/// Operand node.
pub operand: Box<Expression>,
}