mxmlextrema_as3parser/tree/
type_expression.rs1use crate::ns::*;
2use serde::{Serialize, Deserialize};
3
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub struct AnyTypeExpression {
6 pub location: Location,
7}
8
9#[derive(Debug, Clone, Serialize, Deserialize)]
10pub struct VoidTypeExpression {
11 pub location: Location,
12}
13
14#[derive(Debug, Clone, Serialize, Deserialize)]
15pub struct ArrayTypeExpression {
16 pub location: Location,
17 pub expression: Rc<Expression>,
18}
19
20#[derive(Debug, Clone, Serialize, Deserialize)]
22pub struct TupleTypeExpression {
23 pub location: Location,
24 pub expressions: Vec<Rc<Expression>>,
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize)]
28pub struct FunctionTypeExpression {
29 pub location: Location,
30 pub parameters: Vec<Rc<FunctionTypeParameter>>,
31 pub result_type: Option<Rc<Expression>>,
32}
33
34#[derive(Debug, Clone, Serialize, Deserialize)]
39pub struct FunctionTypeParameter {
40 pub location: Location,
41 pub kind: ParameterKind,
42 pub type_expression: Option<Rc<Expression>>,
44}