From a078481cd2c7e1b51aa991d4fd5c00b6f48a6818 Mon Sep 17 00:00:00 2001 From: David Mak Date: Mon, 3 Feb 2025 13:27:45 +0800 Subject: [PATCH] [meta] Minor simplification for PrimStore extraction --- nac3artiq/src/codegen.rs | 12 +++++------- nac3core/src/toplevel/builtins.rs | 4 +--- nac3core/src/toplevel/composer.rs | 3 +-- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/nac3artiq/src/codegen.rs b/nac3artiq/src/codegen.rs index fb6992b..d086420 100644 --- a/nac3artiq/src/codegen.rs +++ b/nac3artiq/src/codegen.rs @@ -41,7 +41,10 @@ use nac3core::{ numpy::unpack_ndarray_var_tys, DefinitionId, GenCall, }, - typecheck::typedef::{iter_type_vars, FunSignature, FuncArg, Type, TypeEnum, VarMap}, + typecheck::{ + type_inferencer::PrimitiveStore, + typedef::{iter_type_vars, FunSignature, FuncArg, Type, TypeEnum, VarMap}, + }, }; /// The parallelism mode within a block. @@ -389,12 +392,7 @@ fn gen_rpc_tag( ) -> Result<(), String> { use nac3core::typecheck::typedef::TypeEnum::*; - let int32 = ctx.primitives.int32; - let int64 = ctx.primitives.int64; - let float = ctx.primitives.float; - let bool = ctx.primitives.bool; - let str = ctx.primitives.str; - let none = ctx.primitives.none; + let PrimitiveStore { int32, int64, float, bool, str, none, .. } = ctx.primitives; if ctx.unifier.unioned(ty, int32) { buffer.push(b'i'); diff --git a/nac3core/src/toplevel/builtins.rs b/nac3core/src/toplevel/builtins.rs index eff614e..c9b5d22 100644 --- a/nac3core/src/toplevel/builtins.rs +++ b/nac3core/src/toplevel/builtins.rs @@ -36,9 +36,7 @@ pub fn get_exn_constructor( unifier: &mut Unifier, primitives: &PrimitiveStore, ) -> (TopLevelDef, TopLevelDef, Type, Type) { - let int32 = primitives.int32; - let int64 = primitives.int64; - let string = primitives.str; + let PrimitiveStore { int32, int64, str: string, .. } = *primitives; let exception_fields = make_exception_fields(int32, int64, string); let exn_cons_args = vec![ FuncArg { diff --git a/nac3core/src/toplevel/composer.rs b/nac3core/src/toplevel/composer.rs index a6a0ce7..50d6dd2 100644 --- a/nac3core/src/toplevel/composer.rs +++ b/nac3core/src/toplevel/composer.rs @@ -1521,8 +1521,7 @@ impl TopLevelComposer { .any(|ann| matches!(ann, TypeAnnotation::CustomClass { id, .. } if id.0 == 7)) { // create constructor for these classes - let string = primitives_ty.str; - let int64 = primitives_ty.int64; + let PrimitiveStore { str: string, int64, .. } = *primitives_ty; let signature = unifier.add_ty(TypeEnum::TFunc(FunSignature { args: vec![ FuncArg {