sig/prism/node.rbs in prism-0.25.0 vs sig/prism/node.rbs in prism-0.26.0
- old
+ new
@@ -1,28 +1,37 @@
# This file is generated by the templates/template.rb script and should not be
# modified manually. See templates/sig/prism/node.rbs.erb
# if you are looking to modify the template
module Prism
+ # Methods implemented on every subclass of a singleton of Node
+ interface _NodeSingleton
+ def type: () -> Symbol
+ end
+
class Node
+ extend _NodeSingleton
+
attr_reader location: Location
attr_reader source: Source
def start_offset: () -> Integer
def end_offset: () -> Integer
def slice: () -> String
def pretty_print: (untyped q) -> untyped
def to_dot: () -> String
end
+ type node_singleton = singleton(Node) & _NodeSingleton
+
# Methods implemented by every subclass of Node
interface _Node
def accept: (_Visitor) -> void
def child_nodes: () -> Array[Prism::node?]
def deconstruct: () -> Array[Prism::node?]
def compact_child_nodes: () -> Array[Prism::node]
def comment_targets: () -> Array[Prism::node | Location]
-
+ def fields: () -> Array[Prism::Reflection::Field]
def inspect: (?untyped) -> String
def type: () -> Symbol
end
type node = Node & _Node