From a84128bbc1b69ab5b763d2c607b6f9f1c667802b Mon Sep 17 00:00:00 2001 From: _ov4 Date: Thu, 22 Oct 2026 03:30:36 +0000 Subject: refactor(codegen): make importCType private and reuse registerType's entry importCType is only called from TypeSystem's own methods. declareUserType now sets IsClass through the entry registerType returns instead of looking the name up again. Co-Authored-By: Claude Opus 5.5 --- include/cps/TypeSystem.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/cps/TypeSystem.h b/include/cps/TypeSystem.h index 69283bc..5f9af63 100644 --- a/include/cps/TypeSystem.h +++ b/include/cps/TypeSystem.h @@ -123,9 +123,10 @@ class TypeSystem { std::function Visible; std::function ResolveMiss; void registerBuiltins(); - const TypeInfo *registerType(const std::string &TypeName, - llvm::Type *LLVMType, - TypeKind Kind); + TypeInfo *registerType(const std::string &TypeName, + llvm::Type *LLVMType, + TypeKind Kind); + const TypeInfo *importCType(const std::string &Expression, std::string &Err); public: explicit TypeSystem(llvm::LLVMContext &Ctx); @@ -151,7 +152,6 @@ public: std::string &Err); bool defineCAlias(const std::string &Name, const std::string &Expression, std::string &Err); - const TypeInfo *importCType(const std::string &Expression, std::string &Err); bool sameType(const std::string &Left, const std::string &Right) const; const TypeInfo *promoteCScalar(const TypeInfo *Info) const; const TypeInfo *commonCScalar(const TypeInfo *Left, const TypeInfo *Right) const; -- cgit v1.3.1-4-g156e