From 92bd94a563db63a4481bf578d0ce6ef7158e0b9b Mon Sep 17 00:00:00 2001
From: zhangxun <1958638841@qq.com>
Date: Wed, 6 Aug 2025 01:00:45 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20IR=E5=87=BD=E6=95=B0=E5=8F=82=E6=95=B0?=
=?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=B1=BB=E5=9E=8B=E6=98=BE=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../compiler/ir/builder/FunctionBuilder.java | 2 +-
.../snow/compiler/ir/core/IRFunction.java | 21 +++++++++++++++++--
2 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/src/main/java/org/jcnc/snow/compiler/ir/builder/FunctionBuilder.java b/src/main/java/org/jcnc/snow/compiler/ir/builder/FunctionBuilder.java
index 56ffd3f..f37c19a 100644
--- a/src/main/java/org/jcnc/snow/compiler/ir/builder/FunctionBuilder.java
+++ b/src/main/java/org/jcnc/snow/compiler/ir/builder/FunctionBuilder.java
@@ -57,7 +57,7 @@ public class FunctionBuilder {
for (ParameterNode p : functionNode.parameters()) {
IRVirtualRegister reg = irFunction.newRegister(); // 新寄存器
irContext.getScope().declare(p.name(), p.type(), reg); // 变量名→寄存器绑定
- irFunction.addParameter(reg); // 添加到函数参数列表
+ irFunction.addParameter(reg, p.type()); // 添加到函数参数列表
}
// 3) 生成函数体 IR: 遍历每条语句,逐一转化
diff --git a/src/main/java/org/jcnc/snow/compiler/ir/core/IRFunction.java b/src/main/java/org/jcnc/snow/compiler/ir/core/IRFunction.java
index 2179e5a..bb26ee5 100644
--- a/src/main/java/org/jcnc/snow/compiler/ir/core/IRFunction.java
+++ b/src/main/java/org/jcnc/snow/compiler/ir/core/IRFunction.java
@@ -35,6 +35,11 @@ public class IRFunction {
*/
private final List