galvan_ast/item/
postfix.rs1use crate::{AstNode, PrintAst, Span};
2use derive_more::From;
3use galvan_ast_macro::AstNode;
4use typeunion::type_union;
5
6use super::Expression;
7
8#[type_union]
9#[derive(Clone, Debug, PartialEq, Eq, AstNode)]
10pub type PostfixExpression = YeetExpression + AccessExpression;
11
12#[derive(Clone, Debug, PartialEq, Eq, AstNode)]
13pub struct AccessExpression {
14 pub base: Expression,
15 pub index: Expression,
16 pub span: Span,
17}
18
19#[derive(Clone, Debug, From, PartialEq, Eq, AstNode)]
20pub struct YeetExpression {
21 pub inner: Expression,
22 pub span: Span,
23}