класс Prism::ParseResult
Это результат, специфичный для методов ‘parse` и `parse_file`.
Атрибуты
Дерево синтаксического анализа, полученное из исходного кода.
Общедоступные методы класса
Исходный код
# 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 Общедоступные методы экземпляра
Исходный код
# File lib/prism/parse_result.rb, line 746 def attach_comments! Comments.new(self).attach! # steep:ignore end
Присоединяет список комментариев к соответствующим им местам в дереве.
Исходный код
# File lib/prism/parse_result.rb, line 741 def deconstruct_keys(keys) super.merge!(value: value) end
Реализует интерфейс сопоставления шаблонов хешей для ParseResult.
Вызывается метод родительского класса
Prism::Result#deconstruct_keys Исходный код
# File lib/prism/parse_result.rb, line 758 def errors_format Errors.new(self).format end
Возвращает строковое представление дерева синтаксического анализа с отображением ошибок в строке.
Исходный код
# 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.