Compare commits

..

1 Commits

Author SHA1 Message Date
David Mak 2bd9203a27 core: Add ArrayLikeValue
For exposing LLVM values that can be accessed like an array.
2024-03-21 21:00:25 +08:00
3 changed files with 11 additions and 5 deletions

View File

@ -2,7 +2,14 @@ use std::{collections::HashMap, convert::TryInto, iter::once, iter::zip};
use crate::{
codegen::{
classes::{ArrayLikeIndexer, ListValue, NDArrayValue, RangeValue, UntypedArrayLikeAccessor},
classes::{
ArrayLikeIndexer,
ArrayLikeValue,
ListValue,
NDArrayValue,
RangeValue,
UntypedArrayLikeAccessor,
},
concrete_type::{ConcreteFuncArg, ConcreteTypeEnum, ConcreteTypeStore},
gen_in_range_check,
get_llvm_type,
@ -35,7 +42,6 @@ use itertools::{chain, izip, Itertools, Either};
use nac3parser::ast::{
self, Boolop, Comprehension, Constant, Expr, ExprKind, Location, Operator, StrRef,
};
use crate::codegen::classes::ArrayLikeValue;
use super::{CodeGenerator, llvm_intrinsics::call_memcpy_generic, need_sret};

View File

@ -1,7 +1,7 @@
use crate::typecheck::typedef::Type;
use super::{
classes::{ArrayLikeIndexer, ListValue, NDArrayValue, UntypedArrayLikeMutator},
classes::{ArrayLikeIndexer, ArrayLikeValue, ListValue, NDArrayValue, UntypedArrayLikeMutator},
CodeGenContext,
CodeGenerator,
};
@ -16,7 +16,6 @@ use inkwell::{
};
use itertools::Either;
use nac3parser::ast::Expr;
use crate::codegen::classes::ArrayLikeValue;
#[must_use]
pub fn load_irrt(ctx: &Context) -> Module {

View File

@ -8,9 +8,11 @@ use crate::{
codegen::{
classes::{
ArrayLikeIndexer,
ArrayLikeValue,
ListValue,
NDArrayValue,
TypedArrayLikeAccessor,
UntypedArrayLikeAccessor,
},
CodeGenContext,
CodeGenerator,
@ -28,7 +30,6 @@ use crate::{
},
typecheck::typedef::{FunSignature, Type},
};
use crate::codegen::classes::{ArrayLikeValue, UntypedArrayLikeAccessor};
/// Creates an `NDArray` instance from a dynamic shape.
///