Spec-Zone.ru › Ruby 3.4

класс Prism::ParseResult

Родитель:
Prism::Result

Это результат, специфичный для методов ‘parse` и `parse_file`.

Атрибуты

значение [R]

Дерево синтаксического анализа, полученное из исходного кода.

Общедоступные методы класса

new (значение, комментарии, магические_комментарии, расположение_данных, ошибки, предупреждения, исходный_код)
Исходный код
# File lib/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

Создает новый объект результата разбора с заданными значениями.

Вызывается метод родительского класса Prism::Result::new

Общедоступные методы экземпляра

attach_comments! ()
Исходный код
# File lib/prism/parse_result.rb, line 746
def attach_comments!
  Comments.new(self).attach! # steep:ignore
end

Присоединяет список комментариев к соответствующим им местам в дереве.

deconstruct_keys (ключи)
Исходный код
# File lib/prism/parse_result.rb, line 741
def deconstruct_keys(keys)
  super.merge!(value: value)
end

Реализует интерфейс сопоставления шаблонов хешей для ParseResult.

Вызывается метод родительского класса Prism::Result#deconstruct_keys
errors_format ()
Исходный код
# File lib/prism/parse_result.rb, line 758
def errors_format
  Errors.new(self).format
end

Возвращает строковое представление дерева синтаксического анализа с отображением ошибок в строке.

mark_newlines! ()
Исходный код
# File lib/prism/parse_result.rb, line 752
def mark_newlines!
  value.accept(Newlines.new(source.offsets.size)) # steep:ignore
end

Проходит по дереву и отмечает узлы, которые находятся на новой строке, приблизительно имитируя поведение события отслеживания ‘:line` в CRuby.

Ruby Core © 1993–2024 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API