类 Prism::Token
这表示来自 Ruby 源代码的一个标记。
属性
source[R]
表示此标记来自的源的 Source
对象。
type[R]
此标记的类型。
value[R]
此标记表示的源的字节切片。
公共类方法
new(source, type, value, location) 单击以切换源
使用给定的类型、值和位置创建一个新的标记对象。
# File prism/parse_result.rb, line 811 def initialize(source, type, value, location) @source = source @type = type @value = value @location = location end
公共实例方法
==(other) 单击以切换源
如果给定的其他标记等于此标记,则返回 true。
# File prism/parse_result.rb, line 846 def ==(other) Token === other && other.type == type && other.value == value end
deconstruct_keys(keys) 单击以切换源
为 Token
实现哈希模式匹配接口。
# File prism/parse_result.rb, line 819 def deconstruct_keys(keys) { type: type, value: value, location: location } end
inspect() 单击以切换源
返回此标记的字符串表示形式。
调用父类方法
# File prism/parse_result.rb, line 853 def inspect location super end
location() 单击以切换源
表示此标记在源中位置的 Location
对象。
# File 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
pretty_print(q) 单击以切换源
为 Token
实现漂亮的打印接口。
# File 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