class Prism::ParseResult::Newlines

当 Ruby VM 遇到新行上的表达式时,会触发 :line tracepoint 事件。可以触发此事件的表达式类型是

为了跟踪换行符,我们有一个来自解析器的偏移量列表。我们将这些偏移量分配给我们在树中找到的位于这些行的第一个节点。

请注意,此文件中的逻辑应与 Java MarkNewlinesVisitor 保持同步,因为该访问者负责为 JRuby/TruffleRuby 标记换行符。

此文件仅在调用 mark_newlines! 时自动加载,因此此文件中各种节点的重新打开仅在该情况下执行。我们这样做是为了避免在不需要时为每个节点存储额外的 @newline 实例变量。