blob: 3027cda473d43a4809c52aa04aad6fd75a0b93ff (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
include!("../gen/patio.rs");
pub(crate) mod instructions {
include!("../gen/patio/instructions.rs");
#[allow(unused)]
pub(crate) mod transient_0 {
include!("../gen/patio/instructions/transient_0.rs");
}
}
pub(crate) mod operands {
include!("../gen/patio/operands.rs");
#[allow(unused)]
pub(crate) mod transient_0 {
include!("../gen/patio/operands/transient_0.rs");
}
}
pub(crate) mod types {
include!("../gen/patio/types.rs");
impl PatioDataValue {
pub(crate) fn layout(&self) -> PatioDataLayout {
match self {
PatioDataValue::PatioDataValueArray(array) => PatioDataLayoutArray {
element: array.element_layout.clone(),
size: array.elements.len().try_into().unwrap(),
}
.into(),
PatioDataValue::PatioDataValueBool(_) => PatioDataLayoutBool.into(),
PatioDataValue::PatioDataValueByte(_) => PatioDataLayoutByte.into(),
PatioDataValue::PatioDataValueDataPtr(_) => PatioDataLayoutDataPtr.into(),
PatioDataValue::PatioDataValueInt(_) => PatioDataLayoutInt.into(),
PatioDataValue::PatioDataValueInt32(_) => PatioDataLayoutInt32.into(),
PatioDataValue::PatioDataValueStruct(value_struct) => PatioDataLayoutStruct {
elements: value_struct
.elements
.iter()
.map(|element| element.layout())
.collect(),
}
.into(),
}
}
}
#[allow(unused)]
pub(crate) mod transient_0 {
include!("../gen/patio/types/transient_0.rs");
}
}
pub(crate) mod values {
include!("../gen/patio/values.rs");
#[allow(unused)]
pub(crate) mod transient_0 {
include!("../gen/patio/values/transient_0.rs");
}
}
#[allow(unused)]
pub(crate) mod transient_0 {
include!("../gen/patio/transient_0.rs");
}
|