класс Prism::Token
Представляет токен из исходного кода Ruby.
Атрибуты
Объект Source, представляющий источник, из которого получен данный токен.
Тип токена.
Часть исходного кода (байтовый срез), которую представляет данный токен.
Публичные методы класса
Исходный код
# File lib/prism/parse_result.rb, line 811 def initialize(source, type, value, location) @source = source @type = type @value = value @location = location end
Создаёт новый объект токена с заданным типом, значением и местоположением.
Публичные методы экземпляра
Исходный код
# File lib/prism/parse_result.rb, line 846
def ==(other)
Token === other &&
other.type == type &&
other.value == value
end Возвращает true, если указанный токен `other` равен данному токену.
Исходный код
# File lib/prism/parse_result.rb, line 819
def deconstruct_keys(keys)
{ type: type, value: value, location: location }
end Реализация интерфейса шаблонов для совпадения хешей для Token.
Исходный код
# File lib/prism/parse_result.rb, line 853 def inspect location super end
Возвращает строковое представление данного токена.
Вызывает метод суперкласса
Object#inspect Исходный код
# File lib/prism/parse_result.rb, line 824 def location location = @location return location if location.is_a?(Location) @location = Location.new(source, location >> 32, location & 0xFFFFFFFF) end
Объект Location, представляющий местоположение этого токена в исходном коде.
Исходный код
# File lib/prism/parse_result.rb, line 831
def pretty_print(q)
q.group do
q.text(type.to_s)
self.location.pretty_print(q)
q.text("(")
q.nest(2) do
q.breakable("")
q.pp(value)
end
q.breakable("")
q.text(")")
end
end Реализация интерфейса красивой печати для Token.
Ruby Core © 1993–2024 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.