class Prism::ParseResult

这是 `parse` 和 `parse_file` 方法特有的结果。

属性

value[R]

从源代码解析出的语法树。

公共类方法

new(value, comments, magic_comments, data_loc, errors, warnings, source) 点击以切换源代码

使用给定值创建一个新的解析结果对象。

调用超类方法 Prism::Result::new
# File prism/parse_result.rb, line 735
def initialize(value, comments, magic_comments, data_loc, errors, warnings, source)
  @value = value
  super(comments, magic_comments, data_loc, errors, warnings, source)
end

公共实例方法

attach_comments!() 点击以切换源代码

将注释列表附加到树中各自的位置。

# File prism/parse_result.rb, line 746
def attach_comments!
  Comments.new(self).attach! # steep:ignore
end
deconstruct_keys(keys) 点击以切换源代码

ParseResult 实现哈希模式匹配接口。

# File prism/parse_result.rb, line 741
def deconstruct_keys(keys)
  super.merge!(value: value)
end
errors_format() 点击以切换源代码

返回语法树的字符串表示形式,其中错误内联显示。

# File prism/parse_result.rb, line 758
def errors_format
  Errors.new(self).format
end
mark_newlines!() 点击以切换源代码

遍历树并标记位于新行的节点,大致模拟 CRuby 的 `:line` 跟踪点事件的行为。

# File prism/parse_result.rb, line 752
def mark_newlines!
  value.accept(Newlines.new(source.offsets.size)) # steep:ignore
end