Files
endorphin-aster-vm/crates/objects/src/README.md
T

3.0 KiB
Raw Blame History

Objects 源码导航

公开导出集中在 lib.rs;本目录只负责对象与执行数据,不包含 VM 调度或取指分派。全局契约见 运行时文档。

文件 职责
lib.rs 包边界、对象类型/ObjectStore 公开导出(含Trait/MethodRequirement/SourceSignature/AnnotationType/CallArity/ReadAccess)与独立存储 rustdoc 示例
object.rs Value、CompareOp、ObjectPayload(含显式函数标记)、ObjectHeader、EndorObject、Record、可发布数量元数据的 NativeFunction
types.rs 托管名义类型、显式 Object/Type 引导、继承查询、受管方法表/接收者绑定、类字段、显式Trait定义/声明/方法参数约束、原生构造委托、统一源码/原生/绑定方法参数区间查询与能力验证、声明环境托管边、字段构造/写入检查与标记为校验读取的注解解析/匹配
native.rs NativeContext、CallArity 元数据与调用前数量检查、上下文原生函数、作用域语言函数工厂、显式能力声明入口、函数标记、根与非递归委托调用
changes.rs 合并变更批次、变更键与有界通知额度
number.rs Integer/Decimal/Rational/BinaryFloat/Complex 的无损表示和装箱载荷
builtins.rs String、Dict、Cell、Function、BaseException 载荷与 trace 边、语言函数标记
heap.rs 私有 Heap、不可伪造 ObjectRef、稳定 Box、引用事务、迭代释放、循环回收、后代契约更新的私有借用枚举、同类型附加幂等、只读变更屏障/全调用及嵌套子调用读取跟踪(区分注解校验与内容读取)及私有边界测试
store.rs ObjectStore、空堆创建、字段检查配置/属性写入屏障、详细读取区域结果、对象操作、retain/release 和回收入口、弱 Function 类型配置与分配分类
store_builtins.rs 载荷校验、代码/函数工厂、Dict/Cell 操作及键语义
instruction.rs Opcode、Instruction、wordcode 编解码、MakeFunction/比较参数与跳转读取接口
code.rs CodeLayout、EndorCode/EndorCodeObject、可选源码签名、共享不可变代码和操作数/控制流/栈验证
error.rs 对象、代码与执行共用的 VmError(含TraitViolation、UnknownAnnotation、TypeMismatch),避免反向依赖 core

对象操作变更同步 对象模型,内置载荷同步 基本对象。新增操作码需要同时修改本包 instruction.rs/code.rs 和 core 的 eval.rs 分派,见 字节码 VM。

Heap、ObjectRef 字段、对象头计数和可变容器字段不向包外开放;公开代码读取接口不允许改写已登记的常量和托管边。检查入口见 tests。返回 objects。