module Prism::Relocation

Prism 对于相同的输入会进行确定性解析。这提供了一个很好的特性,通过节点上的 node_id API 公开。实际上,这意味着对于相同的输入,这些值在每次解析源文件时都会保持一致。这意味着我们可以使用

node_id 值重新解析相同的源文件,并再次找到完全相同的节点。

Relocation 模块围绕此特性提供了一个 API。它允许您使用最少的内存(仅 node_id 和一个字段标识符)“保存”节点和位置,然后在之后重新实例化它们。