class Prism::Token
Dies stellt ein Token aus dem Ruby-Quellcode dar.
Attribute
Das Source-Objekt, das die Quelle darstellt, aus der dieses Token stammt.
Der Typ des Tokens, das dieses Token ist.
Ein Byteslice der Quelle, die dieses Token darstellt.
Öffentliche Klassenmethoden
Source
# File lib/prism/parse_result.rb, line 816 def initialize(source, type, value, location) @source = source @type = type @value = value @location = location end
Erstellt ein neues Token-Objekt mit dem gegebenen Typ, Wert und Ort.
Öffentliche Instanzmethoden
Source
# File lib/prism/parse_result.rb, line 851 def ==(other) Token === other && other.type == type && other.value == value end
Gibt true zurück, wenn das gegebene andere Token mit diesem Token übereinstimmt.
Source
# File lib/prism/parse_result.rb, line 824 def deconstruct_keys(keys) { type: type, value: value, location: location } end
Implementiert die Mustervergleichsschnittstelle für Token.
Source
# File lib/prism/parse_result.rb, line 864 def deep_freeze value.freeze location.freeze freeze end
Friert dieses Objekt und die darin enthaltenen Objekte ein.
Source
# File lib/prism/parse_result.rb, line 858 def inspect location super end
Gibt eine String-Repräsentation dieses Tokens zurück.
Ruft die Methode der Superklasse
Object#inspect auf.Source
# File lib/prism/parse_result.rb, line 829 def location location = @location return location if location.is_a?(Location) @location = Location.new(source, location >> 32, location & 0xFFFFFFFF) end
Ein Location-Objekt, das den Ort dieses Tokens in der Quelle darstellt.
Source
# File lib/prism/parse_result.rb, line 836 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
Implementiert die Pretty-Print-Schnittstelle für Token.