aboutsummaryrefslogtreecommitdiff
path: root/include/cps/CodeGen.h
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-10-17 06:04:11 +0000
committer_ov4 <ov4@ov4.org>2026-10-17 06:04:11 +0000
commita99852084ff6f0491734d508a4dcd2e7d8411814 (patch)
treefc849f47b5d657c2cfe1d4b0648725ff2a308299 /include/cps/CodeGen.h
parent3425b95cb654f8e1adc98365a4b370aa1fff8b4d (diff)
feat(classes): warn when method declarations shadow fields
Retain parameter source lines for warnings and preserve field access prefix validation when distinguishing fields from methods. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Diffstat (limited to 'include/cps/CodeGen.h')
-rw-r--r--include/cps/CodeGen.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/cps/CodeGen.h b/include/cps/CodeGen.h
index 1c80434..593cde0 100644
--- a/include/cps/CodeGen.h
+++ b/include/cps/CodeGen.h
@@ -43,6 +43,7 @@ class CodeGen {
std::vector<ConstantScope> ConstantScopes = {{0, {}}};
unsigned NextScopeID = 1;
void emitScopedBlock(const std::vector<std::unique_ptr<StmtAST>> &Body);
+ void warnMemberShadow(const std::string &Name, int Line) const;
bool prepareSymbolDeclaration(const std::string &Name, bool IsConstant = false);
bool requireWritable(const SymbolInfo &Info, const std::string &Name);
void emitConstantStmt(ConstantStmtAST *Stmt);