类 SyntaxSuggest::RipperErrors

CaptureRipper 中解析错误

Prism 返回错误及其消息,但 Ripper 不会。为了获取它们,我们必须创建一个自定义子类。

示例

puts RipperErrors.new(" def foo").call.errors
# => ["syntax error, unexpected end-of-input, expecting ';' or '\\n'"]

属性

errors[R]

公共实例方法

call() 点击切换源代码
# File lib/syntax_suggest/ripper_errors.rb, line 30
def call
  @run_once ||= begin
    @errors = []
    parse
    true
  end
  self
end
compile_error(msg)
别名:on_parse_error
on_alias_error(msg)
别名:on_parse_error
on_assign_error(msg)
别名:on_parse_error
on_class_name_error(msg)
别名:on_parse_error
on_param_error(msg)
别名:on_parse_error
on_parse_error(msg) 点击切换源代码

来自 ripper,在每次解析错误时调用,msg 是一个字符串

# File lib/syntax_suggest/ripper_errors.rb, line 19
def on_parse_error(msg)
  @errors ||= []
  @errors << msg
end