From 84fc379ef405bea9c167ad11b67e439ba411c82f Mon Sep 17 00:00:00 2001 From: lyken Date: Thu, 6 Jun 2024 12:54:22 +0800 Subject: [PATCH] core: refactor to use PrimitiveDefinition::contains_id --- nac3core/src/codegen/mod.rs | 2 +- nac3core/src/toplevel/helper.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/nac3core/src/codegen/mod.rs b/nac3core/src/codegen/mod.rs index de5ba0d..543bd54 100644 --- a/nac3core/src/codegen/mod.rs +++ b/nac3core/src/codegen/mod.rs @@ -435,7 +435,7 @@ fn get_llvm_type<'ctx, G: CodeGenerator + ?Sized>( let result = match &*ty_enum { TObj { obj_id, fields, .. } => { // check to avoid treating non-class primitives as classes - if obj_id.0 <= PrimitiveDefinition::max_id().0 { + if PrimitiveDefinition::contains_id(*obj_id) { return match &*unifier.get_ty_immutable(ty) { TObj { obj_id, params, .. } if *obj_id == PrimitiveDefinition::Option.id() => { get_llvm_type( diff --git a/nac3core/src/toplevel/helper.rs b/nac3core/src/toplevel/helper.rs index a2b74e6..f0d4fd3 100644 --- a/nac3core/src/toplevel/helper.rs +++ b/nac3core/src/toplevel/helper.rs @@ -35,8 +35,8 @@ impl PrimitiveDefinition { return DefinitionId(self as usize); } - pub fn max_id() -> DefinitionId { - Self::iter().map(|prim| prim.id()).max().unwrap() + pub fn contains_id(id: DefinitionId) -> bool { + Self::iter().any(|prim| prim.id() == id) } }