diff options
Diffstat (limited to 'patio-to-cranelift/src/patio/compilation_unit.rs')
| -rw-r--r-- | patio-to-cranelift/src/patio/compilation_unit.rs | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/patio-to-cranelift/src/patio/compilation_unit.rs b/patio-to-cranelift/src/patio/compilation_unit.rs deleted file mode 100644 index af8b4d3f..00000000 --- a/patio-to-cranelift/src/patio/compilation_unit.rs +++ /dev/null @@ -1,67 +0,0 @@ -use crate::patio::{ - instructions::PatioInstruction, - types::{PatioDataLayout, PatioType}, - values::PatioDataValue, -}; - -pub(crate) struct PatioCompilationUnit { - pub(crate) elements: Vec<PatioCompilationUnitElement>, -} - -pub(crate) enum PatioCompilationUnitElement { - DataElementImmutableDefinition(PatioDataElementImmutableDefinition), - DataElementMutableDefinition(PatioDataElementMutableDefinition), - DataElementMutableDeclaration(PatioDataElementMutableDeclaration), - FunctionDeclaration(PatioFunctionDeclaration), - FunctionDefinition(PatioFunctionDefinition), -} - -pub(crate) struct PatioDataElementImmutableDefinition { - pub(crate) name: String, - pub(crate) visibility: PatioVisibility, - pub(crate) value: PatioDataValue, -} - -pub(crate) struct PatioDataElementMutableDefinition { - pub(crate) name: String, - pub(crate) visibility: PatioVisibility, - pub(crate) initial_value: PatioDataValue, -} - -pub(crate) struct PatioDataElementMutableDeclaration { - pub(crate) name: String, - pub(crate) layout: PatioDataLayout, -} - -pub(crate) struct PatioFunctionDeclaration { - pub(crate) name: String, - pub(crate) params: Vec<PatioLocal>, - pub(crate) return_types: Vec<PatioType>, -} - -pub(crate) struct PatioFunctionDefinition { - pub(crate) name: String, - pub(crate) visibility: PatioVisibility, - pub(crate) locals: Vec<PatioLocal>, - pub(crate) return_types: Vec<PatioType>, - pub(crate) body: Vec<PatioInstruction>, -} - -pub(crate) struct PatioLocal { - pub(crate) name: String, - pub(crate) type_: PatioType, - pub(crate) local_type: PatioLocalType, -} - -#[derive(Eq, PartialEq)] -pub(crate) enum PatioLocalType { - Param, - Val, - Var, -} - -#[derive(Clone, Copy)] -pub(crate) enum PatioVisibility { - Public, - Private, -} |
