Spec-Zone.ru › Ruby 3.4
  1. Prism::
  2. ParseResult

class Prism::ParseResult

Родительский класс:
Prism::Result

Результат, предназначенный для методов parse и parse_file.

Атрибуты

value [R]

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

Публичные методы класса

new (value, comments, magic_comments, data_loc, errors, warnings, source) Показать исходный код
# File lib/prism/parse_result.rb, line 753
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 764
def attach_comments!
  Comments.new(self).attach! # steep:ignore
end

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

deconstruct_keys (keys) Показать исходный код
# File lib/prism/parse_result.rb, line 759
def deconstruct_keys(keys)
  super.merge!(value: value)
end

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

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

Возвращает строковое представление дерева синтаксиса со встроенными сообщениями об ошибках.

mark_newlines! () Показать исходный код
# File lib/prism/parse_result.rb, line 770
def mark_newlines!
  value.accept(Newlines.new(source.offsets.size)) # steep:ignore
end

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

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

Spec-Zone.ru

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