模块 Prism::Relocation

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

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

公共类方法

filepath(value) 点击以切换源代码

为给定的文件路径创建一个新的仓库。

# File prism/relocation.rb, line 495
def self.filepath(value)
  Repository.new(SourceFilepath.new(value))
end
string(value) 点击以切换源代码

为给定的字符串创建一个新的仓库。

# File prism/relocation.rb, line 500
def self.string(value)
  Repository.new(SourceString.new(value))
end