diff --git a/src/main/java/org/jcnc/snow/compiler/ir/common/GlobalConstTable.java b/src/main/java/org/jcnc/snow/compiler/ir/common/GlobalConstTable.java new file mode 100644 index 0000000..ad9795b --- /dev/null +++ b/src/main/java/org/jcnc/snow/compiler/ir/common/GlobalConstTable.java @@ -0,0 +1,70 @@ +package org.jcnc.snow.compiler.ir.common; + +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +/** + * 全局常量表,用于跨模块编译期常量查询和折叠。 + * + *
+ * 主要功能: + *
const 常量
+ * (如 ModuleA.a)注册到全局常量表,支持跨模块访问。+ * 常量的 key 格式为“模块名.常量名”,如 "ModuleA.a",以便唯一标识。 + * + *
+ * 典型用法: + *
+ * GlobalConstTable.register("ModuleA.a", 10); // 注册常量
+ * Object val = GlobalConstTable.get("ModuleA.a"); // 查询常量
+ *
+ */
+public final class GlobalConstTable {
+
+ /** 存储全局常量: “ModuleName.constName” → 常量值。线程安全。 */
+ private static final Map注意:只读,不可修改。
+ * + * @return key=常量名,value=常量值的不可变 Map + */ + public static Map