diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-07-31 14:45:04 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-07-31 15:22:40 +0100 |
| commit | 91860485774924e82da9b0774179d4c3c8da810a (patch) | |
| tree | e06f52f147502e80aea139c20adac706479cb7ea /patio-to-cranelift/src/patio/mod.rs | |
| parent | 410fff7b7ecf6f36a0a46ab1d90553169e3728f1 (diff) | |
Use transient-0 instead of flatbuffersmain
Diffstat (limited to 'patio-to-cranelift/src/patio/mod.rs')
| -rw-r--r-- | patio-to-cranelift/src/patio/mod.rs | 73 |
1 files changed, 67 insertions, 6 deletions
diff --git a/patio-to-cranelift/src/patio/mod.rs b/patio-to-cranelift/src/patio/mod.rs index 4316b519..3027cda4 100644 --- a/patio-to-cranelift/src/patio/mod.rs +++ b/patio-to-cranelift/src/patio/mod.rs @@ -1,6 +1,67 @@ -pub(crate) mod compilation_unit; -pub(crate) mod flatbuffers; -pub(crate) mod instructions; -pub(crate) mod operands; -pub(crate) mod types; -pub(crate) mod values; +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"); +} |
