module Prism::Relocation
Prism 对于相同的输入会进行确定性解析。这提供了一个很好的特性,通过节点上的 node_id API 公开。实际上,这意味着对于相同的输入,这些值在每次解析源文件时都会保持一致。这意味着我们可以使用
node_id 值重新解析相同的源文件,并再次找到完全相同的节点。
Relocation 模块围绕此特性提供了一个 API。它允许您使用最少的内存(仅 node_id 和一个字段标识符)“保存”节点和位置,然后在之后重新实例化它们。
Public Class Methods
Source
# File lib/prism/relocation.rb, line 496 def self.filepath(value) Repository.new(SourceFilepath.new(value)) end
为给定的文件路径创建一个新的存储库。
Source
# File lib/prism/relocation.rb, line 501 def self.string(value) Repository.new(SourceString.new(value)) end
为给定的字符串创建一个新的存储库。