From e572d278a44d286c8713d0ee4af9c72a3d1ca73c Mon Sep 17 00:00:00 2001 From: _ov4 Date: Sat, 17 Oct 2026 10:34:37 +0000 Subject: feat(classes): overload methods and NEW constructors Co-Authored-By: Claude Opus 5.5 --- include/cps/CodeGen.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'include/cps/CodeGen.h') diff --git a/include/cps/CodeGen.h b/include/cps/CodeGen.h index 463c613..04bf25c 100644 --- a/include/cps/CodeGen.h +++ b/include/cps/CodeGen.h @@ -43,9 +43,12 @@ class CodeGen { void importSymbols(); void runGlobalPrePass(const SourceUnit &Unit, int Phase); IdentifierMap Symbols; - IdentifierMap> ClassMethods; + IdentifierMap>> ClassMethods; std::string CurrentClass; - const PrototypeAST *findMethod(const std::string &Class, const std::string &Name) const; + const std::vector *findMethod(const std::string &Class, const std::string &Name) const; + bool isRegisteredMethod(const std::string &Class, const PrototypeAST *Method) const; + const FuncSig *resolveMethod(const std::string &Class, const std::string &Name, + const std::vector> &Args); llvm::Value *emitMemberCall(MemberCallExprAST *Call); llvm::Value *emitMethodCall(const std::string &Class, llvm::Value *Receiver, const std::string &Name, -- cgit v1.3.1-4-g156e