Spec-Zone.ru › Ruby 3.4

класс Prism::Token

Родитель:
Объект

Представляет токен из исходного кода Ruby.

Атрибуты

source [Ч]

Объект Source, представляющий источник, из которого получен данный токен.

type [Ч]

Тип токена.

value [Ч]

Часть исходного кода (байтовый срез), которую представляет данный токен.

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

new (source, type, value, location)
Исходный код
# File lib/prism/parse_result.rb, line 811
def initialize(source, type, value, location)
  @source = source
  @type = type
  @value = value
  @location = location
end

Создаёт новый объект токена с заданным типом, значением и местоположением.

Публичные методы экземпляра

== (other)
Исходный код
# File lib/prism/parse_result.rb, line 846
def ==(other)
  Token === other &&
    other.type == type &&
    other.value == value
end

Возвращает true, если указанный токен `other` равен данному токену.

deconstruct_keys (keys)
Исходный код
# File lib/prism/parse_result.rb, line 819
def deconstruct_keys(keys)
  { type: type, value: value, location: location }
end

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

inspect ()
Исходный код
# File lib/prism/parse_result.rb, line 853
def inspect
  location
  super
end

Возвращает строковое представление данного токена.

Вызывает метод суперкласса Object#inspect
location ()
Исходный код
# 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, представляющий местоположение этого токена в исходном коде.

pretty_print (q)
Исходный код
# 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.

Spec-Zone.ru

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