sorbet/rbi/gems/syntax_tree@6.1.1.rbi
# typed: true
# DO NOT EDIT MANUALLY
# This is an autogenerated file for types exported from the `syntax_tree` gem.
# Please instead update this file by running `bin/tapioca gem syntax_tree`.
# Syntax Tree is a suite of tools built on top of the internal CRuby parser. It
# provides the ability to generate a syntax tree from source, as well as the
# tools necessary to inspect and manipulate that syntax tree. It can be used to
# build formatters, linters, language servers, and more.
#
# source://syntax_tree//lib/syntax_tree/node.rb#3
module SyntaxTree
class << self
# Parses the given source and returns the formatted source.
#
# source://syntax_tree//lib/syntax_tree.rb#59
def format(source, maxwidth = T.unsafe(nil), base_indentation = T.unsafe(nil), options: T.unsafe(nil)); end
# Parses the given file and returns the formatted source.
#
# source://syntax_tree//lib/syntax_tree.rb#75
def format_file(filepath, maxwidth = T.unsafe(nil), base_indentation = T.unsafe(nil), options: T.unsafe(nil)); end
# Accepts a node in the tree and returns the formatted source.
#
# source://syntax_tree//lib/syntax_tree.rb#85
def format_node(source, node, maxwidth = T.unsafe(nil), base_indentation = T.unsafe(nil), options: T.unsafe(nil)); end
# Indexes the given source code to return a list of all class, module, and
# method definitions. Used to quickly provide indexing capability for IDEs or
# documentation generation.
#
# source://syntax_tree//lib/syntax_tree.rb#102
def index(source); end
# Indexes the given file to return a list of all class, module, and method
# definitions. Used to quickly provide indexing capability for IDEs or
# documentation generation.
#
# source://syntax_tree//lib/syntax_tree.rb#109
def index_file(filepath); end
# A convenience method for creating a new mutation visitor.
#
# @yield [visitor]
#
# source://syntax_tree//lib/syntax_tree.rb#114
def mutation; end
# Parses the given source and returns the syntax tree.
#
# source://syntax_tree//lib/syntax_tree.rb#121
def parse(source); end
# Parses the given file and returns the syntax tree.
#
# source://syntax_tree//lib/syntax_tree.rb#128
def parse_file(filepath); end
# Returns the source from the given filepath taking into account any potential
# magic encoding comments.
#
# source://syntax_tree//lib/syntax_tree.rb#134
def read(filepath); end
# This is a hook provided so that plugins can register themselves as the
# handler for a particular file type.
#
# source://syntax_tree//lib/syntax_tree.rb#149
def register_handler(extension, handler); end
# Searches through the given source using the given pattern and yields each
# node in the tree that matches the pattern to the given block.
#
# source://syntax_tree//lib/syntax_tree.rb#155
def search(source, query, &block); end
# Searches through the given file using the given pattern and yields each
# node in the tree that matches the pattern to the given block.
#
# source://syntax_tree//lib/syntax_tree.rb#164
def search_file(filepath, query, &block); end
end
end
# ARef represents when you're pulling a value out of a collection at a
# specific index. Put another way, it's any time you're calling the method
# #[].
#
# collection[index]
#
# The nodes usually contains two children, the collection and the index. In
# some cases, you don't necessarily have the second child node, because you
# can call procs with a pretty esoteric syntax. In the following example, you
# wouldn't have a second child node:
#
# collection[]
#
# source://syntax_tree//lib/syntax_tree/node.rb#567
class SyntaxTree::ARef < ::SyntaxTree::Node
# @return [ARef] a new instance of ARef
#
# source://syntax_tree//lib/syntax_tree/node.rb#577
def initialize(collection:, index:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#632
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#584
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#588
def child_nodes; end
# [Node] the value being indexed
#
# source://syntax_tree//lib/syntax_tree/node.rb#569
def collection; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#575
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#592
def copy(collection: T.unsafe(nil), index: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#588
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#606
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#615
def format(q); end
# [nil | Args] the value being passed within the brackets
#
# source://syntax_tree//lib/syntax_tree/node.rb#572
def index; end
end
# ARefField represents assigning values into collections at specific indices.
# Put another way, it's any time you're calling the method #[]=. The
# ARefField node itself is just the left side of the assignment, and they're
# always wrapped in assign nodes.
#
# collection[index] = value
#
# source://syntax_tree//lib/syntax_tree/node.rb#645
class SyntaxTree::ARefField < ::SyntaxTree::Node
# @return [ARefField] a new instance of ARefField
#
# source://syntax_tree//lib/syntax_tree/node.rb#655
def initialize(collection:, index:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#710
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#662
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#666
def child_nodes; end
# [Node] the value being indexed
#
# source://syntax_tree//lib/syntax_tree/node.rb#647
def collection; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#653
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#670
def copy(collection: T.unsafe(nil), index: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#666
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#684
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#693
def format(q); end
# [nil | Args] the value being passed within the brackets
#
# source://syntax_tree//lib/syntax_tree/node.rb#650
def index; end
end
# Alias represents the use of the +alias+ keyword with regular arguments (not
# global variables). The +alias+ keyword is used to make a method respond to
# another name as well as the current one.
#
# alias aliased_name name
#
# For the example above, in the current context you can now call aliased_name
# and it will execute the name method. When you're aliasing two methods, you
# can either provide bare words (like the example above) or you can provide
# symbols (note that this includes dynamic symbols like
# :"left-#{middle}-right").
#
# source://syntax_tree//lib/syntax_tree/node.rb#458
class SyntaxTree::AliasNode < ::SyntaxTree::Node
# @return [AliasNode] a new instance of AliasNode
#
# source://syntax_tree//lib/syntax_tree/node.rb#496
def initialize(left:, right:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#545
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#503
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#507
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#494
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#511
def copy(left: T.unsafe(nil), right: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#507
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#525
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#529
def format(q); end
# [DynaSymbol | GVar | SymbolLiteral] the new name of the method
#
# source://syntax_tree//lib/syntax_tree/node.rb#488
def left; end
# [Backref | DynaSymbol | GVar | SymbolLiteral] the old name of the method
#
# source://syntax_tree//lib/syntax_tree/node.rb#491
def right; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#549
def var_alias?; end
end
# Formats an argument to the alias keyword. For symbol literals it uses the
# value of the symbol directly to look like bare words.
#
# source://syntax_tree//lib/syntax_tree/node.rb#461
class SyntaxTree::AliasNode::AliasArgumentFormatter
# @return [AliasArgumentFormatter] a new instance of AliasArgumentFormatter
#
# source://syntax_tree//lib/syntax_tree/node.rb#466
def initialize(argument); end
# [Backref | DynaSymbol | GVar | SymbolLiteral] the argument being passed
# to alias
#
# source://syntax_tree//lib/syntax_tree/node.rb#464
def argument; end
# source://syntax_tree//lib/syntax_tree/node.rb#470
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#478
def format(q); end
end
# ArgBlock represents using a block operator on an expression.
#
# method(&expression)
#
# source://syntax_tree//lib/syntax_tree/node.rb#887
class SyntaxTree::ArgBlock < ::SyntaxTree::Node
# @return [ArgBlock] a new instance of ArgBlock
#
# source://syntax_tree//lib/syntax_tree/node.rb#894
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#930
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#900
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#904
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#892
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#908
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#904
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#921
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#925
def format(q); end
# [nil | Node] the expression being turned into a block
#
# source://syntax_tree//lib/syntax_tree/node.rb#889
def value; end
end
# ArgParen represents wrapping arguments to a method inside a set of
# parentheses.
#
# method(argument)
#
# In the example above, there would be an ArgParen node around the Args node
# that represents the set of arguments being sent to the method method. The
# argument child node can be +nil+ if no arguments were passed, as in:
#
# method()
#
# source://syntax_tree//lib/syntax_tree/node.rb#727
class SyntaxTree::ArgParen < ::SyntaxTree::Node
# @return [ArgParen] a new instance of ArgParen
#
# source://syntax_tree//lib/syntax_tree/node.rb#735
def initialize(arguments:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#784
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#741
def accept(visitor); end
# [nil | Args | ArgsForward] the arguments inside the
# parentheses
#
# source://syntax_tree//lib/syntax_tree/node.rb#730
def arguments; end
# source://syntax_tree//lib/syntax_tree/node.rb#788
def arity; end
# source://syntax_tree//lib/syntax_tree/node.rb#745
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#733
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#749
def copy(arguments: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#745
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#762
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#766
def format(q); end
private
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#794
def trailing_comma?; end
end
# Star represents using a splat operator on an expression.
#
# method(*arguments)
#
# source://syntax_tree//lib/syntax_tree/node.rb#939
class SyntaxTree::ArgStar < ::SyntaxTree::Node
# @return [ArgStar] a new instance of ArgStar
#
# source://syntax_tree//lib/syntax_tree/node.rb#946
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#982
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#952
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#956
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#944
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#960
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#956
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#973
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#977
def format(q); end
# [nil | Node] the expression being splatted
#
# source://syntax_tree//lib/syntax_tree/node.rb#941
def value; end
end
# Args represents a list of arguments being passed to a method call or array
# literal.
#
# method(first, second, third)
#
# source://syntax_tree//lib/syntax_tree/node.rb#821
class SyntaxTree::Args < ::SyntaxTree::Node
# @return [Args] a new instance of Args
#
# source://syntax_tree//lib/syntax_tree/node.rb#828
def initialize(parts:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#863
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#834
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#867
def arity; end
# source://syntax_tree//lib/syntax_tree/node.rb#838
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#826
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#842
def copy(parts: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#838
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#855
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#859
def format(q); end
# [Array[ Node ]] the arguments that this node wraps
#
# source://syntax_tree//lib/syntax_tree/node.rb#823
def parts; end
end
# ArgsForward represents forwarding all kinds of arguments onto another method
# call.
#
# def request(method, path, **headers, &block); end
#
# def get(...)
# request(:GET, ...)
# end
#
# def post(...)
# request(:POST, ...)
# end
#
# In the example above, both the get and post methods are forwarding all of
# their arguments (positional, keyword, and block) on to the request method.
# The ArgsForward node appears in both the caller (the request method calls)
# and the callee (the get and post definitions).
#
# source://syntax_tree//lib/syntax_tree/node.rb#1004
class SyntaxTree::ArgsForward < ::SyntaxTree::Node
# @return [ArgsForward] a new instance of ArgsForward
#
# source://syntax_tree//lib/syntax_tree/node.rb#1008
def initialize(location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#1038
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#1013
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#1042
def arity; end
# source://syntax_tree//lib/syntax_tree/node.rb#1017
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#1006
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#1021
def copy(location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#1017
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#1030
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#1034
def format(q); end
end
# ArrayLiteral represents an array literal, which can optionally contain
# elements.
#
# []
# [one, two, three]
#
# source://syntax_tree//lib/syntax_tree/node.rb#1053
class SyntaxTree::ArrayLiteral < ::SyntaxTree::Node
# @return [ArrayLiteral] a new instance of ArrayLiteral
#
# source://syntax_tree//lib/syntax_tree/node.rb#1153
def initialize(lbracket:, contents:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#1229
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#1160
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#1164
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#1151
def comments; end
# [nil | Args] the contents of the array
#
# source://syntax_tree//lib/syntax_tree/node.rb#1148
def contents; end
# source://syntax_tree//lib/syntax_tree/node.rb#1168
def copy(lbracket: T.unsafe(nil), contents: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#1164
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#1182
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#1191
def format(q); end
# [nil | LBracket | QSymbolsBeg | QWordsBeg | SymbolsBeg | WordsBeg] the
# bracket that opens this array
#
# source://syntax_tree//lib/syntax_tree/node.rb#1145
def lbracket; end
private
# If we have an empty array that contains only comments, then we're going
# to do some special printing to ensure they get indented correctly.
#
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#1259
def empty_with_comments?; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#1251
def qsymbols?; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#1236
def qwords?; end
end
# source://syntax_tree//lib/syntax_tree/node.rb#1063
SyntaxTree::ArrayLiteral::BREAKABLE_SPACE_SEPARATOR = T.let(T.unsafe(nil), SyntaxTree::ArrayLiteral::BreakableSpaceSeparator)
# It's very common to use seplist with ->(q) { q.breakable_space }. We wrap
# that pattern into an object to cut down on having to create a bunch of
# lambdas all over the place.
#
# source://syntax_tree//lib/syntax_tree/node.rb#1057
class SyntaxTree::ArrayLiteral::BreakableSpaceSeparator
# source://syntax_tree//lib/syntax_tree/node.rb#1058
def call(q); end
end
# This is a special formatter used if the array literal contains no values
# but _does_ contain comments. In this case we do some special formatting to
# make sure the comments gets indented properly.
#
# source://syntax_tree//lib/syntax_tree/node.rb#1120
class SyntaxTree::ArrayLiteral::EmptyWithCommentsFormatter
# @return [EmptyWithCommentsFormatter] a new instance of EmptyWithCommentsFormatter
#
# source://syntax_tree//lib/syntax_tree/node.rb#1124
def initialize(lbracket); end
# source://syntax_tree//lib/syntax_tree/node.rb#1128
def format(q); end
# [LBracket] the opening bracket
#
# source://syntax_tree//lib/syntax_tree/node.rb#1122
def lbracket; end
end
# Formats an array of multiple simple symbol literals into the %i syntax.
#
# source://syntax_tree//lib/syntax_tree/node.rb#1094
class SyntaxTree::ArrayLiteral::QSymbolsFormatter
# @return [QSymbolsFormatter] a new instance of QSymbolsFormatter
#
# source://syntax_tree//lib/syntax_tree/node.rb#1098
def initialize(contents); end
# [Args] the contents of the array
#
# source://syntax_tree//lib/syntax_tree/node.rb#1096
def contents; end
# source://syntax_tree//lib/syntax_tree/node.rb#1102
def format(q); end
end
# Formats an array of multiple simple string literals into the %w syntax.
#
# source://syntax_tree//lib/syntax_tree/node.rb#1066
class SyntaxTree::ArrayLiteral::QWordsFormatter
# @return [QWordsFormatter] a new instance of QWordsFormatter
#
# source://syntax_tree//lib/syntax_tree/node.rb#1070
def initialize(contents); end
# [Args] the contents of the array
#
# source://syntax_tree//lib/syntax_tree/node.rb#1068
def contents; end
# source://syntax_tree//lib/syntax_tree/node.rb#1074
def format(q); end
end
# When we're implementing the === operator for a node, we oftentimes need to
# compare two arrays. We want to skip over the === definition of array and use
# our own here, so we do that using this module.
#
# source://syntax_tree//lib/syntax_tree/node.rb#157
module SyntaxTree::ArrayMatch
class << self
# source://syntax_tree//lib/syntax_tree/node.rb#158
def call(left, right); end
end
end
# AryPtn represents matching against an array pattern using the Ruby 2.7+
# pattern matching syntax. It’s one of the more complicated nodes, because
# the four parameters that it accepts can almost all be nil.
#
# case [1, 2, 3]
# in [Integer, Integer]
# "matched"
# in Container[Integer, Integer]
# "matched"
# in [Integer, *, Integer]
# "matched"
# end
#
# An AryPtn node is created with four parameters: an optional constant
# wrapper, an array of positional matches, an optional splat with identifier,
# and an optional array of positional matches that occur after the splat.
# All of the in clauses above would create an AryPtn node.
#
# source://syntax_tree//lib/syntax_tree/node.rb#1282
class SyntaxTree::AryPtn < ::SyntaxTree::Node
# @return [AryPtn] a new instance of AryPtn
#
# source://syntax_tree//lib/syntax_tree/node.rb#1320
def initialize(constant:, requireds:, rest:, posts:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#1388
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#1329
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#1333
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#1318
def comments; end
# [nil | VarRef] the optional constant wrapper
#
# source://syntax_tree//lib/syntax_tree/node.rb#1303
def constant; end
# source://syntax_tree//lib/syntax_tree/node.rb#1337
def copy(constant: T.unsafe(nil), requireds: T.unsafe(nil), rest: T.unsafe(nil), posts: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#1333
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#1359
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#1370
def format(q); end
# [Array[ Node ]] the list of positional arguments occurring after the
# optional star if there is one
#
# source://syntax_tree//lib/syntax_tree/node.rb#1315
def posts; end
# [Array[ Node ]] the regular positional arguments that this array
# pattern is matching against
#
# source://syntax_tree//lib/syntax_tree/node.rb#1307
def requireds; end
# [nil | VarField] the optional starred identifier that grabs up a list of
# positional arguments
#
# source://syntax_tree//lib/syntax_tree/node.rb#1311
def rest; end
end
# Formats the optional splat of an array pattern.
#
# source://syntax_tree//lib/syntax_tree/node.rb#1284
class SyntaxTree::AryPtn::RestFormatter
# @return [RestFormatter] a new instance of RestFormatter
#
# source://syntax_tree//lib/syntax_tree/node.rb#1288
def initialize(value); end
# source://syntax_tree//lib/syntax_tree/node.rb#1292
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#1296
def format(q); end
# [VarField] the identifier that represents the remaining positionals
#
# source://syntax_tree//lib/syntax_tree/node.rb#1286
def value; end
end
# Assign represents assigning something to a variable or constant. Generally,
# the left side of the assignment is going to be any node that ends with the
# name "Field".
#
# variable = value
#
# source://syntax_tree//lib/syntax_tree/node.rb#1418
class SyntaxTree::Assign < ::SyntaxTree::Node
# @return [Assign] a new instance of Assign
#
# source://syntax_tree//lib/syntax_tree/node.rb#1429
def initialize(target:, value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#1479
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#1436
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#1440
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#1427
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#1444
def copy(target: T.unsafe(nil), value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#1440
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#1458
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#1462
def format(q); end
# [ARefField | ConstPathField | Field | TopConstField | VarField] the target
# to assign the result of the expression to
#
# source://syntax_tree//lib/syntax_tree/node.rb#1421
def target; end
# [Node] the expression to be assigned
#
# source://syntax_tree//lib/syntax_tree/node.rb#1424
def value; end
private
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#1485
def skip_indent?; end
end
# Determins if the following value should be indented or not.
#
# source://syntax_tree//lib/syntax_tree/node.rb#1396
module SyntaxTree::AssignFormatting
class << self
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#1397
def skip_indent?(value); end
end
end
# Assoc represents a key-value pair within a hash. It is a child node of
# either an AssocListFromArgs or a BareAssocHash.
#
# { key1: value1, key2: value2 }
#
# In the above example, the would be two Assoc nodes.
#
# source://syntax_tree//lib/syntax_tree/node.rb#1497
class SyntaxTree::Assoc < ::SyntaxTree::Node
# @return [Assoc] a new instance of Assoc
#
# source://syntax_tree//lib/syntax_tree/node.rb#1507
def initialize(key:, value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#1548
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#1514
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#1518
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#1505
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#1522
def copy(key: T.unsafe(nil), value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#1518
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#1536
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#1540
def format(q); end
# [Node] the key of this pair
#
# source://syntax_tree//lib/syntax_tree/node.rb#1499
def key; end
# [nil | Node] the value of this pair
#
# source://syntax_tree//lib/syntax_tree/node.rb#1502
def value; end
private
# source://syntax_tree//lib/syntax_tree/node.rb#1554
def format_contents(q); end
end
# AssocSplat represents double-splatting a value into a hash (either a hash
# literal or a bare hash in a method call).
#
# { **pairs }
#
# source://syntax_tree//lib/syntax_tree/node.rb#1575
class SyntaxTree::AssocSplat < ::SyntaxTree::Node
# @return [AssocSplat] a new instance of AssocSplat
#
# source://syntax_tree//lib/syntax_tree/node.rb#1582
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#1618
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#1588
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#1592
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#1580
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#1596
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#1592
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#1609
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#1613
def format(q); end
# [nil | Node] the expression that is being splatted
#
# source://syntax_tree//lib/syntax_tree/node.rb#1577
def value; end
end
# BEGINBlock represents the use of the +BEGIN+ keyword, which hooks into the
# lifecycle of the interpreter. Whatever is inside the block will get executed
# when the program starts.
#
# BEGIN {
# }
#
# Interestingly, the BEGIN keyword doesn't allow the do and end keywords for
# the block. Only braces are permitted.
#
# source://syntax_tree//lib/syntax_tree/node.rb#175
class SyntaxTree::BEGINBlock < ::SyntaxTree::Node
# @return [BEGINBlock] a new instance of BEGINBlock
#
# source://syntax_tree//lib/syntax_tree/node.rb#185
def initialize(lbrace:, statements:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#236
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#192
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#196
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#183
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#200
def copy(lbrace: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#196
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#214
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#223
def format(q); end
# [LBrace] the left brace that is seen after the keyword
#
# source://syntax_tree//lib/syntax_tree/node.rb#177
def lbrace; end
# [Statements] the expressions to be executed
#
# source://syntax_tree//lib/syntax_tree/node.rb#180
def statements; end
end
# Backref represents a global variable referencing a matched value. It comes
# in the form of a $ followed by a positive integer.
#
# $1
#
# source://syntax_tree//lib/syntax_tree/node.rb#1628
class SyntaxTree::Backref < ::SyntaxTree::Node
# @return [Backref] a new instance of Backref
#
# source://syntax_tree//lib/syntax_tree/node.rb#1635
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#1670
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#1641
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#1645
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#1633
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#1649
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#1645
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#1662
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#1666
def format(q); end
# [String] the name of the global backreference variable
#
# source://syntax_tree//lib/syntax_tree/node.rb#1630
def value; end
end
# Backtick represents the use of the ` operator. It's usually found being used
# for an XStringLiteral, but could also be found as the name of a method being
# defined.
#
# source://syntax_tree//lib/syntax_tree/node.rb#1678
class SyntaxTree::Backtick < ::SyntaxTree::Node
# @return [Backtick] a new instance of Backtick
#
# source://syntax_tree//lib/syntax_tree/node.rb#1685
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#1720
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#1691
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#1695
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#1683
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#1699
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#1695
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#1712
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#1716
def format(q); end
# [String] the backtick in the string
#
# source://syntax_tree//lib/syntax_tree/node.rb#1680
def value; end
end
# BareAssocHash represents a hash of contents being passed as a method
# argument (and therefore has omitted braces). It's very similar to an
# AssocListFromArgs node.
#
# method(key1: value1, key2: value2)
#
# source://syntax_tree//lib/syntax_tree/node.rb#1834
class SyntaxTree::BareAssocHash < ::SyntaxTree::Node
# @return [BareAssocHash] a new instance of BareAssocHash
#
# source://syntax_tree//lib/syntax_tree/node.rb#1841
def initialize(assocs:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#1876
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#1847
def accept(visitor); end
# [Array[ Assoc | AssocSplat ]]
#
# source://syntax_tree//lib/syntax_tree/node.rb#1836
def assocs; end
# source://syntax_tree//lib/syntax_tree/node.rb#1851
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#1839
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#1855
def copy(assocs: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#1851
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#1868
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#1872
def format(q); end
# source://syntax_tree//lib/syntax_tree/node.rb#1880
def format_key(q, key); end
end
# BasicVisitor is the parent class of the Visitor class that provides the
# ability to walk down the tree. It does not define any handlers, so you
# should extend this class if you want your visitor to raise an error if you
# attempt to visit a node that you don't handle.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#8
class SyntaxTree::BasicVisitor
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#105
def visit(node); end
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#109
def visit_all(nodes); end
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_child_nodes(node); end
class << self
# This is the list of all of the valid visit methods.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#72
def valid_visit_methods; end
# This method is here to help folks write visitors.
#
# It's not always easy to ensure you're writing the correct method name in
# the visitor since it's perfectly valid to define methods that don't
# override these parent methods.
#
# If you use this method, you can ensure you're writing the correct method
# name. It will raise an error if the visit method you're defining isn't
# actually a method on the parent visitor.
#
# @raise [VisitMethodError]
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#86
def visit_method(method_name); end
# This method is here to help folks write visitors.
#
# Within the given block, every method that is defined will be checked to
# ensure it's a valid visit method using the BasicVisitor::visit_method
# method defined above.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#97
def visit_methods; end
end
end
# This class is used by DidYouMean to offer corrections to invalid visit
# method names.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#22
class SyntaxTree::BasicVisitor::VisitMethodChecker
# @return [VisitMethodChecker] a new instance of VisitMethodChecker
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#25
def initialize(error); end
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#29
def corrections; end
# Returns the value of attribute visit_method.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#23
def visit_method; end
end
# This is raised when you use the Visitor.visit_method method and it fails.
# It is correctable to through DidYouMean.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#11
class SyntaxTree::BasicVisitor::VisitMethodError < ::StandardError
include ::DidYouMean::Correctable
# @return [VisitMethodError] a new instance of VisitMethodError
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#14
def initialize(visit_method); end
# Returns the value of attribute visit_method.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#12
def visit_method; end
end
# This module is responsible for checking all of the methods defined within
# a given block to ensure that they are valid visit methods.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#45
class SyntaxTree::BasicVisitor::VisitMethodsChecker < ::Module
# @return [VisitMethodsChecker] a new instance of VisitMethodsChecker
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#53
def initialize; end
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#65
def disable!; end
# This is the status of the checker. It's used to determine whether or not
# we should be checking the methods that are defined. It is kept as an
# instance variable so that it can be disabled later.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#51
def status; end
end
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#46
class SyntaxTree::BasicVisitor::VisitMethodsChecker::Status < ::Struct
# Returns the value of attribute checking
#
# @return [Object] the current value of checking
def checking; end
# Sets the attribute checking
#
# @param value [Object] the value to set the attribute checking to.
# @return [Object] the newly set value
def checking=(_); end
class << self
def [](*_arg0); end
def inspect; end
def keyword_init?; end
def members; end
def new(*_arg0); end
end
end
# Begin represents a begin..end chain.
#
# begin
# value
# end
#
# source://syntax_tree//lib/syntax_tree/node.rb#1899
class SyntaxTree::Begin < ::SyntaxTree::Node
# @return [Begin] a new instance of Begin
#
# source://syntax_tree//lib/syntax_tree/node.rb#1906
def initialize(bodystmt:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#1951
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#1912
def accept(visitor); end
# [BodyStmt] the bodystmt that contains the contents of this begin block
#
# source://syntax_tree//lib/syntax_tree/node.rb#1901
def bodystmt; end
# source://syntax_tree//lib/syntax_tree/node.rb#1916
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#1904
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#1920
def copy(bodystmt: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#1916
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#1933
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#1937
def format(q); end
end
# Binary represents any expression that involves two sub-expressions with an
# operator in between. This can be something that looks like a mathematical
# operation:
#
# 1 + 1
#
# but can also be something like pushing a value onto an array:
#
# array << value
#
# source://syntax_tree//lib/syntax_tree/node.rb#2029
class SyntaxTree::Binary < ::SyntaxTree::Node
# @return [Binary] a new instance of Binary
#
# source://syntax_tree//lib/syntax_tree/node.rb#2056
def initialize(left:, operator:, right:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#2128
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#2064
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#2068
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#2054
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#2072
def copy(left: T.unsafe(nil), operator: T.unsafe(nil), right: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#2068
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#2087
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#2097
def format(q); end
# [Node] the left-hand side of the expression
#
# source://syntax_tree//lib/syntax_tree/node.rb#2045
def left; end
# [Symbol] the operator used between the two expressions
#
# source://syntax_tree//lib/syntax_tree/node.rb#2048
def operator; end
# [Node] the right-hand side of the expression
#
# source://syntax_tree//lib/syntax_tree/node.rb#2051
def right; end
end
# BlockArg represents declaring a block parameter on a method definition.
#
# def method(&block); end
#
# source://syntax_tree//lib/syntax_tree/node.rb#2227
class SyntaxTree::BlockArg < ::SyntaxTree::Node
# @return [BlockArg] a new instance of BlockArg
#
# source://syntax_tree//lib/syntax_tree/node.rb#2234
def initialize(name:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#2270
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#2240
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#2244
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#2232
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#2248
def copy(name: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#2244
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#2261
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#2265
def format(q); end
# [nil | Ident] the name of the block argument
#
# source://syntax_tree//lib/syntax_tree/node.rb#2229
def name; end
end
# Block represents passing a block to a method call using the +do+ and +end+
# keywords or the +{+ and +}+ operators.
#
# method do |value|
# end
#
# method { |value| }
#
# source://syntax_tree//lib/syntax_tree/node.rb#4309
class SyntaxTree::BlockNode < ::SyntaxTree::Node
# @return [BlockNode] a new instance of BlockNode
#
# source://syntax_tree//lib/syntax_tree/node.rb#4344
def initialize(opening:, block_var:, bodystmt:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#4417
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#4352
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#4426
def arity; end
# [nil | BlockVar] the optional variable declaration within this block
#
# source://syntax_tree//lib/syntax_tree/node.rb#4336
def block_var; end
# [BodyStmt | Statements] the expressions to be executed within this block
#
# source://syntax_tree//lib/syntax_tree/node.rb#4339
def bodystmt; end
# source://syntax_tree//lib/syntax_tree/node.rb#4356
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#4342
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#4360
def copy(opening: T.unsafe(nil), block_var: T.unsafe(nil), bodystmt: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#4356
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#4375
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#4385
def format(q); end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#4422
def keywords?; end
# [LBrace | Kw] the left brace or the do keyword that opens this block
#
# source://syntax_tree//lib/syntax_tree/node.rb#4333
def opening; end
private
# If we're the predicate of a loop or conditional, then we're going to have
# to go with the {..} bounds.
#
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#4468
def forced_brace_bounds?(q); end
# If we're a sibling of a control-flow keyword, then we're going to have to
# use the do..end bounds.
#
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#4457
def forced_do_end_bounds?(q); end
# source://syntax_tree//lib/syntax_tree/node.rb#4484
def format_break(q, break_opening, break_closing); end
# source://syntax_tree//lib/syntax_tree/node.rb#4504
def format_flat(q, flat_opening, flat_closing); end
# If this is nested anywhere inside certain nodes, then we can't change
# which operators/keywords we're using for the bounds of the block.
#
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#4439
def unchangeable_bounds?(q); end
end
# Formats the opening brace or keyword of a block.
#
# source://syntax_tree//lib/syntax_tree/node.rb#4311
class SyntaxTree::BlockNode::BlockOpenFormatter
# @return [BlockOpenFormatter] a new instance of BlockOpenFormatter
#
# source://syntax_tree//lib/syntax_tree/node.rb#4318
def initialize(text, node); end
# source://syntax_tree//lib/syntax_tree/node.rb#4323
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#4327
def format(q); end
# [LBrace | Keyword] the node that is being represented
#
# source://syntax_tree//lib/syntax_tree/node.rb#4316
def node; end
# [String] the actual output that should be printed
#
# source://syntax_tree//lib/syntax_tree/node.rb#4313
def text; end
end
# BlockVar represents the parameters being declared for a block. Effectively
# this node is everything contained within the pipes. This includes all of the
# various parameter types, as well as block-local variable declarations.
#
# method do |positional, optional = value, keyword:, █ local|
# end
#
# source://syntax_tree//lib/syntax_tree/node.rb#2141
class SyntaxTree::BlockVar < ::SyntaxTree::Node
# @return [BlockVar] a new instance of BlockVar
#
# source://syntax_tree//lib/syntax_tree/node.rb#2151
def initialize(params:, locals:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#2209
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#2158
def accept(visitor); end
# When a single required parameter is declared for a block, it gets
# automatically expanded if the values being yielded into it are an array.
#
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#2216
def arg0?; end
# source://syntax_tree//lib/syntax_tree/node.rb#2162
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#2149
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#2166
def copy(params: T.unsafe(nil), locals: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#2162
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#2180
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#2196
def format(q); end
# [Array[ Ident ]] the list of block-local variable declarations
#
# source://syntax_tree//lib/syntax_tree/node.rb#2146
def locals; end
# [Params] the parameters being declared with the block
#
# source://syntax_tree//lib/syntax_tree/node.rb#2143
def params; end
end
# We'll keep a single instance of this separator around for all block vars
# to cut down on allocations.
#
# source://syntax_tree//lib/syntax_tree/node.rb#2194
SyntaxTree::BlockVar::SEPARATOR = T.let(T.unsafe(nil), SyntaxTree::BlockVar::Separator)
# Within the pipes of the block declaration, we don't want any spaces. So
# we'll separate the parameters with a comma and space but no breakables.
#
# source://syntax_tree//lib/syntax_tree/node.rb#2186
class SyntaxTree::BlockVar::Separator
# source://syntax_tree//lib/syntax_tree/node.rb#2187
def call(q); end
end
# bodystmt can't actually determine its bounds appropriately because it
# doesn't necessarily know where it started. So the parent node needs to
# report back down into this one where it goes.
#
# source://syntax_tree//lib/syntax_tree/node.rb#2278
class SyntaxTree::BodyStmt < ::SyntaxTree::Node
# @return [BodyStmt] a new instance of BodyStmt
#
# source://syntax_tree//lib/syntax_tree/node.rb#2297
def initialize(statements:, rescue_clause:, else_keyword:, else_clause:, ensure_clause:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#2428
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#2352
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#2314
def bind(parser, start_char, start_column, end_char, end_column); end
# source://syntax_tree//lib/syntax_tree/node.rb#2356
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#2295
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#2360
def copy(statements: T.unsafe(nil), rescue_clause: T.unsafe(nil), else_keyword: T.unsafe(nil), else_clause: T.unsafe(nil), ensure_clause: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#2356
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#2384
def deconstruct_keys(_keys); end
# [nil | Statements] the optional set of statements inside the else clause
#
# source://syntax_tree//lib/syntax_tree/node.rb#2289
def else_clause; end
# [nil | Kw] the optional else keyword
#
# source://syntax_tree//lib/syntax_tree/node.rb#2286
def else_keyword; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#2348
def empty?; end
# [nil | Ensure] the optional ensure clause
#
# source://syntax_tree//lib/syntax_tree/node.rb#2292
def ensure_clause; end
# source://syntax_tree//lib/syntax_tree/node.rb#2396
def format(q); end
# [nil | Rescue] the optional rescue chain attached to the begin clause
#
# source://syntax_tree//lib/syntax_tree/node.rb#2283
def rescue_clause; end
# [Statements] the list of statements inside the begin clause
#
# source://syntax_tree//lib/syntax_tree/node.rb#2280
def statements; end
end
# Break represents using the +break+ keyword.
#
# break
#
# It can also optionally accept arguments, as in:
#
# break 1
#
# source://syntax_tree//lib/syntax_tree/node.rb#2634
class SyntaxTree::Break < ::SyntaxTree::Node
# @return [Break] a new instance of Break
#
# source://syntax_tree//lib/syntax_tree/node.rb#2641
def initialize(arguments:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#2676
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#2647
def accept(visitor); end
# [Args] the arguments being sent to the keyword
#
# source://syntax_tree//lib/syntax_tree/node.rb#2636
def arguments; end
# source://syntax_tree//lib/syntax_tree/node.rb#2651
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#2639
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#2655
def copy(arguments: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#2651
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#2668
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#2672
def format(q); end
end
# CHAR irepresents a single codepoint in the script encoding.
#
# ?a
#
# In the example above, the CHAR node represents the string literal "a". You
# can use control characters with this as well, as in ?\C-a.
#
# source://syntax_tree//lib/syntax_tree/node.rb#248
class SyntaxTree::CHAR < ::SyntaxTree::Node
# @return [CHAR] a new instance of CHAR
#
# source://syntax_tree//lib/syntax_tree/node.rb#255
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#296
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#261
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#265
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#253
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#269
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#265
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#282
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#286
def format(q); end
# [String] the value of the character literal
#
# source://syntax_tree//lib/syntax_tree/node.rb#250
def value; end
end
# CVar represents the use of a class variable.
#
# @@variable
#
# source://syntax_tree//lib/syntax_tree/node.rb#4043
class SyntaxTree::CVar < ::SyntaxTree::Node
# @return [CVar] a new instance of CVar
#
# source://syntax_tree//lib/syntax_tree/node.rb#4050
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#4085
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#4056
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#4060
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#4048
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#4064
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#4060
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#4077
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#4081
def format(q); end
# [String] the name of the class variable
#
# source://syntax_tree//lib/syntax_tree/node.rb#4045
def value; end
end
# This is probably the most complicated formatter in this file. It's
# responsible for formatting chains of method calls, with or without arguments
# or blocks. In general, we want to go from something like
#
# foo.bar.baz
#
# to
#
# foo
# .bar
# .baz
#
# Of course there are a lot of caveats to that, including trailing operators
# when necessary, where comments are places, how blocks are aligned, etc.
#
# source://syntax_tree//lib/syntax_tree/node.rb#2721
class SyntaxTree::CallChainFormatter
# @return [CallChainFormatter] a new instance of CallChainFormatter
#
# source://syntax_tree//lib/syntax_tree/node.rb#2725
def initialize(node); end
# source://syntax_tree//lib/syntax_tree/node.rb#2729
def format(q); end
# source://syntax_tree//lib/syntax_tree/node.rb#2795
def format_chain(q, children); end
# [CallNode | MethodAddBlock] the top of the call chain
#
# source://syntax_tree//lib/syntax_tree/node.rb#2723
def node; end
private
# For certain nodes, we want to attach directly to the end and don't
# want to indent the first call. So we'll pop off the first children and
# format it separately here.
#
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#2895
def attach_directly?(node); end
# source://syntax_tree//lib/syntax_tree/node.rb#2905
def format_child(q, child, skip_comments: T.unsafe(nil), skip_operator: T.unsafe(nil), skip_attached: T.unsafe(nil)); end
class << self
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#2876
def chained?(node); end
end
end
# CallNode represents a method call.
#
# receiver.message
#
# source://syntax_tree//lib/syntax_tree/node.rb#2943
class SyntaxTree::CallNode < ::SyntaxTree::Node
# @return [CallNode] a new instance of CallNode
#
# source://syntax_tree//lib/syntax_tree/node.rb#2959
def initialize(receiver:, operator:, message:, arguments:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#3054
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#2968
def accept(visitor); end
# [nil | ArgParen | Args] the arguments to the method call
#
# source://syntax_tree//lib/syntax_tree/node.rb#2954
def arguments; end
# source://syntax_tree//lib/syntax_tree/node.rb#3100
def arity; end
# source://syntax_tree//lib/syntax_tree/node.rb#2972
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#2957
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#2981
def copy(receiver: T.unsafe(nil), operator: T.unsafe(nil), message: T.unsafe(nil), arguments: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#2972
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#3003
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#3014
def format(q); end
# Print out the arguments to this call. If there are no arguments, then do
# nothing.
#
# source://syntax_tree//lib/syntax_tree/node.rb#3062
def format_arguments(q); end
# source://syntax_tree//lib/syntax_tree/node.rb#3072
def format_contents(q); end
# [:call | Backtick | Const | Ident | Op] the message being sent
#
# source://syntax_tree//lib/syntax_tree/node.rb#2951
def message; end
# [nil | :"::" | Op | Period] the operator being used to send the message
#
# source://syntax_tree//lib/syntax_tree/node.rb#2948
def operator; end
# [nil | Node] the receiver of the method call
#
# source://syntax_tree//lib/syntax_tree/node.rb#2945
def receiver; end
end
# Wraps a call operator (which can be a string literal :: or an Op node or a
# Period node) and formats it when called.
#
# source://syntax_tree//lib/syntax_tree/node.rb#2683
class SyntaxTree::CallOperatorFormatter
# @return [CallOperatorFormatter] a new instance of CallOperatorFormatter
#
# source://syntax_tree//lib/syntax_tree/node.rb#2687
def initialize(operator); end
# source://syntax_tree//lib/syntax_tree/node.rb#2691
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#2695
def format(q); end
# [:"::" | Op | Period] the operator being formatted
#
# source://syntax_tree//lib/syntax_tree/node.rb#2685
def operator; end
end
# Case represents the beginning of a case chain.
#
# case value
# when 1
# "one"
# when 2
# "two"
# else
# "number"
# end
#
# source://syntax_tree//lib/syntax_tree/node.rb#3116
class SyntaxTree::Case < ::SyntaxTree::Node
# @return [Case] a new instance of Case
#
# source://syntax_tree//lib/syntax_tree/node.rb#3129
def initialize(keyword:, value:, consequent:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#3187
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#3137
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#3141
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#3127
def comments; end
# [In | When] the next clause in the chain
#
# source://syntax_tree//lib/syntax_tree/node.rb#3124
def consequent; end
# source://syntax_tree//lib/syntax_tree/node.rb#3145
def copy(keyword: T.unsafe(nil), value: T.unsafe(nil), consequent: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#3141
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#3160
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#3170
def format(q); end
# [Kw] the keyword that opens this expression
#
# source://syntax_tree//lib/syntax_tree/node.rb#3118
def keyword; end
# [nil | Node] optional value being switched on
#
# source://syntax_tree//lib/syntax_tree/node.rb#3121
def value; end
end
# Class represents defining a class using the +class+ keyword.
#
# class Container
# end
#
# Classes can have path names as their class name in case it's being nested
# under a namespace, as in:
#
# class Namespace::Container
# end
#
# Classes can also be defined as a top-level path, in the case that it's
# already in a namespace but you want to define it at the top-level instead,
# as in:
#
# module OtherNamespace
# class ::Namespace::Container
# end
# end
#
# All of these declarations can also have an optional superclass reference, as
# in:
#
# class Child < Parent
# end
#
# That superclass can actually be any Ruby expression, it doesn't necessarily
# need to be a constant, as in:
#
# class Child < method
# end
#
# source://syntax_tree//lib/syntax_tree/node.rb#3312
class SyntaxTree::ClassDeclaration < ::SyntaxTree::Node
# @return [ClassDeclaration] a new instance of ClassDeclaration
#
# source://syntax_tree//lib/syntax_tree/node.rb#3326
def initialize(constant:, superclass:, bodystmt:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#3389
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#3334
def accept(visitor); end
# [BodyStmt] the expressions to execute within the context of the class
#
# source://syntax_tree//lib/syntax_tree/node.rb#3321
def bodystmt; end
# source://syntax_tree//lib/syntax_tree/node.rb#3338
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#3324
def comments; end
# [ConstPathRef | ConstRef | TopConstRef] the name of the class being
# defined
#
# source://syntax_tree//lib/syntax_tree/node.rb#3315
def constant; end
# source://syntax_tree//lib/syntax_tree/node.rb#3342
def copy(constant: T.unsafe(nil), superclass: T.unsafe(nil), bodystmt: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#3338
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#3357
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#3367
def format(q); end
# [nil | Node] the optional superclass declaration
#
# source://syntax_tree//lib/syntax_tree/node.rb#3318
def superclass; end
private
# source://syntax_tree//lib/syntax_tree/node.rb#3396
def format_declaration(q); end
end
# Comma represents the use of the , operator.
#
# source://syntax_tree//lib/syntax_tree/node.rb#3410
class SyntaxTree::Comma < ::SyntaxTree::Node
# @return [Comma] a new instance of Comma
#
# source://syntax_tree//lib/syntax_tree/node.rb#3414
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#3437
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#3419
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#3423
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#3427
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#3423
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#3433
def deconstruct_keys(_keys); end
# [String] the comma in the string
#
# source://syntax_tree//lib/syntax_tree/node.rb#3412
def value; end
end
# Command represents a method call with arguments and no parentheses. Note
# that Command nodes only happen when there is no explicit receiver for this
# method.
#
# method argument
#
# source://syntax_tree//lib/syntax_tree/node.rb#3448
class SyntaxTree::Command < ::SyntaxTree::Node
# @return [Command] a new instance of Command
#
# source://syntax_tree//lib/syntax_tree/node.rb#3461
def initialize(message:, arguments:, block:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#3511
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#3469
def accept(visitor); end
# [Args] the arguments being sent with the message
#
# source://syntax_tree//lib/syntax_tree/node.rb#3453
def arguments; end
# source://syntax_tree//lib/syntax_tree/node.rb#3516
def arity; end
# [nil | BlockNode] the optional block being passed to the method
#
# source://syntax_tree//lib/syntax_tree/node.rb#3456
def block; end
# source://syntax_tree//lib/syntax_tree/node.rb#3473
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#3459
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#3477
def copy(message: T.unsafe(nil), arguments: T.unsafe(nil), block: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#3473
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#3492
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#3502
def format(q); end
# [Const | Ident] the message being sent to the implicit receiver
#
# source://syntax_tree//lib/syntax_tree/node.rb#3450
def message; end
private
# source://syntax_tree//lib/syntax_tree/node.rb#3522
def align(q, node, &block); end
end
# CommandCall represents a method call on an object with arguments and no
# parentheses.
#
# object.method argument
#
# source://syntax_tree//lib/syntax_tree/node.rb#3560
class SyntaxTree::CommandCall < ::SyntaxTree::Node
# @return [CommandCall] a new instance of CommandCall
#
# source://syntax_tree//lib/syntax_tree/node.rb#3579
def initialize(receiver:, operator:, message:, arguments:, block:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#3683
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#3596
def accept(visitor); end
# [nil | Args | ArgParen] the arguments going along with the message
#
# source://syntax_tree//lib/syntax_tree/node.rb#3571
def arguments; end
# source://syntax_tree//lib/syntax_tree/node.rb#3689
def arity; end
# [nil | BlockNode] the block associated with this method call
#
# source://syntax_tree//lib/syntax_tree/node.rb#3574
def block; end
# source://syntax_tree//lib/syntax_tree/node.rb#3600
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#3577
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#3604
def copy(receiver: T.unsafe(nil), operator: T.unsafe(nil), message: T.unsafe(nil), arguments: T.unsafe(nil), block: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#3600
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#3628
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#3640
def format(q); end
# [:call | Const | Ident | Op] the message being send
#
# source://syntax_tree//lib/syntax_tree/node.rb#3568
def message; end
# [nil | :"::" | Op | Period] the operator used to send the message
#
# source://syntax_tree//lib/syntax_tree/node.rb#3565
def operator; end
# [nil | Node] the receiver of the message
#
# source://syntax_tree//lib/syntax_tree/node.rb#3562
def receiver; end
private
# source://syntax_tree//lib/syntax_tree/node.rb#3695
def argument_alignment(q, doc); end
end
# Comment represents a comment in the source.
#
# # comment
#
# source://syntax_tree//lib/syntax_tree/node.rb#3722
class SyntaxTree::Comment < ::SyntaxTree::Node
# @return [Comment] a new instance of Comment
#
# source://syntax_tree//lib/syntax_tree/node.rb#3731
def initialize(value:, inline:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#3790
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#3764
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#3768
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#3760
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#3772
def copy(value: T.unsafe(nil), inline: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#3768
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#3782
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#3786
def format(q); end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#3756
def ignore?; end
# [boolean] whether or not there is code on the same line as this comment.
# If there is, then inline will be true.
#
# source://syntax_tree//lib/syntax_tree/node.rb#3728
def inline; end
# [boolean] whether or not there is code on the same line as this comment.
# If there is, then inline will be true.
#
# source://syntax_tree//lib/syntax_tree/node.rb#3728
def inline?; end
# source://syntax_tree//lib/syntax_tree/node.rb#3740
def leading!; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#3744
def leading?; end
# source://syntax_tree//lib/syntax_tree/node.rb#3748
def trailing!; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#3752
def trailing?; end
# [String] the contents of the comment
#
# source://syntax_tree//lib/syntax_tree/node.rb#3724
def value; end
end
# Formats an If or Unless node.
#
# source://syntax_tree//lib/syntax_tree/node.rb#6314
class SyntaxTree::ConditionalFormatter
# @return [ConditionalFormatter] a new instance of ConditionalFormatter
#
# source://syntax_tree//lib/syntax_tree/node.rb#6321
def initialize(keyword, node); end
# source://syntax_tree//lib/syntax_tree/node.rb#6326
def format(q); end
# [String] the keyword associated with this conditional
#
# source://syntax_tree//lib/syntax_tree/node.rb#6316
def keyword; end
# [If | Unless] the node that is being formatted
#
# source://syntax_tree//lib/syntax_tree/node.rb#6319
def node; end
private
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#6450
def contains_conditional?; end
# source://syntax_tree//lib/syntax_tree/node.rb#6385
def format_break(q, force:); end
# source://syntax_tree//lib/syntax_tree/node.rb#6377
def format_flat(q); end
# source://syntax_tree//lib/syntax_tree/node.rb#6405
def format_ternary(q); end
end
# Const represents a literal value that _looks_ like a constant. This could
# actually be a reference to a constant:
#
# Constant
#
# It could also be something that looks like a constant in another context, as
# in a method call to a capitalized method:
#
# object.Constant
#
# or a symbol that starts with a capital letter:
#
# :Constant
#
# source://syntax_tree//lib/syntax_tree/node.rb#3809
class SyntaxTree::Const < ::SyntaxTree::Node
# @return [Const] a new instance of Const
#
# source://syntax_tree//lib/syntax_tree/node.rb#3816
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#3851
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#3822
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#3826
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#3814
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#3830
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#3826
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#3843
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#3847
def format(q); end
# [String] the name of the constant
#
# source://syntax_tree//lib/syntax_tree/node.rb#3811
def value; end
end
# ConstPathField represents the child node of some kind of assignment. It
# represents when you're assigning to a constant that is being referenced as
# a child of another variable.
#
# object::Const = value
#
# source://syntax_tree//lib/syntax_tree/node.rb#3862
class SyntaxTree::ConstPathField < ::SyntaxTree::Node
# @return [ConstPathField] a new instance of ConstPathField
#
# source://syntax_tree//lib/syntax_tree/node.rb#3872
def initialize(parent:, constant:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#3916
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#3879
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#3883
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#3870
def comments; end
# [Const] the constant itself
#
# source://syntax_tree//lib/syntax_tree/node.rb#3867
def constant; end
# source://syntax_tree//lib/syntax_tree/node.rb#3887
def copy(parent: T.unsafe(nil), constant: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#3883
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#3901
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#3910
def format(q); end
# [Node] the source of the constant
#
# source://syntax_tree//lib/syntax_tree/node.rb#3864
def parent; end
end
# ConstPathRef represents referencing a constant by a path.
#
# object::Const
#
# source://syntax_tree//lib/syntax_tree/node.rb#3926
class SyntaxTree::ConstPathRef < ::SyntaxTree::Node
# @return [ConstPathRef] a new instance of ConstPathRef
#
# source://syntax_tree//lib/syntax_tree/node.rb#3936
def initialize(parent:, constant:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#3980
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#3943
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#3947
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#3934
def comments; end
# [Const] the constant itself
#
# source://syntax_tree//lib/syntax_tree/node.rb#3931
def constant; end
# source://syntax_tree//lib/syntax_tree/node.rb#3951
def copy(parent: T.unsafe(nil), constant: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#3947
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#3965
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#3974
def format(q); end
# [Node] the source of the constant
#
# source://syntax_tree//lib/syntax_tree/node.rb#3928
def parent; end
end
# ConstRef represents the name of the constant being used in a class or module
# declaration.
#
# class Container
# end
#
# source://syntax_tree//lib/syntax_tree/node.rb#3992
class SyntaxTree::ConstRef < ::SyntaxTree::Node
# @return [ConstRef] a new instance of ConstRef
#
# source://syntax_tree//lib/syntax_tree/node.rb#3999
def initialize(constant:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#4034
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#4005
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#4009
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#3997
def comments; end
# [Const] the constant itself
#
# source://syntax_tree//lib/syntax_tree/node.rb#3994
def constant; end
# source://syntax_tree//lib/syntax_tree/node.rb#4013
def copy(constant: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#4009
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#4026
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#4030
def format(q); end
end
# If the predicate of a conditional or loop contains an assignment (in which
# case we can't know for certain that that assignment doesn't impact the
# statements inside the conditional) then we can't use the modifier form
# and we must use the block form.
#
# source://syntax_tree//lib/syntax_tree/node.rb#6229
module SyntaxTree::ContainsAssignment
class << self
# source://syntax_tree//lib/syntax_tree/node.rb#6230
def call(parent); end
end
end
# The default indentation level for formatting. We allow changing this so
# that Syntax Tree can format arbitrary parts of a document.
#
# source://syntax_tree//lib/syntax_tree.rb#56
SyntaxTree::DEFAULT_INDENTATION = T.let(T.unsafe(nil), Integer)
# This is the default print width when formatting. It can be overridden in the
# CLI by passing the --print-width option or here in the API by passing the
# optional second argument to ::format.
#
# source://syntax_tree//lib/syntax_tree.rb#48
SyntaxTree::DEFAULT_PRINT_WIDTH = T.let(T.unsafe(nil), Integer)
# This is the default ruby version that we're going to target for formatting.
# It shouldn't really be changed except in very niche circumstances.
#
# source://syntax_tree//lib/syntax_tree.rb#52
SyntaxTree::DEFAULT_RUBY_VERSION = T.let(T.unsafe(nil), SyntaxTree::Formatter::SemanticVersion)
# This module provides shortcuts for creating AST nodes.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#5
module SyntaxTree::DSL
# Create a new ARef node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#40
def ARef(collection, index); end
# Create a new ARefField node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#45
def ARefField(collection, index); end
# Create a new AliasNode node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#35
def AliasNode(left, right); end
# Create a new ArgBlock node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#64
def ArgBlock(value); end
# Create a new ArgParen node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#54
def ArgParen(arguments); end
# Create a new ArgStar node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#69
def ArgStar(value); end
# Create a new Args node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#59
def Args(parts); end
# Create a new ArgsForward node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#74
def ArgsForward; end
# Create a new ArrayLiteral node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#79
def ArrayLiteral(lbracket, contents); end
# Create a new AryPtn node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#88
def AryPtn(constant, requireds, rest, posts); end
# Create a new Assign node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#99
def Assign(target, value); end
# Create a new Assoc node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#104
def Assoc(key, value); end
# Create a new AssocSplat node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#109
def AssocSplat(value); end
# Create a new BEGINBlock node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#7
def BEGINBlock(lbrace, statements); end
# Create a new Backref node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#114
def Backref(value); end
# Create a new Backtick node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#119
def Backtick(value); end
# Create a new BareAssocHash node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#124
def BareAssocHash(assocs); end
# Create a new Begin node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#129
def Begin(bodystmt); end
# Create a new Binary node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#139
def Binary(left, operator, right); end
# Create a new BlockArg node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#154
def BlockArg(name); end
# Create a new BlockNode node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#317
def BlockNode(opening, block_var, bodystmt); end
# Create a new BlockVar node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#149
def BlockVar(params, locals); end
# Create a new BodyStmt node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#159
def BodyStmt(statements, rescue_clause, else_keyword, else_clause, ensure_clause); end
# Create a new Break node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#177
def Break(arguments); end
# Create a new CHAR node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#16
def CHAR(value); end
# Create a new CVar node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#288
def CVar(value); end
# Create a new CallNode node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#182
def CallNode(receiver, operator, message, arguments); end
# Create a new Case node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#193
def Case(keyword, value, consequent); end
# Create a new ClassDeclaration node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#213
def ClassDeclaration(constant, superclass, bodystmt, location = T.unsafe(nil)); end
# Create a new Comma node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#228
def Comma(value); end
# Create a new Command node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#233
def Command(message, arguments, block, location = T.unsafe(nil)); end
# Create a new CommandCall node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#243
def CommandCall(receiver, operator, message, arguments, block); end
# Create a new Comment node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#255
def Comment(value, inline, location = T.unsafe(nil)); end
# Create a new Const node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#260
def Const(value); end
# Create a new ConstPathField node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#265
def ConstPathField(parent, constant); end
# Create a new ConstPathRef node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#274
def ConstPathRef(parent, constant); end
# Create a new ConstRef node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#283
def ConstRef(constant); end
# Create a new DefNode node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#293
def DefNode(target, operator, name, params, bodystmt, location = T.unsafe(nil)); end
# Create a new Defined node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#312
def Defined(value); end
# Create a new DynaSymbol node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#337
def DynaSymbol(parts, quote); end
# Create a new ENDBlock node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#21
def ENDBlock(lbrace, statements); end
# Create a new Else node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#342
def Else(keyword, statements); end
# Create a new Elsif node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#351
def Elsif(predicate, statements, consequent); end
# Create a new EmbDoc node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#361
def EmbDoc(value); end
# Create a new EmbExprBeg node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#366
def EmbExprBeg(value); end
# Create a new EmbExprEnd node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#371
def EmbExprEnd(value); end
# Create a new EmbVar node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#376
def EmbVar(value); end
# Create a new EndContent node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#30
def EndContent(value); end
# Create a new Ensure node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#381
def Ensure(keyword, statements); end
# Create a new ExcessedComma node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#390
def ExcessedComma(value); end
# Create a new Field node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#395
def Field(parent, operator, name); end
# Create a new FloatLiteral node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#405
def FloatLiteral(value); end
# Create a new FndPtn node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#410
def FndPtn(constant, left, values, right); end
# Create a new For node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#421
def For(index, collection, statements); end
# Create a new GVar node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#431
def GVar(value); end
# Create a new HashLiteral node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#436
def HashLiteral(lbrace, assocs); end
# Create a new Heredoc node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#445
def Heredoc(beginning, ending, dedent, parts); end
# Create a new HeredocBeg node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#456
def HeredocBeg(value); end
# Create a new HeredocEnd node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#461
def HeredocEnd(value); end
# Create a new HshPtn node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#466
def HshPtn(constant, keywords, keyword_rest); end
# Create a new IVar node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#521
def IVar(value); end
# Create a new Ident node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#476
def Ident(value); end
# Create a new IfNode node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#481
def IfNode(predicate, statements, consequent); end
# Create a new IfOp node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#491
def IfOp(predicate, truthy, falsy); end
# Create a new Imaginary node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#501
def Imaginary(value); end
# Create a new In node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#506
def In(pattern, statements, consequent); end
# Create a new Int node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#516
def Int(value); end
# Create a new Kw node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#526
def Kw(value); end
# Create a new KwRestParam node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#531
def KwRestParam(name); end
# Create a new LBrace node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#560
def LBrace(value); end
# Create a new LBracket node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#565
def LBracket(value); end
# Create a new LParen node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#570
def LParen(value); end
# Create a new Label node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#536
def Label(value); end
# Create a new LabelEnd node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#541
def LabelEnd(value); end
# Create a new Lambda node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#546
def Lambda(params, statements); end
# Create a new LambdaVar node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#555
def LambdaVar(params, locals); end
# Create a new MAssign node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#575
def MAssign(target, value); end
# Create a new MLHS node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#585
def MLHS(parts, comma); end
# Create a new MLHSParen node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#590
def MLHSParen(contents, comma); end
# Create a new MRHS node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#608
def MRHS(parts); end
# Create a new MethodAddBlock node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#580
def MethodAddBlock(call, block, location = T.unsafe(nil)); end
# Create a new ModuleDeclaration node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#599
def ModuleDeclaration(constant, bodystmt); end
# Create a new Next node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#613
def Next(arguments); end
# Create a new Not node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#892
def Not(statement, parentheses); end
# Create a new Op node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#618
def Op(value); end
# Create a new OpAssign node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#623
def OpAssign(target, operator, value); end
# Create a new Params node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#633
def Params(requireds, optionals, rest, posts, keywords, keyword_rest, block); end
# Create a new Paren node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#647
def Paren(lparen, contents); end
# Create a new Period node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#652
def Period(value); end
# Create a new PinnedBegin node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#134
def PinnedBegin(statement); end
# Create a new PinnedVarRef node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#944
def PinnedVarRef(value); end
# Create a new Program node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#657
def Program(statements); end
# Create a new QSymbols node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#662
def QSymbols(beginning, elements); end
# Create a new QSymbolsBeg node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#671
def QSymbolsBeg(value); end
# Create a new QWords node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#676
def QWords(beginning, elements); end
# Create a new QWordsBeg node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#685
def QWordsBeg(value); end
# Create a new RAssign node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#203
def RAssign(value, operator, pattern); end
# Create a new RBrace node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#695
def RBrace(value); end
# Create a new RBracket node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#700
def RBracket(value); end
# Create a new RParen node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#783
def RParen(value); end
# Create a new RangeNode node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#327
def RangeNode(left, operator, right); end
# Create a new RationalLiteral node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#690
def RationalLiteral(value); end
# Create a new Redo node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#705
def Redo; end
# Create a new RegexpBeg node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#719
def RegexpBeg(value); end
# Create a new RegexpContent node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#710
def RegexpContent(beginning, parts); end
# Create a new RegexpEnd node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#724
def RegexpEnd(value); end
# Create a new RegexpLiteral node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#729
def RegexpLiteral(beginning, ending, parts); end
# Create a new Rescue node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#748
def Rescue(keyword, exception, statements, consequent); end
# Create a new RescueEx node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#739
def RescueEx(exceptions, variable); end
# Create a new RescueMod node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#759
def RescueMod(statement, value); end
# Create a new RestParam node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#768
def RestParam(name); end
# Create a new Retry node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#773
def Retry; end
# Create a new ReturnNode node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#778
def ReturnNode(arguments); end
# Create a new SClass node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#788
def SClass(target, bodystmt); end
# Create a new Statements node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#793
def Statements(body); end
# Create a new StringConcat node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#803
def StringConcat(left, right); end
# Create a new StringContent node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#798
def StringContent(parts); end
# Create a new StringDVar node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#808
def StringDVar(variable); end
# Create a new StringEmbExpr node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#813
def StringEmbExpr(statements); end
# Create a new StringLiteral node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#818
def StringLiteral(parts, quote); end
# Create a new Super node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#823
def Super(arguments); end
# Create a new SymBeg node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#828
def SymBeg(value); end
# Create a new SymbolContent node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#833
def SymbolContent(value); end
# Create a new SymbolLiteral node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#838
def SymbolLiteral(value); end
# Create a new Symbols node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#843
def Symbols(beginning, elements); end
# Create a new SymbolsBeg node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#852
def SymbolsBeg(value); end
# Create a new TLamBeg node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#862
def TLamBeg(value); end
# Create a new TLambda node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#857
def TLambda(value); end
# Create a new TStringBeg node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#877
def TStringBeg(value); end
# Create a new TStringContent node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#882
def TStringContent(value); end
# Create a new TStringEnd node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#887
def TStringEnd(value); end
# Create a new TopConstField node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#867
def TopConstField(constant); end
# Create a new TopConstRef node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#872
def TopConstRef(constant); end
# Create a new Unary node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#901
def Unary(operator, statement); end
# Create a new Undef node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#910
def Undef(symbols); end
# Create a new UnlessNode node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#915
def UnlessNode(predicate, statements, consequent); end
# Create a new UntilNode node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#925
def UntilNode(predicate, statements); end
# Create a new VCall node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#949
def VCall(value); end
# Create a new VarField node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#934
def VarField(value); end
# Create a new VarRef node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#939
def VarRef(value); end
# Create a new VoidStmt node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#954
def VoidStmt; end
# Create a new When node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#959
def When(arguments, statements, consequent); end
# Create a new WhileNode node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#969
def WhileNode(predicate, statements); end
# Create a new Word node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#978
def Word(parts); end
# Create a new Words node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#983
def Words(beginning, elements); end
# Create a new WordsBeg node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#992
def WordsBeg(value); end
# Create a new XString node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#997
def XString(parts); end
# Create a new XStringLiteral node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#1002
def XStringLiteral(parts); end
# Create a new YieldNode node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#1007
def YieldNode(arguments); end
# Create a new ZSuper node.
#
# source://syntax_tree//lib/syntax_tree/dsl.rb#1012
def ZSuper; end
end
# Def represents defining a regular method on the current self object.
#
# def method(param) result end
# def object.method(param) result end
#
# source://syntax_tree//lib/syntax_tree/node.rb#4095
class SyntaxTree::DefNode < ::SyntaxTree::Node
# @return [DefNode] a new instance of DefNode
#
# source://syntax_tree//lib/syntax_tree/node.rb#4114
def initialize(target:, operator:, name:, params:, bodystmt:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#4214
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#4124
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#4227
def arity; end
# [BodyStmt | Node] the expressions to be executed by the method
#
# source://syntax_tree//lib/syntax_tree/node.rb#4109
def bodystmt; end
# source://syntax_tree//lib/syntax_tree/node.rb#4128
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#4112
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#4132
def copy(target: T.unsafe(nil), operator: T.unsafe(nil), name: T.unsafe(nil), params: T.unsafe(nil), bodystmt: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#4128
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#4156
def deconstruct_keys(_keys); end
# Returns true if the method was found in the source in the "endless" form,
# i.e. where the method body is defined using the `=` operator after the
# method name and parameters.
#
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#4223
def endless?; end
# source://syntax_tree//lib/syntax_tree/node.rb#4168
def format(q); end
# [Backtick | Const | Ident | Kw | Op] the name of the method
#
# source://syntax_tree//lib/syntax_tree/node.rb#4103
def name; end
# [nil | Op | Period] the operator being used to declare the method
#
# source://syntax_tree//lib/syntax_tree/node.rb#4100
def operator; end
# [nil | Params | Paren] the parameter declaration for the method
#
# source://syntax_tree//lib/syntax_tree/node.rb#4106
def params; end
# [nil | Node] the target where the method is being defined
#
# source://syntax_tree//lib/syntax_tree/node.rb#4097
def target; end
end
# Defined represents the use of the +defined?+ operator. It can be used with
# and without parentheses.
#
# defined?(variable)
#
# source://syntax_tree//lib/syntax_tree/node.rb#4246
class SyntaxTree::Defined < ::SyntaxTree::Node
# @return [Defined] a new instance of Defined
#
# source://syntax_tree//lib/syntax_tree/node.rb#4253
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#4296
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#4259
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#4263
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#4251
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#4267
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#4263
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#4280
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#4284
def format(q); end
# [Node] the value being sent to the keyword
#
# source://syntax_tree//lib/syntax_tree/node.rb#4248
def value; end
end
# DynaSymbol represents a symbol literal that uses quotes to dynamically
# define its value.
#
# :"#{variable}"
#
# They can also be used as a special kind of dynamic hash key, as in:
#
# { "#{key}": value }
#
# source://syntax_tree//lib/syntax_tree/node.rb#4660
class SyntaxTree::DynaSymbol < ::SyntaxTree::Node
# @return [DynaSymbol] a new instance of DynaSymbol
#
# source://syntax_tree//lib/syntax_tree/node.rb#4671
def initialize(parts:, quote:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#4733
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#4678
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#4682
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#4669
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#4686
def copy(parts: T.unsafe(nil), quote: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#4682
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#4700
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#4704
def format(q); end
# [Array[ StringDVar | StringEmbExpr | TStringContent ]] the parts of the
# dynamic symbol
#
# source://syntax_tree//lib/syntax_tree/node.rb#4663
def parts; end
# [nil | String] the quote used to delimit the dynamic symbol
#
# source://syntax_tree//lib/syntax_tree/node.rb#4666
def quote; end
private
# Here we determine the quotes to use for a dynamic symbol. It's bound by a
# lot of rules because it could be in many different contexts with many
# different kinds of escaping.
#
# source://syntax_tree//lib/syntax_tree/node.rb#4743
def quotes(q); end
end
# ENDBlock represents the use of the +END+ keyword, which hooks into the
# lifecycle of the interpreter. Whatever is inside the block will get executed
# when the program ends.
#
# END {
# }
#
# Interestingly, the END keyword doesn't allow the do and end keywords for the
# block. Only braces are permitted.
#
# source://syntax_tree//lib/syntax_tree/node.rb#310
class SyntaxTree::ENDBlock < ::SyntaxTree::Node
# @return [ENDBlock] a new instance of ENDBlock
#
# source://syntax_tree//lib/syntax_tree/node.rb#320
def initialize(lbrace:, statements:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#371
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#327
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#331
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#318
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#335
def copy(lbrace: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#331
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#349
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#358
def format(q); end
# [LBrace] the left brace that is seen after the keyword
#
# source://syntax_tree//lib/syntax_tree/node.rb#312
def lbrace; end
# [Statements] the expressions to be executed
#
# source://syntax_tree//lib/syntax_tree/node.rb#315
def statements; end
end
# Else represents the end of an +if+, +unless+, or +case+ chain.
#
# if variable
# else
# end
#
# source://syntax_tree//lib/syntax_tree/node.rb#4789
class SyntaxTree::Else < ::SyntaxTree::Node
# @return [Else] a new instance of Else
#
# source://syntax_tree//lib/syntax_tree/node.rb#4799
def initialize(keyword:, statements:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#4850
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#4806
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#4810
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#4797
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#4814
def copy(keyword: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#4810
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#4828
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#4837
def format(q); end
# [Kw] the else keyword
#
# source://syntax_tree//lib/syntax_tree/node.rb#4791
def keyword; end
# [Statements] the expressions to be executed
#
# source://syntax_tree//lib/syntax_tree/node.rb#4794
def statements; end
end
# Elsif represents another clause in an +if+ or +unless+ chain.
#
# if variable
# elsif other_variable
# end
#
# source://syntax_tree//lib/syntax_tree/node.rb#4862
class SyntaxTree::Elsif < ::SyntaxTree::Node
# @return [Elsif] a new instance of Elsif
#
# source://syntax_tree//lib/syntax_tree/node.rb#4875
def initialize(predicate:, statements:, consequent:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#4939
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#4883
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#4887
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#4873
def comments; end
# [nil | Elsif | Else] the next clause in the chain
#
# source://syntax_tree//lib/syntax_tree/node.rb#4870
def consequent; end
# source://syntax_tree//lib/syntax_tree/node.rb#4891
def copy(predicate: T.unsafe(nil), statements: T.unsafe(nil), consequent: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#4887
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#4906
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#4916
def format(q); end
# [Node] the expression to be checked
#
# source://syntax_tree//lib/syntax_tree/node.rb#4864
def predicate; end
# [Statements] the expressions to be executed
#
# source://syntax_tree//lib/syntax_tree/node.rb#4867
def statements; end
end
# EmbDoc represents a multi-line comment.
#
# =begin
# first line
# second line
# =end
#
# source://syntax_tree//lib/syntax_tree/node.rb#4952
class SyntaxTree::EmbDoc < ::SyntaxTree::Node
# @return [EmbDoc] a new instance of EmbDoc
#
# source://syntax_tree//lib/syntax_tree/node.rb#4956
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#5024
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#4992
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#4996
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#4988
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#5000
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#4996
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#5009
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#5013
def format(q); end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#4984
def ignore?; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#4980
def inline?; end
# source://syntax_tree//lib/syntax_tree/node.rb#4964
def leading!; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#4968
def leading?; end
# source://syntax_tree//lib/syntax_tree/node.rb#4972
def trailing!; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#4976
def trailing?; end
# [String] the contents of the comment
#
# source://syntax_tree//lib/syntax_tree/node.rb#4954
def value; end
end
# EmbExprBeg represents the beginning token for using interpolation inside of
# a parent node that accepts string content (like a string or regular
# expression).
#
# "Hello, #{person}!"
#
# source://syntax_tree//lib/syntax_tree/node.rb#5035
class SyntaxTree::EmbExprBeg < ::SyntaxTree::Node
# @return [EmbExprBeg] a new instance of EmbExprBeg
#
# source://syntax_tree//lib/syntax_tree/node.rb#5039
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#5065
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#5044
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#5048
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#5052
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#5048
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#5061
def deconstruct_keys(_keys); end
# [String] the #{ used in the string
#
# source://syntax_tree//lib/syntax_tree/node.rb#5037
def value; end
end
# EmbExprEnd represents the ending token for using interpolation inside of a
# parent node that accepts string content (like a string or regular
# expression).
#
# "Hello, #{person}!"
#
# source://syntax_tree//lib/syntax_tree/node.rb#5076
class SyntaxTree::EmbExprEnd < ::SyntaxTree::Node
# @return [EmbExprEnd] a new instance of EmbExprEnd
#
# source://syntax_tree//lib/syntax_tree/node.rb#5080
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#5106
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#5085
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#5089
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#5093
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#5089
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#5102
def deconstruct_keys(_keys); end
# [String] the } used in the string
#
# source://syntax_tree//lib/syntax_tree/node.rb#5078
def value; end
end
# EmbVar represents the use of shorthand interpolation for an instance, class,
# or global variable into a parent node that accepts string content (like a
# string or regular expression).
#
# "#@variable"
#
# In the example above, an EmbVar node represents the # because it forces
#
# source://syntax_tree//lib/syntax_tree/node.rb#5119
class SyntaxTree::EmbVar < ::SyntaxTree::Node
# @return [EmbVar] a new instance of EmbVar
#
# source://syntax_tree//lib/syntax_tree/node.rb#5123
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#5149
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#5128
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#5132
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#5136
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#5132
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#5145
def deconstruct_keys(_keys); end
# [String] the # used in the string
#
# source://syntax_tree//lib/syntax_tree/node.rb#5121
def value; end
end
# EndContent represents the use of __END__ syntax, which allows individual
# scripts to keep content after the main ruby code that can be read through
# the DATA constant.
#
# puts DATA.read
#
# __END__
# some other content that is not executed by the program
#
# source://syntax_tree//lib/syntax_tree/node.rb#386
class SyntaxTree::EndContent < ::SyntaxTree::Node
# @return [EndContent] a new instance of EndContent
#
# source://syntax_tree//lib/syntax_tree/node.rb#393
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#442
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#399
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#403
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#391
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#407
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#403
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#420
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#424
def format(q); end
# [String] the content after the script
#
# source://syntax_tree//lib/syntax_tree/node.rb#388
def value; end
end
# Ensure represents the use of the +ensure+ keyword and its subsequent
# statements.
#
# begin
# ensure
# end
#
# source://syntax_tree//lib/syntax_tree/node.rb#5161
class SyntaxTree::Ensure < ::SyntaxTree::Node
# @return [Ensure] a new instance of Ensure
#
# source://syntax_tree//lib/syntax_tree/node.rb#5171
def initialize(keyword:, statements:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#5220
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#5178
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#5182
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#5169
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#5186
def copy(keyword: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#5182
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#5200
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#5209
def format(q); end
# [Kw] the ensure keyword that began this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#5163
def keyword; end
# [Statements] the expressions to be executed
#
# source://syntax_tree//lib/syntax_tree/node.rb#5166
def statements; end
end
# ExcessedComma represents a trailing comma in a list of block parameters. It
# changes the block parameters such that they will destructure.
#
# [[1, 2, 3], [2, 3, 4]].each do |first, second,|
# end
#
# In the above example, an ExcessedComma node would appear in the third
# position of the Params node that is used to declare that block. The third
# position typically represents a rest-type parameter, but in this case is
# used to indicate that a trailing comma was used.
#
# source://syntax_tree//lib/syntax_tree/node.rb#5236
class SyntaxTree::ExcessedComma < ::SyntaxTree::Node
# @return [ExcessedComma] a new instance of ExcessedComma
#
# source://syntax_tree//lib/syntax_tree/node.rb#5243
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#5278
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#5249
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#5253
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#5241
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#5257
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#5253
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#5270
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#5274
def format(q); end
# [String] the comma
#
# source://syntax_tree//lib/syntax_tree/node.rb#5238
def value; end
end
# Field is always the child of an assignment. It represents assigning to a
# “field” on an object.
#
# object.variable = value
#
# source://syntax_tree//lib/syntax_tree/node.rb#5288
class SyntaxTree::Field < ::SyntaxTree::Node
# @return [Field] a new instance of Field
#
# source://syntax_tree//lib/syntax_tree/node.rb#5301
def initialize(parent:, operator:, name:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#5351
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#5309
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#5313
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#5299
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#5318
def copy(parent: T.unsafe(nil), operator: T.unsafe(nil), name: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#5313
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#5333
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#5343
def format(q); end
# [Const | Ident] the name of the field being assigned
#
# source://syntax_tree//lib/syntax_tree/node.rb#5296
def name; end
# [:"::" | Op | Period] the operator being used for the assignment
#
# source://syntax_tree//lib/syntax_tree/node.rb#5293
def operator; end
# [Node] the parent object that owns the field being assigned
#
# source://syntax_tree//lib/syntax_tree/node.rb#5290
def parent; end
end
# This is the parent class of a lot of built-in visitors for Syntax Tree. It
# reflects visiting each of the fields on every node in turn. It itself does
# not do anything with these fields, it leaves that behavior up to the
# subclass to implement.
#
# In order to properly use this class, you will need to subclass it and
# implement #comments, #field, #list, #node, #pairs, and #text. Those are
# documented here.
#
# == comments(node)
#
# This accepts the node that is being visited and does something depending on
# the comments attached to the node.
#
# == field(name, value)
#
# This accepts the name of the field being visited as a string (like "value")
# and the actual value of that field. The value can be a subclass of Node or
# any other type that can be held within the tree.
#
# == list(name, values)
#
# This accepts the name of the field being visited as well as a list of
# values. This is used, for example, when visiting something like the body of
# a Statements node.
#
# == node(name, node)
#
# This is the parent serialization method for each node. It is called with the
# node itself, as well as the type of the node as a string. The type is an
# internally used value that usually resembles the name of the ripper event
# that generated the node. The method should yield to the given block which
# then calls through to visit each of the fields on the node.
#
# == text(name, value)
#
# This accepts the name of the field being visited as well as a string value
# representing the value of the field.
#
# == pairs(name, values)
#
# This accepts the name of the field being visited as well as a list of pairs
# that represent the value of the field. It is used only in a couple of
# circumstances, like when visiting the list of optional parameters defined on
# a method.
#
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#50
class SyntaxTree::FieldVisitor < ::SyntaxTree::BasicVisitor
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#163
def visit_BEGIN(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#245
def visit_CHAR(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#342
def visit_END(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#1018
def visit___end__(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#68
def visit_alias(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#52
def visit_aref(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#60
def visit_aref_field(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#76
def visit_arg_block(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#83
def visit_arg_paren(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#90
def visit_arg_star(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#97
def visit_args(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#104
def visit_args_forward(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#108
def visit_array(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#115
def visit_aryptn(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#125
def visit_assign(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#133
def visit_assoc(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#141
def visit_assoc_splat(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#148
def visit_backref(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#152
def visit_backtick(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#156
def visit_bare_assoc_hash(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#170
def visit_begin(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#177
def visit_binary(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#186
def visit_block(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#201
def visit_block_var(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#194
def visit_blockarg(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#209
def visit_bodystmt(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#219
def visit_break(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#226
def visit_call(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#236
def visit_case(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#249
def visit_class(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#258
def visit_comma(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#262
def visit_command(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#271
def visit_command_call(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#282
def visit_comment(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#286
def visit_const(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#290
def visit_const_path_field(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#298
def visit_const_path_ref(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#306
def visit_const_ref(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#313
def visit_cvar(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#317
def visit_def(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#328
def visit_defined(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#335
def visit_dyna_symbol(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#349
def visit_else(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#356
def visit_elsif(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#365
def visit_embdoc(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#369
def visit_embexpr_beg(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#373
def visit_embexpr_end(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#377
def visit_embvar(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#381
def visit_ensure(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#388
def visit_excessed_comma(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#392
def visit_field(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#401
def visit_float(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#405
def visit_fndptn(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#415
def visit_for(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#424
def visit_gvar(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#428
def visit_hash(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#435
def visit_heredoc(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#442
def visit_heredoc_beg(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#446
def visit_heredoc_end(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#450
def visit_hshptn(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#459
def visit_ident(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#463
def visit_if(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#472
def visit_if_op(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#481
def visit_imaginary(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#485
def visit_in(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#494
def visit_int(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#498
def visit_ivar(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#502
def visit_kw(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#506
def visit_kwrest_param(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#513
def visit_label(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#517
def visit_label_end(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#521
def visit_lambda(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#529
def visit_lambda_var(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#537
def visit_lbrace(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#541
def visit_lbracket(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#545
def visit_lparen(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#549
def visit_massign(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#557
def visit_method_add_block(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#565
def visit_mlhs(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#572
def visit_mlhs_paren(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#579
def visit_module(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#587
def visit_mrhs(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#594
def visit_next(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#601
def visit_not(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#608
def visit_op(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#612
def visit_opassign(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#621
def visit_params(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#634
def visit_paren(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#641
def visit_period(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#645
def visit_pinned_begin(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#652
def visit_pinned_var_ref(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#659
def visit_program(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#666
def visit_qsymbols(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#673
def visit_qsymbols_beg(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#677
def visit_qwords(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#684
def visit_qwords_beg(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#688
def visit_range(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#697
def visit_rassign(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#706
def visit_rational(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#710
def visit_rbrace(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#714
def visit_rbracket(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#718
def visit_redo(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#722
def visit_regexp_beg(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#726
def visit_regexp_content(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#730
def visit_regexp_end(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#734
def visit_regexp_literal(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#742
def visit_rescue(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#751
def visit_rescue_ex(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#759
def visit_rescue_mod(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#767
def visit_rest_param(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#774
def visit_retry(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#778
def visit_return(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#785
def visit_rparen(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#789
def visit_sclass(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#797
def visit_statements(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#804
def visit_string_concat(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#812
def visit_string_content(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#816
def visit_string_dvar(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#823
def visit_string_embexpr(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#830
def visit_string_literal(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#837
def visit_super(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#844
def visit_symbeg(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#848
def visit_symbol_content(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#852
def visit_symbol_literal(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#859
def visit_symbols(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#866
def visit_symbols_beg(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#870
def visit_tlambda(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#874
def visit_tlambeg(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#878
def visit_top_const_field(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#885
def visit_top_const_ref(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#892
def visit_tstring_beg(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#896
def visit_tstring_content(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#900
def visit_tstring_end(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#904
def visit_unary(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#912
def visit_undef(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#919
def visit_unless(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#928
def visit_until(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#936
def visit_var_field(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#943
def visit_var_ref(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#950
def visit_vcall(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#957
def visit_void_stmt(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#961
def visit_when(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#970
def visit_while(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#978
def visit_word(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#985
def visit_words(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#992
def visit_words_beg(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#996
def visit_xstring(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#1000
def visit_xstring_literal(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#1007
def visit_yield(node); end
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#1014
def visit_zsuper(node); end
private
# source://syntax_tree//lib/syntax_tree/field_visitor.rb#1025
def visit_token(node, type); end
end
# FloatLiteral represents a floating point number literal.
#
# 1.0
#
# source://syntax_tree//lib/syntax_tree/node.rb#5361
class SyntaxTree::FloatLiteral < ::SyntaxTree::Node
# @return [FloatLiteral] a new instance of FloatLiteral
#
# source://syntax_tree//lib/syntax_tree/node.rb#5368
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#5403
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#5374
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#5378
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#5366
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#5382
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#5378
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#5395
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#5399
def format(q); end
# [String] the value of the floating point number literal
#
# source://syntax_tree//lib/syntax_tree/node.rb#5363
def value; end
end
# Formats either a Break, Next, or Return node.
#
# source://syntax_tree//lib/syntax_tree/node.rb#2438
class SyntaxTree::FlowControlFormatter
# @return [FlowControlFormatter] a new instance of FlowControlFormatter
#
# source://syntax_tree//lib/syntax_tree/node.rb#2445
def initialize(keyword, node); end
# source://syntax_tree//lib/syntax_tree/node.rb#2450
def format(q); end
# [String] the keyword to print
#
# source://syntax_tree//lib/syntax_tree/node.rb#2440
def keyword; end
# [Break | Next | Return] the node being formatted
#
# source://syntax_tree//lib/syntax_tree/node.rb#2443
def node; end
private
# source://syntax_tree//lib/syntax_tree/node.rb#2599
def format_arguments(q, opening, closing); end
# source://syntax_tree//lib/syntax_tree/node.rb#2589
def format_array_contents(q, array); end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#2609
def skip_parens?(node); end
end
# FndPtn represents matching against a pattern where you find a pattern in an
# array using the Ruby 3.0+ pattern matching syntax.
#
# case value
# in [*, 7, *]
# end
#
# source://syntax_tree//lib/syntax_tree/node.rb#5415
class SyntaxTree::FndPtn < ::SyntaxTree::Node
# @return [FndPtn] a new instance of FndPtn
#
# source://syntax_tree//lib/syntax_tree/node.rb#5432
def initialize(constant:, left:, values:, right:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#5501
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#5441
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#5445
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#5430
def comments; end
# [nil | Node] the optional constant wrapper
#
# source://syntax_tree//lib/syntax_tree/node.rb#5417
def constant; end
# source://syntax_tree//lib/syntax_tree/node.rb#5449
def copy(constant: T.unsafe(nil), left: T.unsafe(nil), values: T.unsafe(nil), right: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#5445
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#5465
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#5476
def format(q); end
# [VarField] the splat on the left-hand side
#
# source://syntax_tree//lib/syntax_tree/node.rb#5420
def left; end
# [VarField] the splat on the right-hand side
#
# source://syntax_tree//lib/syntax_tree/node.rb#5427
def right; end
# [Array[ Node ]] the list of positional expressions in the pattern that
# are being matched
#
# source://syntax_tree//lib/syntax_tree/node.rb#5424
def values; end
end
# For represents using a +for+ loop.
#
# for value in list do
# end
#
# source://syntax_tree//lib/syntax_tree/node.rb#5513
class SyntaxTree::For < ::SyntaxTree::Node
# @return [For] a new instance of For
#
# source://syntax_tree//lib/syntax_tree/node.rb#5527
def initialize(index:, collection:, statements:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#5587
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#5535
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#5539
def child_nodes; end
# [Node] the object being enumerated in the loop
#
# source://syntax_tree//lib/syntax_tree/node.rb#5519
def collection; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#5525
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#5543
def copy(index: T.unsafe(nil), collection: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#5539
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#5558
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#5568
def format(q); end
# [MLHS | VarField] the variable declaration being used to
# pull values out of the object being enumerated
#
# source://syntax_tree//lib/syntax_tree/node.rb#5516
def index; end
# [Statements] the statements to be executed
#
# source://syntax_tree//lib/syntax_tree/node.rb#5522
def statements; end
end
# A slightly enhanced PP that knows how to format recursively including
# comments.
#
# source://syntax_tree//lib/syntax_tree/formatter.rb#6
class SyntaxTree::Formatter < ::PrettierPrint
# @return [Formatter] a new instance of Formatter
#
# source://syntax_tree//lib/syntax_tree/formatter.rb#95
def initialize(source, *args, options: T.unsafe(nil)); end
# These options are overridden in plugins to we need to make sure they are
# available here.
#
# source://syntax_tree//lib/syntax_tree/formatter.rb#87
def disable_auto_ternary; end
# These options are overridden in plugins to we need to make sure they are
# available here.
#
# source://syntax_tree//lib/syntax_tree/formatter.rb#87
def disable_auto_ternary?; end
# source://syntax_tree//lib/syntax_tree/formatter.rb#115
def format(node, stackable: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/formatter.rb#175
def format_each(nodes); end
# source://syntax_tree//lib/syntax_tree/formatter.rb#179
def grandparent; end
# This is a simplified version of prettyprint's group. It doesn't provide
# any of the more advanced options because we don't need them and they take
# up expensive computation time.
#
# source://syntax_tree//lib/syntax_tree/formatter.rb#194
def group; end
# source://syntax_tree//lib/syntax_tree/formatter.rb#183
def parent; end
# source://syntax_tree//lib/syntax_tree/formatter.rb#187
def parents; end
# These options are overridden in plugins to we need to make sure they are
# available here.
#
# source://syntax_tree//lib/syntax_tree/formatter.rb#87
def quote; end
# A similar version to the super, except that it calls back into the
# separator proc with the instance of `self`.
#
# source://syntax_tree//lib/syntax_tree/formatter.rb#208
def seplist(list, sep = T.unsafe(nil), iter_method = T.unsafe(nil)); end
# Returns the value of attribute source.
#
# source://syntax_tree//lib/syntax_tree/formatter.rb#83
def source; end
# Returns the value of attribute stack.
#
# source://syntax_tree//lib/syntax_tree/formatter.rb#83
def stack; end
# These options are overridden in plugins to we need to make sure they are
# available here.
#
# source://syntax_tree//lib/syntax_tree/formatter.rb#87
def target_ruby_version; end
# This is a much simplified version of prettyprint's text. It avoids
# calculating width by pushing the string directly onto the target.
#
# source://syntax_tree//lib/syntax_tree/formatter.rb#224
def text(string); end
# These options are overridden in plugins to we need to make sure they are
# available here.
#
# source://syntax_tree//lib/syntax_tree/formatter.rb#87
def trailing_comma; end
# These options are overridden in plugins to we need to make sure they are
# available here.
#
# source://syntax_tree//lib/syntax_tree/formatter.rb#87
def trailing_comma?; end
class << self
# source://syntax_tree//lib/syntax_tree/formatter.rb#108
def format(source, node, base_indentation = T.unsafe(nil)); end
end
end
# source://syntax_tree//lib/syntax_tree/formatter.rb#80
SyntaxTree::Formatter::COMMENT_PRIORITY = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/formatter.rb#81
SyntaxTree::Formatter::HEREDOC_PRIORITY = T.let(T.unsafe(nil), Integer)
# We want to minimize as much as possible the number of options that are
# available in syntax tree. For the most part, if users want non-default
# formatting, they should override the format methods on the specific nodes
# themselves. However, because of some history with prettier and the fact
# that folks have become entrenched in their ways, we decided to provide a
# small amount of configurability.
#
# source://syntax_tree//lib/syntax_tree/formatter.rb#23
class SyntaxTree::Formatter::Options
# @return [Options] a new instance of Options
#
# source://syntax_tree//lib/syntax_tree/formatter.rb#29
def initialize(quote: T.unsafe(nil), trailing_comma: T.unsafe(nil), disable_auto_ternary: T.unsafe(nil), target_ruby_version: T.unsafe(nil)); end
# Returns the value of attribute disable_auto_ternary.
#
# source://syntax_tree//lib/syntax_tree/formatter.rb#24
def disable_auto_ternary; end
# Returns the value of attribute quote.
#
# source://syntax_tree//lib/syntax_tree/formatter.rb#24
def quote; end
# Returns the value of attribute target_ruby_version.
#
# source://syntax_tree//lib/syntax_tree/formatter.rb#24
def target_ruby_version; end
# Returns the value of attribute trailing_comma.
#
# source://syntax_tree//lib/syntax_tree/formatter.rb#24
def trailing_comma; end
end
# Unfortunately, Gem::Version.new is not ractor-safe because it performs
# global caching using a class variable. This works around that by just
# setting the instance variables directly.
#
# source://syntax_tree//lib/syntax_tree/formatter.rb#10
class SyntaxTree::Formatter::SemanticVersion < ::Gem::Version
# @return [SemanticVersion] a new instance of SemanticVersion
#
# source://syntax_tree//lib/syntax_tree/formatter.rb#11
def initialize(version); end
end
# GVar represents a global variable literal.
#
# $variable
#
# source://syntax_tree//lib/syntax_tree/node.rb#5597
class SyntaxTree::GVar < ::SyntaxTree::Node
# @return [GVar] a new instance of GVar
#
# source://syntax_tree//lib/syntax_tree/node.rb#5604
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#5639
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#5610
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#5614
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#5602
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#5618
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#5614
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#5631
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#5635
def format(q); end
# [String] the name of the global variable
#
# source://syntax_tree//lib/syntax_tree/node.rb#5599
def value; end
end
# This holds references to objects that respond to both #parse and #format
# so that we can use them in the CLI.
#
# source://syntax_tree//lib/syntax_tree.rb#42
SyntaxTree::HANDLERS = T.let(T.unsafe(nil), Hash)
# This module is responsible for formatting the assocs contained within a
# hash or bare hash. It first determines if every key in the hash can use
# labels. If it can, it uses labels. Otherwise it uses hash rockets.
#
# source://syntax_tree//lib/syntax_tree/node.rb#1728
module SyntaxTree::HashKeyFormatter
class << self
# source://syntax_tree//lib/syntax_tree/node.rb#1786
def for(container); end
end
end
# When formatting a single assoc node without the context of the parent
# hash, this formatter is used. It uses whatever is present in the node,
# because there is nothing to be consistent with.
#
# source://syntax_tree//lib/syntax_tree/node.rb#1775
class SyntaxTree::HashKeyFormatter::Identity
# source://syntax_tree//lib/syntax_tree/node.rb#1776
def format_key(q, key); end
end
# Formats the keys of a hash literal using labels.
#
# source://syntax_tree//lib/syntax_tree/node.rb#1730
class SyntaxTree::HashKeyFormatter::Labels
# source://syntax_tree//lib/syntax_tree/node.rb#1733
def format_key(q, key); end
end
# source://syntax_tree//lib/syntax_tree/node.rb#1731
SyntaxTree::HashKeyFormatter::Labels::LABEL = T.let(T.unsafe(nil), Regexp)
# Formats the keys of a hash literal using hash rockets.
#
# source://syntax_tree//lib/syntax_tree/node.rb#1756
class SyntaxTree::HashKeyFormatter::Rockets
# source://syntax_tree//lib/syntax_tree/node.rb#1757
def format_key(q, key); end
end
# HashLiteral represents a hash literal.
#
# { key => value }
#
# source://syntax_tree//lib/syntax_tree/node.rb#5648
class SyntaxTree::HashLiteral < ::SyntaxTree::Node
# @return [HashLiteral] a new instance of HashLiteral
#
# source://syntax_tree//lib/syntax_tree/node.rb#5684
def initialize(lbrace:, assocs:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#5725
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#5691
def accept(visitor); end
# [Array[ Assoc | AssocSplat ]] the optional contents of the hash
#
# source://syntax_tree//lib/syntax_tree/node.rb#5679
def assocs; end
# source://syntax_tree//lib/syntax_tree/node.rb#5695
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#5682
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#5699
def copy(lbrace: T.unsafe(nil), assocs: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#5695
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#5713
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#5717
def format(q); end
# source://syntax_tree//lib/syntax_tree/node.rb#5730
def format_key(q, key); end
# [LBrace] the left brace that opens this hash
#
# source://syntax_tree//lib/syntax_tree/node.rb#5676
def lbrace; end
private
# If we have an empty hash that contains only comments, then we're going
# to do some special printing to ensure they get indented correctly.
#
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#5738
def empty_with_comments?; end
# source://syntax_tree//lib/syntax_tree/node.rb#5742
def format_contents(q); end
end
# This is a special formatter used if the hash literal contains no values
# but _does_ contain comments. In this case we do some special formatting to
# make sure the comments gets indented properly.
#
# source://syntax_tree//lib/syntax_tree/node.rb#5652
class SyntaxTree::HashLiteral::EmptyWithCommentsFormatter
# @return [EmptyWithCommentsFormatter] a new instance of EmptyWithCommentsFormatter
#
# source://syntax_tree//lib/syntax_tree/node.rb#5656
def initialize(lbrace); end
# source://syntax_tree//lib/syntax_tree/node.rb#5660
def format(q); end
# [LBrace] the opening brace
#
# source://syntax_tree//lib/syntax_tree/node.rb#5654
def lbrace; end
end
# Heredoc represents a heredoc string literal.
#
# <<~DOC
# contents
# DOC
#
# source://syntax_tree//lib/syntax_tree/node.rb#5771
class SyntaxTree::Heredoc < ::SyntaxTree::Node
# @return [Heredoc] a new instance of Heredoc
#
# source://syntax_tree//lib/syntax_tree/node.rb#5788
def initialize(beginning:, location:, ending: T.unsafe(nil), dedent: T.unsafe(nil), parts: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#5870
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#5797
def accept(visitor); end
# [HeredocBeg] the opening of the heredoc
#
# source://syntax_tree//lib/syntax_tree/node.rb#5773
def beginning; end
# source://syntax_tree//lib/syntax_tree/node.rb#5801
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#5786
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#5805
def copy(beginning: T.unsafe(nil), location: T.unsafe(nil), ending: T.unsafe(nil), parts: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#5801
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#5820
def deconstruct_keys(_keys); end
# [Integer] how far to dedent the heredoc
#
# source://syntax_tree//lib/syntax_tree/node.rb#5779
def dedent; end
# [HeredocEnd] the ending of the heredoc
#
# source://syntax_tree//lib/syntax_tree/node.rb#5776
def ending; end
# source://syntax_tree//lib/syntax_tree/node.rb#5835
def format(q); end
# [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the
# heredoc string literal
#
# source://syntax_tree//lib/syntax_tree/node.rb#5783
def parts; end
end
# This is a very specific behavior where you want to force a newline, but
# don't want to force the break parent.
#
# source://syntax_tree//lib/syntax_tree/node.rb#5832
SyntaxTree::Heredoc::SEPARATOR = T.let(T.unsafe(nil), PrettierPrint::Breakable)
# HeredocBeg represents the beginning declaration of a heredoc.
#
# <<~DOC
# contents
# DOC
#
# In the example above the HeredocBeg node represents <<~DOC.
#
# source://syntax_tree//lib/syntax_tree/node.rb#5883
class SyntaxTree::HeredocBeg < ::SyntaxTree::Node
# @return [HeredocBeg] a new instance of HeredocBeg
#
# source://syntax_tree//lib/syntax_tree/node.rb#5890
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#5925
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#5896
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#5900
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#5888
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#5904
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#5900
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#5917
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#5921
def format(q); end
# [String] the opening declaration of the heredoc
#
# source://syntax_tree//lib/syntax_tree/node.rb#5885
def value; end
end
# HeredocEnd represents the closing declaration of a heredoc.
#
# <<~DOC
# contents
# DOC
#
# In the example above the HeredocEnd node represents the closing DOC.
#
# source://syntax_tree//lib/syntax_tree/node.rb#5937
class SyntaxTree::HeredocEnd < ::SyntaxTree::Node
# @return [HeredocEnd] a new instance of HeredocEnd
#
# source://syntax_tree//lib/syntax_tree/node.rb#5944
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#5979
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#5950
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#5954
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#5942
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#5958
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#5954
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#5971
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#5975
def format(q); end
# [String] the closing declaration of the heredoc
#
# source://syntax_tree//lib/syntax_tree/node.rb#5939
def value; end
end
# HshPtn represents matching against a hash pattern using the Ruby 2.7+
# pattern matching syntax.
#
# case value
# in { key: }
# end
#
# source://syntax_tree//lib/syntax_tree/node.rb#5991
class SyntaxTree::HshPtn < ::SyntaxTree::Node
# @return [HshPtn] a new instance of HshPtn
#
# source://syntax_tree//lib/syntax_tree/node.rb#6051
def initialize(constant:, keywords:, keyword_rest:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#6144
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#6059
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#6063
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#6049
def comments; end
# [nil | Node] the optional constant wrapper
#
# source://syntax_tree//lib/syntax_tree/node.rb#6039
def constant; end
# source://syntax_tree//lib/syntax_tree/node.rb#6067
def copy(constant: T.unsafe(nil), keywords: T.unsafe(nil), keyword_rest: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#6063
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#6082
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#6092
def format(q); end
# [nil | VarField] an optional parameter to gather up all remaining keywords
#
# source://syntax_tree//lib/syntax_tree/node.rb#6046
def keyword_rest; end
# [Array[ [DynaSymbol | Label, nil | Node] ]] the set of tuples
# representing the keywords that should be matched against in the pattern
#
# source://syntax_tree//lib/syntax_tree/node.rb#6043
def keywords; end
private
# source://syntax_tree//lib/syntax_tree/node.rb#6155
def format_contents(q, parts, nested); end
end
# Formats a key-value pair in a hash pattern. The value is optional.
#
# source://syntax_tree//lib/syntax_tree/node.rb#5993
class SyntaxTree::HshPtn::KeywordFormatter
# @return [KeywordFormatter] a new instance of KeywordFormatter
#
# source://syntax_tree//lib/syntax_tree/node.rb#6000
def initialize(key, value); end
# source://syntax_tree//lib/syntax_tree/node.rb#6005
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#6009
def format(q); end
# [Label] the keyword being used
#
# source://syntax_tree//lib/syntax_tree/node.rb#5995
def key; end
# [Node] the optional value for the keyword
#
# source://syntax_tree//lib/syntax_tree/node.rb#5998
def value; end
end
# Formats the optional double-splat from the pattern.
#
# source://syntax_tree//lib/syntax_tree/node.rb#6020
class SyntaxTree::HshPtn::KeywordRestFormatter
# @return [KeywordRestFormatter] a new instance of KeywordRestFormatter
#
# source://syntax_tree//lib/syntax_tree/node.rb#6024
def initialize(keyword_rest); end
# source://syntax_tree//lib/syntax_tree/node.rb#6028
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#6032
def format(q); end
# [VarField] the parameter that matches the remaining keywords
#
# source://syntax_tree//lib/syntax_tree/node.rb#6022
def keyword_rest; end
end
# IVar represents an instance variable literal.
#
# @variable
#
# source://syntax_tree//lib/syntax_tree/node.rb#6875
class SyntaxTree::IVar < ::SyntaxTree::Node
# @return [IVar] a new instance of IVar
#
# source://syntax_tree//lib/syntax_tree/node.rb#6882
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#6917
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#6888
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#6892
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#6880
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#6896
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#6892
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#6909
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#6913
def format(q); end
# [String] the name of the instance variable
#
# source://syntax_tree//lib/syntax_tree/node.rb#6877
def value; end
end
# Ident represents an identifier anywhere in code. It can represent a very
# large number of things, depending on where it is in the syntax tree.
#
# value
#
# source://syntax_tree//lib/syntax_tree/node.rb#6178
class SyntaxTree::Ident < ::SyntaxTree::Node
# @return [Ident] a new instance of Ident
#
# source://syntax_tree//lib/syntax_tree/node.rb#6185
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#6220
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#6191
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#6195
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#6183
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#6199
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#6195
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#6212
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#6216
def format(q); end
# [String] the value of the identifier
#
# source://syntax_tree//lib/syntax_tree/node.rb#6180
def value; end
end
# If represents the first clause in an +if+ chain.
#
# if predicate
# end
#
# source://syntax_tree//lib/syntax_tree/node.rb#6468
class SyntaxTree::IfNode < ::SyntaxTree::Node
# @return [IfNode] a new instance of IfNode
#
# source://syntax_tree//lib/syntax_tree/node.rb#6481
def initialize(predicate:, statements:, consequent:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#6526
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#6489
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#6493
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#6479
def comments; end
# [nil | Elsif | Else] the next clause in the chain
#
# source://syntax_tree//lib/syntax_tree/node.rb#6476
def consequent; end
# source://syntax_tree//lib/syntax_tree/node.rb#6497
def copy(predicate: T.unsafe(nil), statements: T.unsafe(nil), consequent: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#6493
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#6512
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#6522
def format(q); end
# Checks if the node was originally found in the modifier form.
#
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#6532
def modifier?; end
# [Node] the expression to be checked
#
# source://syntax_tree//lib/syntax_tree/node.rb#6470
def predicate; end
# [Statements] the expressions to be executed
#
# source://syntax_tree//lib/syntax_tree/node.rb#6473
def statements; end
end
# IfOp represents a ternary clause.
#
# predicate ? truthy : falsy
#
# source://syntax_tree//lib/syntax_tree/node.rb#6541
class SyntaxTree::IfOp < ::SyntaxTree::Node
# @return [IfOp] a new instance of IfOp
#
# source://syntax_tree//lib/syntax_tree/node.rb#6554
def initialize(predicate:, truthy:, falsy:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#6628
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#6562
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#6566
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#6552
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#6570
def copy(predicate: T.unsafe(nil), truthy: T.unsafe(nil), falsy: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#6566
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#6585
def deconstruct_keys(_keys); end
# [Node] the expression to be executed if the predicate is falsy
#
# source://syntax_tree//lib/syntax_tree/node.rb#6549
def falsy; end
# source://syntax_tree//lib/syntax_tree/node.rb#6595
def format(q); end
# [Node] the expression to be checked
#
# source://syntax_tree//lib/syntax_tree/node.rb#6543
def predicate; end
# [Node] the expression to be executed if the predicate is truthy
#
# source://syntax_tree//lib/syntax_tree/node.rb#6546
def truthy; end
private
# source://syntax_tree//lib/syntax_tree/node.rb#6635
def format_break(q); end
# source://syntax_tree//lib/syntax_tree/node.rb#6658
def format_flat(q); end
end
# Imaginary represents an imaginary number literal.
#
# 1i
#
# source://syntax_tree//lib/syntax_tree/node.rb#6677
class SyntaxTree::Imaginary < ::SyntaxTree::Node
# @return [Imaginary] a new instance of Imaginary
#
# source://syntax_tree//lib/syntax_tree/node.rb#6684
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#6719
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#6690
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#6694
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#6682
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#6698
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#6694
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#6711
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#6715
def format(q); end
# [String] the value of the imaginary number literal
#
# source://syntax_tree//lib/syntax_tree/node.rb#6679
def value; end
end
# In represents using the +in+ keyword within the Ruby 2.7+ pattern matching
# syntax.
#
# case value
# in pattern
# end
#
# source://syntax_tree//lib/syntax_tree/node.rb#6731
class SyntaxTree::In < ::SyntaxTree::Node
# @return [In] a new instance of In
#
# source://syntax_tree//lib/syntax_tree/node.rb#6744
def initialize(pattern:, statements:, consequent:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#6809
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#6752
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#6756
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#6742
def comments; end
# [nil | In | Else] the next clause in the chain
#
# source://syntax_tree//lib/syntax_tree/node.rb#6739
def consequent; end
# source://syntax_tree//lib/syntax_tree/node.rb#6760
def copy(pattern: T.unsafe(nil), statements: T.unsafe(nil), consequent: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#6756
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#6775
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#6785
def format(q); end
# [Node] the pattern to check against
#
# source://syntax_tree//lib/syntax_tree/node.rb#6733
def pattern; end
# [Statements] the expressions to execute if the pattern matched
#
# source://syntax_tree//lib/syntax_tree/node.rb#6736
def statements; end
end
# This class can be used to build an index of the structure of Ruby files. We
# define an index as the list of constants and methods defined within a file.
#
# This index strives to be as fast as possible to better support tools like
# IDEs. Because of that, it has different backends depending on what
# functionality is available.
#
# source://syntax_tree//lib/syntax_tree/index.rb#10
module SyntaxTree::Index
class << self
# This method accepts source code and then indexes it.
#
# source://syntax_tree//lib/syntax_tree/index.rb#674
def index(source, backend: T.unsafe(nil)); end
# This method accepts a filepath and then indexes it.
#
# source://syntax_tree//lib/syntax_tree/index.rb#679
def index_file(filepath, backend: T.unsafe(nil)); end
end
end
# This entry represents a method definition that was created using the alias
# keyword.
#
# source://syntax_tree//lib/syntax_tree/index.rb#85
class SyntaxTree::Index::AliasMethodDefinition
# @return [AliasMethodDefinition] a new instance of AliasMethodDefinition
#
# source://syntax_tree//lib/syntax_tree/index.rb#88
def initialize(nesting, name, location, comments); end
# Returns the value of attribute comments.
#
# source://syntax_tree//lib/syntax_tree/index.rb#86
def comments; end
# Returns the value of attribute location.
#
# source://syntax_tree//lib/syntax_tree/index.rb#86
def location; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/index.rb#86
def name; end
# Returns the value of attribute nesting.
#
# source://syntax_tree//lib/syntax_tree/index.rb#86
def nesting; end
end
# This entry represents a class definition using the class keyword.
#
# source://syntax_tree//lib/syntax_tree/index.rb#22
class SyntaxTree::Index::ClassDefinition
# @return [ClassDefinition] a new instance of ClassDefinition
#
# source://syntax_tree//lib/syntax_tree/index.rb#25
def initialize(nesting, name, superclass, location, comments); end
# Returns the value of attribute comments.
#
# source://syntax_tree//lib/syntax_tree/index.rb#23
def comments; end
# Returns the value of attribute location.
#
# source://syntax_tree//lib/syntax_tree/index.rb#23
def location; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/index.rb#23
def name; end
# Returns the value of attribute nesting.
#
# source://syntax_tree//lib/syntax_tree/index.rb#23
def nesting; end
# Returns the value of attribute superclass.
#
# source://syntax_tree//lib/syntax_tree/index.rb#23
def superclass; end
end
# This entry represents a constant assignment.
#
# source://syntax_tree//lib/syntax_tree/index.rb#35
class SyntaxTree::Index::ConstantDefinition
# @return [ConstantDefinition] a new instance of ConstantDefinition
#
# source://syntax_tree//lib/syntax_tree/index.rb#38
def initialize(nesting, name, location, comments); end
# Returns the value of attribute comments.
#
# source://syntax_tree//lib/syntax_tree/index.rb#36
def comments; end
# Returns the value of attribute location.
#
# source://syntax_tree//lib/syntax_tree/index.rb#36
def location; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/index.rb#36
def name; end
# Returns the value of attribute nesting.
#
# source://syntax_tree//lib/syntax_tree/index.rb#36
def nesting; end
end
# This class handles parsing comments from Ruby source code in the case that
# we use the instruction sequence backend. Because the instruction sequence
# backend doesn't provide comments (since they are dropped) we provide this
# interface to lazily parse them out.
#
# source://syntax_tree//lib/syntax_tree/index.rb#152
class SyntaxTree::Index::EntryComments
include ::Enumerable
# @return [EntryComments] a new instance of EntryComments
#
# source://syntax_tree//lib/syntax_tree/index.rb#156
def initialize(file_comments, location); end
# source://syntax_tree//lib/syntax_tree/index.rb#161
def each(&block); end
# Returns the value of attribute file_comments.
#
# source://syntax_tree//lib/syntax_tree/index.rb#154
def file_comments; end
# Returns the value of attribute location.
#
# source://syntax_tree//lib/syntax_tree/index.rb#154
def location; end
end
# When you're using the instruction sequence backend, this class is used to
# lazily parse comments out of the source code.
#
# source://syntax_tree//lib/syntax_tree/index.rb#98
class SyntaxTree::Index::FileComments
# @return [FileComments] a new instance of FileComments
#
# source://syntax_tree//lib/syntax_tree/index.rb#139
def initialize(source); end
# source://syntax_tree//lib/syntax_tree/index.rb#143
def comments; end
# Returns the value of attribute source.
#
# source://syntax_tree//lib/syntax_tree/index.rb#137
def source; end
end
# This represents the Ruby source in the form of a file. When it needs to
# be read we'll read the file.
#
# source://syntax_tree//lib/syntax_tree/index.rb#115
class SyntaxTree::Index::FileComments::FileSource
# @return [FileSource] a new instance of FileSource
#
# source://syntax_tree//lib/syntax_tree/index.rb#118
def initialize(filepath); end
# Returns the value of attribute filepath.
#
# source://syntax_tree//lib/syntax_tree/index.rb#116
def filepath; end
# source://syntax_tree//lib/syntax_tree/index.rb#122
def source; end
end
# We use the ripper library to pull out source comments.
#
# source://syntax_tree//lib/syntax_tree/index.rb#100
class SyntaxTree::Index::FileComments::Parser < ::Ripper
# @return [Parser] a new instance of Parser
#
# source://syntax_tree//lib/syntax_tree/index.rb#103
def initialize(*_arg0); end
# Returns the value of attribute comments.
#
# source://syntax_tree//lib/syntax_tree/index.rb#101
def comments; end
# source://syntax_tree//lib/syntax_tree/index.rb#108
def on_comment(value); end
end
# This represents the Ruby source in the form of a string. When it needs
# to be read the string is returned.
#
# source://syntax_tree//lib/syntax_tree/index.rb#129
class SyntaxTree::Index::FileComments::StringSource
# @return [StringSource] a new instance of StringSource
#
# source://syntax_tree//lib/syntax_tree/index.rb#132
def initialize(source); end
# Returns the value of attribute source.
#
# source://syntax_tree//lib/syntax_tree/index.rb#130
def source; end
end
# The class defined here is used to perform the indexing, depending on what
# functionality is available from the runtime.
#
# source://syntax_tree//lib/syntax_tree/index.rb#670
SyntaxTree::Index::INDEX_BACKEND = SyntaxTree::Index::ISeqBackend
# This backend creates the index using RubyVM::InstructionSequence, which is
# faster than using the Syntax Tree parser, but is not available on all
# runtimes.
#
# source://syntax_tree//lib/syntax_tree/index.rb#177
class SyntaxTree::Index::ISeqBackend
# source://syntax_tree//lib/syntax_tree/index.rb#184
def index(source); end
# source://syntax_tree//lib/syntax_tree/index.rb#191
def index_file(filepath); end
private
# source://syntax_tree//lib/syntax_tree/index.rb#242
def find_attr_arguments(insns, index); end
# source://syntax_tree//lib/syntax_tree/index.rb#205
def find_constant_path(insns, index); end
# source://syntax_tree//lib/syntax_tree/index.rb#273
def index_iseq(iseq, file_comments); end
# source://syntax_tree//lib/syntax_tree/index.rb#200
def location_for(iseq); end
# source://syntax_tree//lib/syntax_tree/index.rb#258
def method_definition(nesting, name, location, file_comments); end
end
# source://syntax_tree//lib/syntax_tree/index.rb#182
SyntaxTree::Index::ISeqBackend::VM_DEFINECLASS_FLAG_HAS_SUPERCLASS = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/index.rb#181
SyntaxTree::Index::ISeqBackend::VM_DEFINECLASS_FLAG_SCOPED = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/index.rb#178
SyntaxTree::Index::ISeqBackend::VM_DEFINECLASS_TYPE_CLASS = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/index.rb#180
SyntaxTree::Index::ISeqBackend::VM_DEFINECLASS_TYPE_MODULE = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/index.rb#179
SyntaxTree::Index::ISeqBackend::VM_DEFINECLASS_TYPE_SINGLETON_CLASS = T.let(T.unsafe(nil), Integer)
# This is a location for an index entry.
#
# source://syntax_tree//lib/syntax_tree/index.rb#12
class SyntaxTree::Index::Location
# @return [Location] a new instance of Location
#
# source://syntax_tree//lib/syntax_tree/index.rb#15
def initialize(line, column); end
# Returns the value of attribute column.
#
# source://syntax_tree//lib/syntax_tree/index.rb#13
def column; end
# Returns the value of attribute line.
#
# source://syntax_tree//lib/syntax_tree/index.rb#13
def line; end
end
# This entry represents a method definition using the def keyword.
#
# source://syntax_tree//lib/syntax_tree/index.rb#59
class SyntaxTree::Index::MethodDefinition
# @return [MethodDefinition] a new instance of MethodDefinition
#
# source://syntax_tree//lib/syntax_tree/index.rb#62
def initialize(nesting, name, location, comments); end
# Returns the value of attribute comments.
#
# source://syntax_tree//lib/syntax_tree/index.rb#60
def comments; end
# Returns the value of attribute location.
#
# source://syntax_tree//lib/syntax_tree/index.rb#60
def location; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/index.rb#60
def name; end
# Returns the value of attribute nesting.
#
# source://syntax_tree//lib/syntax_tree/index.rb#60
def nesting; end
end
# This entry represents a module definition using the module keyword.
#
# source://syntax_tree//lib/syntax_tree/index.rb#47
class SyntaxTree::Index::ModuleDefinition
# @return [ModuleDefinition] a new instance of ModuleDefinition
#
# source://syntax_tree//lib/syntax_tree/index.rb#50
def initialize(nesting, name, location, comments); end
# Returns the value of attribute comments.
#
# source://syntax_tree//lib/syntax_tree/index.rb#48
def comments; end
# Returns the value of attribute location.
#
# source://syntax_tree//lib/syntax_tree/index.rb#48
def location; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/index.rb#48
def name; end
# Returns the value of attribute nesting.
#
# source://syntax_tree//lib/syntax_tree/index.rb#48
def nesting; end
end
# This backend creates the index using the Syntax Tree parser and a visitor.
# It is not as fast as using the instruction sequences directly, but is
# supported on all runtimes.
#
# source://syntax_tree//lib/syntax_tree/index.rb#452
class SyntaxTree::Index::ParserBackend
# source://syntax_tree//lib/syntax_tree/index.rb#659
def index(source); end
# source://syntax_tree//lib/syntax_tree/index.rb#663
def index_file(filepath); end
end
# source://syntax_tree//lib/syntax_tree/index.rb#453
class SyntaxTree::Index::ParserBackend::ConstantNameVisitor < ::SyntaxTree::Visitor
# source://syntax_tree//lib/syntax_tree/index.rb#458
def visit_const_path_ref(node); end
# source://syntax_tree//lib/syntax_tree/index.rb#454
def visit_const_ref(node); end
# source://syntax_tree//lib/syntax_tree/index.rb#462
def visit_var_ref(node); end
end
# source://syntax_tree//lib/syntax_tree/index.rb#467
class SyntaxTree::Index::ParserBackend::IndexVisitor < ::SyntaxTree::Visitor
# @return [IndexVisitor] a new instance of IndexVisitor
#
# source://syntax_tree//lib/syntax_tree/index.rb#470
def initialize; end
# Returns the value of attribute nesting.
#
# source://syntax_tree//lib/syntax_tree/index.rb#468
def nesting; end
# Returns the value of attribute results.
#
# source://syntax_tree//lib/syntax_tree/index.rb#468
def results; end
# Returns the value of attribute statements.
#
# source://syntax_tree//lib/syntax_tree/index.rb#468
def statements; end
# source://syntax_tree//lib/syntax_tree/index.rb#477
def visit_alias(node); end
# source://syntax_tree//lib/syntax_tree/index.rb#496
def visit_assign(node); end
# source://syntax_tree//lib/syntax_tree/index.rb#515
def visit_class(node); end
# source://syntax_tree//lib/syntax_tree/index.rb#547
def visit_command(node); end
# source://syntax_tree//lib/syntax_tree/index.rb#584
def visit_def(node); end
# source://syntax_tree//lib/syntax_tree/index.rb#608
def visit_module(node); end
# source://syntax_tree//lib/syntax_tree/index.rb#626
def visit_program(node); end
# source://syntax_tree//lib/syntax_tree/index.rb#631
def visit_statements(node); end
private
# source://syntax_tree//lib/syntax_tree/index.rb#639
def comments_for(node); end
end
# This entry represents a singleton method definition using the def keyword
# with a specified target.
#
# source://syntax_tree//lib/syntax_tree/index.rb#72
class SyntaxTree::Index::SingletonMethodDefinition
# @return [SingletonMethodDefinition] a new instance of SingletonMethodDefinition
#
# source://syntax_tree//lib/syntax_tree/index.rb#75
def initialize(nesting, name, location, comments); end
# Returns the value of attribute comments.
#
# source://syntax_tree//lib/syntax_tree/index.rb#73
def comments; end
# Returns the value of attribute location.
#
# source://syntax_tree//lib/syntax_tree/index.rb#73
def location; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/index.rb#73
def name; end
# Returns the value of attribute nesting.
#
# source://syntax_tree//lib/syntax_tree/index.rb#73
def nesting; end
end
# Int represents an integer number literal.
#
# 1
#
# source://syntax_tree//lib/syntax_tree/node.rb#6819
class SyntaxTree::Int < ::SyntaxTree::Node
# @return [Int] a new instance of Int
#
# source://syntax_tree//lib/syntax_tree/node.rb#6826
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#6866
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#6832
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#6836
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#6824
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#6840
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#6836
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#6850
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#6854
def format(q); end
# [String] the value of the integer
#
# source://syntax_tree//lib/syntax_tree/node.rb#6821
def value; end
end
# This visitor transforms the AST into a hash that contains only primitives
# that can be easily serialized into JSON.
#
# source://syntax_tree//lib/syntax_tree/json_visitor.rb#8
class SyntaxTree::JSONVisitor < ::SyntaxTree::FieldVisitor
# @return [JSONVisitor] a new instance of JSONVisitor
#
# source://syntax_tree//lib/syntax_tree/json_visitor.rb#11
def initialize; end
# Returns the value of attribute target.
#
# source://syntax_tree//lib/syntax_tree/json_visitor.rb#9
def target; end
private
# source://syntax_tree//lib/syntax_tree/json_visitor.rb#17
def comments(node); end
# source://syntax_tree//lib/syntax_tree/json_visitor.rb#21
def field(name, value); end
# source://syntax_tree//lib/syntax_tree/json_visitor.rb#25
def list(name, values); end
# source://syntax_tree//lib/syntax_tree/json_visitor.rb#29
def node(node, type); end
# source://syntax_tree//lib/syntax_tree/json_visitor.rb#38
def pairs(name, values); end
# source://syntax_tree//lib/syntax_tree/json_visitor.rb#42
def text(name, value); end
# source://syntax_tree//lib/syntax_tree/json_visitor.rb#46
def visit_location(location); end
end
# Kw represents the use of a keyword. It can be almost anywhere in the syntax
# tree, so you end up seeing it quite a lot.
#
# if value
# end
#
# In the above example, there would be two Kw nodes: one for the if and one
# for the end. Note that anything that matches the list of keywords in Ruby
# will use a Kw, so if you use a keyword in a symbol literal for instance:
#
# :if
#
# then the contents of the symbol node will contain a Kw node.
#
# source://syntax_tree//lib/syntax_tree/node.rb#6935
class SyntaxTree::Kw < ::SyntaxTree::Node
# @return [Kw] a new instance of Kw
#
# source://syntax_tree//lib/syntax_tree/node.rb#6945
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#6978
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#6952
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#6956
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#6943
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#6960
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#6956
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#6970
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#6974
def format(q); end
# [Symbol] the symbol version of the value
#
# source://syntax_tree//lib/syntax_tree/node.rb#6940
def name; end
# [String] the value of the keyword
#
# source://syntax_tree//lib/syntax_tree/node.rb#6937
def value; end
end
# KwRestParam represents defining a parameter in a method definition that
# accepts all remaining keyword parameters.
#
# def method(**kwargs) end
#
# source://syntax_tree//lib/syntax_tree/node.rb#6988
class SyntaxTree::KwRestParam < ::SyntaxTree::Node
# @return [KwRestParam] a new instance of KwRestParam
#
# source://syntax_tree//lib/syntax_tree/node.rb#6995
def initialize(name:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#7031
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#7001
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#7005
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#6993
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#7009
def copy(name: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#7005
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#7022
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#7026
def format(q); end
# [nil | Ident] the name of the parameter
#
# source://syntax_tree//lib/syntax_tree/node.rb#6990
def name; end
end
# LBrace represents the use of a left brace, i.e., {.
#
# source://syntax_tree//lib/syntax_tree/node.rb#7332
class SyntaxTree::LBrace < ::SyntaxTree::Node
# @return [LBrace] a new instance of LBrace
#
# source://syntax_tree//lib/syntax_tree/node.rb#7339
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#7374
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#7345
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#7349
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#7337
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#7353
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#7349
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#7366
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#7370
def format(q); end
# [String] the left brace
#
# source://syntax_tree//lib/syntax_tree/node.rb#7334
def value; end
class << self
# Because some nodes keep around a { token so that comments can be attached
# to it if they occur in the source, oftentimes an LBrace is a child of
# another node. This means it's required at initialization time. To make it
# easier to create LBrace nodes without any specific value, this method
# provides a default node.
#
# source://syntax_tree//lib/syntax_tree/node.rb#7383
def default; end
end
end
# LBracket represents the use of a left bracket, i.e., [.
#
# source://syntax_tree//lib/syntax_tree/node.rb#7389
class SyntaxTree::LBracket < ::SyntaxTree::Node
# @return [LBracket] a new instance of LBracket
#
# source://syntax_tree//lib/syntax_tree/node.rb#7396
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#7431
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#7402
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#7406
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#7394
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#7410
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#7406
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#7423
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#7427
def format(q); end
# [String] the left bracket
#
# source://syntax_tree//lib/syntax_tree/node.rb#7391
def value; end
class << self
# Because some nodes keep around a [ token so that comments can be attached
# to it if they occur in the source, oftentimes an LBracket is a child of
# another node. This means it's required at initialization time. To make it
# easier to create LBracket nodes without any specific value, this method
# provides a default node.
#
# source://syntax_tree//lib/syntax_tree/node.rb#7440
def default; end
end
end
# LParen represents the use of a left parenthesis, i.e., (.
#
# source://syntax_tree//lib/syntax_tree/node.rb#7446
class SyntaxTree::LParen < ::SyntaxTree::Node
# @return [LParen] a new instance of LParen
#
# source://syntax_tree//lib/syntax_tree/node.rb#7453
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#7488
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#7459
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#7463
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#7451
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#7467
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#7463
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#7480
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#7484
def format(q); end
# [String] the left parenthesis
#
# source://syntax_tree//lib/syntax_tree/node.rb#7448
def value; end
class << self
# Because some nodes keep around a ( token so that comments can be attached
# to it if they occur in the source, oftentimes an LParen is a child of
# another node. This means it's required at initialization time. To make it
# easier to create LParen nodes without any specific value, this method
# provides a default node.
#
# source://syntax_tree//lib/syntax_tree/node.rb#7497
def default; end
end
end
# Label represents the use of an identifier to associate with an object. You
# can find it in a hash key, as in:
#
# { key: value }
#
# In this case "key:" would be the body of the label. You can also find it in
# pattern matching, as in:
#
# case value
# in key:
# end
#
# In this case "key:" would be the body of the label.
#
# source://syntax_tree//lib/syntax_tree/node.rb#7049
class SyntaxTree::Label < ::SyntaxTree::Node
# @return [Label] a new instance of Label
#
# source://syntax_tree//lib/syntax_tree/node.rb#7056
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#7091
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#7062
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#7066
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#7054
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#7070
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#7066
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#7083
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#7087
def format(q); end
# [String] the value of the label
#
# source://syntax_tree//lib/syntax_tree/node.rb#7051
def value; end
end
# LabelEnd represents the end of a dynamic symbol.
#
# { "key": value }
#
# In the example above, LabelEnd represents the "\":" token at the end of the
# hash key. This node is important for determining the type of quote being
# used by the label.
#
# source://syntax_tree//lib/syntax_tree/node.rb#7103
class SyntaxTree::LabelEnd < ::SyntaxTree::Node
# @return [LabelEnd] a new instance of LabelEnd
#
# source://syntax_tree//lib/syntax_tree/node.rb#7107
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#7133
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#7112
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#7116
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#7120
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#7116
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#7129
def deconstruct_keys(_keys); end
# [String] the end of the label
#
# source://syntax_tree//lib/syntax_tree/node.rb#7105
def value; end
end
# Lambda represents using a lambda literal (not the lambda method call).
#
# ->(value) { value * 2 }
#
# source://syntax_tree//lib/syntax_tree/node.rb#7142
class SyntaxTree::Lambda < ::SyntaxTree::Node
# @return [Lambda] a new instance of Lambda
#
# source://syntax_tree//lib/syntax_tree/node.rb#7152
def initialize(params:, statements:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#7255
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#7159
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#7163
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#7150
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#7167
def copy(params: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#7163
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#7181
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#7190
def format(q); end
# [LambdaVar | Paren] the parameter declaration for this lambda
#
# source://syntax_tree//lib/syntax_tree/node.rb#7144
def params; end
# [BodyStmt | Statements] the expressions to be executed in this lambda
#
# source://syntax_tree//lib/syntax_tree/node.rb#7147
def statements; end
end
# LambdaVar represents the parameters being declared for a lambda. Effectively
# this node is everything contained within the parentheses. This includes all
# of the various parameter types, as well as block-local variable
# declarations.
#
# -> (positional, optional = value, keyword:, █ local) do
# end
#
# source://syntax_tree//lib/syntax_tree/node.rb#7269
class SyntaxTree::LambdaVar < ::SyntaxTree::Node
# @return [LambdaVar] a new instance of LambdaVar
#
# source://syntax_tree//lib/syntax_tree/node.rb#7279
def initialize(params:, locals:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#7325
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#7286
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#7290
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#7277
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#7294
def copy(params: T.unsafe(nil), locals: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#7290
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#7308
def deconstruct_keys(_keys); end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#7312
def empty?; end
# source://syntax_tree//lib/syntax_tree/node.rb#7316
def format(q); end
# [Array[ Ident ]] the list of block-local variable declarations
#
# source://syntax_tree//lib/syntax_tree/node.rb#7274
def locals; end
# [Params] the parameters being declared with the block
#
# source://syntax_tree//lib/syntax_tree/node.rb#7271
def params; end
end
# Syntax Tree additionally ships with a language server conforming to the
# language server protocol. It can be invoked through the CLI by running:
#
# stree lsp
#
# source://syntax_tree//lib/syntax_tree/language_server.rb#14
class SyntaxTree::LanguageServer
# @return [LanguageServer] a new instance of LanguageServer
#
# source://syntax_tree//lib/syntax_tree/language_server.rb#217
def initialize(input: T.unsafe(nil), output: T.unsafe(nil), print_width: T.unsafe(nil)); end
# Returns the value of attribute input.
#
# source://syntax_tree//lib/syntax_tree/language_server.rb#215
def input; end
# Returns the value of attribute output.
#
# source://syntax_tree//lib/syntax_tree/language_server.rb#215
def output; end
# Returns the value of attribute print_width.
#
# source://syntax_tree//lib/syntax_tree/language_server.rb#215
def print_width; end
# source://syntax_tree//lib/syntax_tree/language_server.rb#228
def run; end
private
# source://syntax_tree//lib/syntax_tree/language_server.rb#280
def capabilities; end
# source://syntax_tree//lib/syntax_tree/language_server.rb#293
def format(source, extension); end
# source://syntax_tree//lib/syntax_tree/language_server.rb#317
def inlay_hints(source); end
# source://syntax_tree//lib/syntax_tree/language_server.rb#333
def log(message); end
# source://syntax_tree//lib/syntax_tree/language_server.rb#327
def write(value); end
end
# This class provides inlay hints for the language server. For more
# information, see the spec here:
# https://github.com/microsoft/language-server-protocol/issues/956.
#
# source://syntax_tree//lib/syntax_tree/language_server.rb#18
class SyntaxTree::LanguageServer::InlayHints < ::SyntaxTree::Visitor
# @return [InlayHints] a new instance of InlayHints
#
# source://syntax_tree//lib/syntax_tree/language_server.rb#43
def initialize; end
# Returns the value of attribute hints.
#
# source://syntax_tree//lib/syntax_tree/language_server.rb#41
def hints; end
# Returns the value of attribute stack.
#
# source://syntax_tree//lib/syntax_tree/language_server.rb#41
def stack; end
# source://syntax_tree//lib/syntax_tree/language_server.rb#48
def visit(node); end
# source://syntax_tree//lib/syntax_tree/language_server.rb#67
def visit_assign(node); end
# source://syntax_tree//lib/syntax_tree/language_server.rb#81
def visit_binary(node); end
# source://syntax_tree//lib/syntax_tree/language_server.rb#102
def visit_if_op(node); end
# source://syntax_tree//lib/syntax_tree/language_server.rb#124
def visit_rescue(node); end
# source://syntax_tree//lib/syntax_tree/language_server.rb#145
def visit_unary(node); end
private
# source://syntax_tree//lib/syntax_tree/language_server.rb#156
def parentheses(location); end
end
# This represents a hint that is going to be displayed in the editor.
#
# source://syntax_tree//lib/syntax_tree/language_server.rb#20
class SyntaxTree::LanguageServer::InlayHints::Hint
# @return [Hint] a new instance of Hint
#
# source://syntax_tree//lib/syntax_tree/language_server.rb#23
def initialize(line:, character:, label:); end
# Returns the value of attribute character.
#
# source://syntax_tree//lib/syntax_tree/language_server.rb#21
def character; end
# Returns the value of attribute label.
#
# source://syntax_tree//lib/syntax_tree/language_server.rb#21
def label; end
# Returns the value of attribute line.
#
# source://syntax_tree//lib/syntax_tree/language_server.rb#21
def line; end
# This is the shape that the LSP expects.
#
# source://syntax_tree//lib/syntax_tree/language_server.rb#30
def to_json(*opts); end
end
# This is a small module that effectively mirrors pattern matching. We're
# using it so that we can support truffleruby without having to ignore the
# language server.
#
# source://syntax_tree//lib/syntax_tree/language_server.rb#174
module SyntaxTree::LanguageServer::Request
class << self
# source://syntax_tree//lib/syntax_tree/language_server.rb#203
def [](value); end
end
end
# Represents a hash pattern.
#
# source://syntax_tree//lib/syntax_tree/language_server.rb#176
class SyntaxTree::LanguageServer::Request::Shape
# @return [Shape] a new instance of Shape
#
# source://syntax_tree//lib/syntax_tree/language_server.rb#179
def initialize(values); end
# source://syntax_tree//lib/syntax_tree/language_server.rb#183
def ===(other); end
# Returns the value of attribute values.
#
# source://syntax_tree//lib/syntax_tree/language_server.rb#177
def values; end
end
# Represents an array pattern.
#
# source://syntax_tree//lib/syntax_tree/language_server.rb#191
class SyntaxTree::LanguageServer::Request::Tuple
# @return [Tuple] a new instance of Tuple
#
# source://syntax_tree//lib/syntax_tree/language_server.rb#194
def initialize(values); end
# source://syntax_tree//lib/syntax_tree/language_server.rb#198
def ===(other); end
# Returns the value of attribute values.
#
# source://syntax_tree//lib/syntax_tree/language_server.rb#192
def values; end
end
# Represents the location of a node in the tree from the source code.
#
# source://syntax_tree//lib/syntax_tree/node.rb#5
class SyntaxTree::Location
# @return [Location] a new instance of Location
#
# source://syntax_tree//lib/syntax_tree/node.rb#13
def initialize(start_line:, start_char:, start_column:, end_line:, end_char:, end_column:); end
# source://syntax_tree//lib/syntax_tree/node.rb#33
def ==(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#50
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#54
def deconstruct_keys(_keys); end
# Returns the value of attribute end_char.
#
# source://syntax_tree//lib/syntax_tree/node.rb#6
def end_char; end
# Returns the value of attribute end_column.
#
# source://syntax_tree//lib/syntax_tree/node.rb#6
def end_column; end
# Returns the value of attribute end_line.
#
# source://syntax_tree//lib/syntax_tree/node.rb#6
def end_line; end
# source://syntax_tree//lib/syntax_tree/node.rb#29
def lines; end
# Returns the value of attribute start_char.
#
# source://syntax_tree//lib/syntax_tree/node.rb#6
def start_char; end
# Returns the value of attribute start_column.
#
# source://syntax_tree//lib/syntax_tree/node.rb#6
def start_column; end
# Returns the value of attribute start_line.
#
# source://syntax_tree//lib/syntax_tree/node.rb#6
def start_line; end
# source://syntax_tree//lib/syntax_tree/node.rb#39
def to(other); end
class << self
# A convenience method that is typically used when you don't care about the
# location of a node, but need to create a Location instance to pass to a
# constructor.
#
# source://syntax_tree//lib/syntax_tree/node.rb#90
def default; end
# source://syntax_tree//lib/syntax_tree/node.rb#76
def fixed(line:, char:, column:); end
# source://syntax_tree//lib/syntax_tree/node.rb#65
def token(line:, char:, column:, size:); end
end
end
# Formats an Until or While node.
#
# source://syntax_tree//lib/syntax_tree/node.rb#11394
class SyntaxTree::LoopFormatter
# @return [LoopFormatter] a new instance of LoopFormatter
#
# source://syntax_tree//lib/syntax_tree/node.rb#11401
def initialize(keyword, node); end
# source://syntax_tree//lib/syntax_tree/node.rb#11406
def format(q); end
# [String] the name of the keyword used for this loop
#
# source://syntax_tree//lib/syntax_tree/node.rb#11396
def keyword; end
# [Until | While] the node that is being formatted
#
# source://syntax_tree//lib/syntax_tree/node.rb#11399
def node; end
private
# source://syntax_tree//lib/syntax_tree/node.rb#11453
def format_break(q); end
end
# MAssign is a parent node of any kind of multiple assignment. This includes
# splitting out variables on the left like:
#
# first, second, third = value
#
# as well as splitting out variables on the right, as in:
#
# value = first, second, third
#
# Both sides support splats, as well as variables following them. There's also
# destructuring behavior that you can achieve with the following:
#
# first, = value
#
# source://syntax_tree//lib/syntax_tree/node.rb#7516
class SyntaxTree::MAssign < ::SyntaxTree::Node
# @return [MAssign] a new instance of MAssign
#
# source://syntax_tree//lib/syntax_tree/node.rb#7526
def initialize(target:, value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#7570
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#7533
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#7537
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#7524
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#7541
def copy(target: T.unsafe(nil), value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#7537
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#7555
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#7559
def format(q); end
# [MLHS | MLHSParen] the target of the multiple assignment
#
# source://syntax_tree//lib/syntax_tree/node.rb#7518
def target; end
# [Node] the value being assigned
#
# source://syntax_tree//lib/syntax_tree/node.rb#7521
def value; end
end
# MLHS represents a list of values being destructured on the left-hand side
# of a multiple assignment.
#
# first, second, third = value
#
# source://syntax_tree//lib/syntax_tree/node.rb#7654
class SyntaxTree::MLHS < ::SyntaxTree::Node
# @return [MLHS] a new instance of MLHS
#
# source://syntax_tree//lib/syntax_tree/node.rb#7671
def initialize(parts:, location:, comma: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#7709
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#7678
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#7682
def child_nodes; end
# [boolean] whether or not there is a trailing comma at the end of this
# list, which impacts destructuring. It's an attr_accessor so that while
# the syntax tree is being built it can be set by its parent node
#
# source://syntax_tree//lib/syntax_tree/node.rb#7666
def comma; end
# [boolean] whether or not there is a trailing comma at the end of this
# list, which impacts destructuring. It's an attr_accessor so that while
# the syntax tree is being built it can be set by its parent node
#
# source://syntax_tree//lib/syntax_tree/node.rb#7666
def comma=(_arg0); end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#7669
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#7686
def copy(parts: T.unsafe(nil), location: T.unsafe(nil), comma: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#7682
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#7700
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#7704
def format(q); end
# [
# Array[
# ARefField | ArgStar | ConstPathField | Field | Ident | MLHSParen |
# TopConstField | VarField
# ]
# ] the parts of the left-hand side of a multiple assignment
#
# source://syntax_tree//lib/syntax_tree/node.rb#7661
def parts; end
end
# MLHSParen represents parentheses being used to destruct values in a multiple
# assignment on the left hand side.
#
# (left, right) = value
#
# source://syntax_tree//lib/syntax_tree/node.rb#7720
class SyntaxTree::MLHSParen < ::SyntaxTree::Node
# @return [MLHSParen] a new instance of MLHSParen
#
# source://syntax_tree//lib/syntax_tree/node.rb#7732
def initialize(contents:, location:, comma: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#7785
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#7739
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#7743
def child_nodes; end
# [boolean] whether or not there is a trailing comma at the end of this
# list, which impacts destructuring. It's an attr_accessor so that while
# the syntax tree is being built it can be set by its parent node
#
# source://syntax_tree//lib/syntax_tree/node.rb#7727
def comma; end
# [boolean] whether or not there is a trailing comma at the end of this
# list, which impacts destructuring. It's an attr_accessor so that while
# the syntax tree is being built it can be set by its parent node
#
# source://syntax_tree//lib/syntax_tree/node.rb#7727
def comma=(_arg0); end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#7730
def comments; end
# [MLHS | MLHSParen] the contents inside of the parentheses
#
# source://syntax_tree//lib/syntax_tree/node.rb#7722
def contents; end
# source://syntax_tree//lib/syntax_tree/node.rb#7747
def copy(contents: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#7743
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#7760
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#7764
def format(q); end
end
# MRHS represents the values that are being assigned on the right-hand side of
# a multiple assignment.
#
# values = first, second, third
#
# source://syntax_tree//lib/syntax_tree/node.rb#7885
class SyntaxTree::MRHS < ::SyntaxTree::Node
# @return [MRHS] a new instance of MRHS
#
# source://syntax_tree//lib/syntax_tree/node.rb#7892
def initialize(parts:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#7927
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#7898
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#7902
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#7890
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#7906
def copy(parts: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#7902
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#7919
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#7923
def format(q); end
# [Array[Node]] the parts that are being assigned
#
# source://syntax_tree//lib/syntax_tree/node.rb#7887
def parts; end
end
# This visitor transforms the AST into a Ruby pattern matching expression that
# would match correctly against the AST.
#
# source://syntax_tree//lib/syntax_tree/match_visitor.rb#6
class SyntaxTree::MatchVisitor < ::SyntaxTree::FieldVisitor
# @return [MatchVisitor] a new instance of MatchVisitor
#
# source://syntax_tree//lib/syntax_tree/match_visitor.rb#9
def initialize(q); end
# Returns the value of attribute q.
#
# source://syntax_tree//lib/syntax_tree/match_visitor.rb#7
def q; end
# source://syntax_tree//lib/syntax_tree/match_visitor.rb#13
def visit(node); end
private
# source://syntax_tree//lib/syntax_tree/match_visitor.rb#30
def comments(node); end
# source://syntax_tree//lib/syntax_tree/match_visitor.rb#44
def field(name, value); end
# source://syntax_tree//lib/syntax_tree/match_visitor.rb#52
def list(name, values); end
# source://syntax_tree//lib/syntax_tree/match_visitor.rb#65
def node(node, _type); end
# source://syntax_tree//lib/syntax_tree/match_visitor.rb#86
def pairs(name, values); end
# source://syntax_tree//lib/syntax_tree/match_visitor.rb#112
def text(name, value); end
end
# This module is responsible for rendering mermaid (https://mermaid.js.org/)
# flow charts.
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#9
module SyntaxTree::Mermaid
class << self
# Escape a label to be used in the mermaid syntax. This is used to escape
# HTML entities such that they render properly within the quotes.
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#158
def escape(label); end
# Create a new flowchart. If a block is given, it will be yielded to and
# the flowchart will be rendered. Otherwise, the flowchart will be
# returned.
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#165
def flowchart; end
end
end
# This is the main class that handles rendering a flowchart. It keeps track
# of its nodes and links and renders them according to the mermaid syntax.
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#12
class SyntaxTree::Mermaid::FlowChart
# @return [FlowChart] a new instance of FlowChart
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#15
def initialize; end
# Retrieve a node that has already been added to the flowchart by its id.
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#25
def fetch(id); end
# Add a link to the flowchart between two nodes with an optional label.
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#30
def link(from, to, label = T.unsafe(nil), type: T.unsafe(nil), color: T.unsafe(nil)); end
# Returns the value of attribute links.
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#13
def links; end
# Add a node to the flowchart with an optional label.
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#39
def node(id, label = T.unsafe(nil), shape: T.unsafe(nil)); end
# Returns the value of attribute nodes.
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#13
def nodes; end
# Returns the value of attribute output.
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#13
def output; end
# Returns the value of attribute prefix.
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#13
def prefix; end
# Return the rendered flowchart.
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#64
def render; end
# Add a subgraph to the flowchart. Within the given block, all of the
# nodes will be rendered within the subgraph.
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#49
def subgraph(label); end
end
# This class represents a link between two nodes in a flowchart. It is not
# meant to be interacted with directly, but rather used as a data structure
# by the FlowChart class.
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#78
class SyntaxTree::Mermaid::Link
# @return [Link] a new instance of Link
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#84
def initialize(from, to, label, type, color); end
# Returns the value of attribute color.
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#82
def color; end
# Returns the value of attribute from.
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#82
def from; end
# Returns the value of attribute label.
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#82
def label; end
# source://syntax_tree//lib/syntax_tree/mermaid.rb#95
def render; end
# Returns the value of attribute to.
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#82
def to; end
# Returns the value of attribute type.
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#82
def type; end
private
# source://syntax_tree//lib/syntax_tree/mermaid.rb#108
def sides; end
end
# source://syntax_tree//lib/syntax_tree/mermaid.rb#80
SyntaxTree::Mermaid::Link::COLORS = T.let(T.unsafe(nil), Array)
# source://syntax_tree//lib/syntax_tree/mermaid.rb#79
SyntaxTree::Mermaid::Link::TYPES = T.let(T.unsafe(nil), Array)
# This class represents a node in a flowchart. Unlike the Link class, it can
# be used directly. It is the return value of the #node method, and is meant
# to be passed around to #link methods to create links between nodes.
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#121
class SyntaxTree::Mermaid::Node
# @return [Node] a new instance of Node
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#126
def initialize(id, label, shape); end
# Returns the value of attribute id.
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#124
def id; end
# Returns the value of attribute label.
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#124
def label; end
# source://syntax_tree//lib/syntax_tree/mermaid.rb#134
def render; end
# Returns the value of attribute shape.
#
# source://syntax_tree//lib/syntax_tree/mermaid.rb#124
def shape; end
private
# source://syntax_tree//lib/syntax_tree/mermaid.rb#141
def bounds; end
end
# source://syntax_tree//lib/syntax_tree/mermaid.rb#122
SyntaxTree::Mermaid::Node::SHAPES = T.let(T.unsafe(nil), Array)
# This visitor transforms the AST into a mermaid flow chart.
#
# source://syntax_tree//lib/syntax_tree/mermaid_visitor.rb#5
class SyntaxTree::MermaidVisitor < ::SyntaxTree::FieldVisitor
# @return [MermaidVisitor] a new instance of MermaidVisitor
#
# source://syntax_tree//lib/syntax_tree/mermaid_visitor.rb#8
def initialize; end
# Returns the value of attribute flowchart.
#
# source://syntax_tree//lib/syntax_tree/mermaid_visitor.rb#6
def flowchart; end
# Returns the value of attribute target.
#
# source://syntax_tree//lib/syntax_tree/mermaid_visitor.rb#6
def target; end
# source://syntax_tree//lib/syntax_tree/mermaid_visitor.rb#13
def visit_program(node); end
private
# source://syntax_tree//lib/syntax_tree/mermaid_visitor.rb#20
def comments(node); end
# source://syntax_tree//lib/syntax_tree/mermaid_visitor.rb#24
def field(name, value); end
# source://syntax_tree//lib/syntax_tree/mermaid_visitor.rb#37
def list(name, values); end
# source://syntax_tree//lib/syntax_tree/mermaid_visitor.rb#43
def node(node, type); end
# source://syntax_tree//lib/syntax_tree/mermaid_visitor.rb#55
def pairs(name, values); end
# source://syntax_tree//lib/syntax_tree/mermaid_visitor.rb#65
def text(name, value); end
end
# MethodAddBlock represents a method call with a block argument.
#
# method {}
#
# source://syntax_tree//lib/syntax_tree/node.rb#7579
class SyntaxTree::MethodAddBlock < ::SyntaxTree::Node
# @return [MethodAddBlock] a new instance of MethodAddBlock
#
# source://syntax_tree//lib/syntax_tree/node.rb#7589
def initialize(call:, block:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#7638
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#7596
def accept(visitor); end
# [BlockNode] the block being sent with the method call
#
# source://syntax_tree//lib/syntax_tree/node.rb#7584
def block; end
# [ARef | CallNode | Command | CommandCall | Super | ZSuper] the method call
#
# source://syntax_tree//lib/syntax_tree/node.rb#7581
def call; end
# source://syntax_tree//lib/syntax_tree/node.rb#7600
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#7587
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#7604
def copy(call: T.unsafe(nil), block: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#7600
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#7618
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#7622
def format(q); end
# source://syntax_tree//lib/syntax_tree/node.rb#7643
def format_contents(q); end
end
# ModuleDeclaration represents defining a module using the +module+ keyword.
#
# module Namespace
# end
#
# source://syntax_tree//lib/syntax_tree/node.rb#7795
class SyntaxTree::ModuleDeclaration < ::SyntaxTree::Node
# @return [ModuleDeclaration] a new instance of ModuleDeclaration
#
# source://syntax_tree//lib/syntax_tree/node.rb#7805
def initialize(constant:, bodystmt:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#7865
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#7812
def accept(visitor); end
# [BodyStmt] the expressions to be executed in the context of the module
#
# source://syntax_tree//lib/syntax_tree/node.rb#7800
def bodystmt; end
# source://syntax_tree//lib/syntax_tree/node.rb#7816
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#7803
def comments; end
# [ConstPathRef | ConstRef | TopConstRef] the name of the module
#
# source://syntax_tree//lib/syntax_tree/node.rb#7797
def constant; end
# source://syntax_tree//lib/syntax_tree/node.rb#7820
def copy(constant: T.unsafe(nil), bodystmt: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#7816
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#7834
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#7843
def format(q); end
private
# source://syntax_tree//lib/syntax_tree/node.rb#7872
def format_declaration(q); end
end
# This visitor walks through the tree and copies each node as it is being
# visited. This is useful for mutating the tree before it is formatted.
#
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#6
class SyntaxTree::MutationVisitor < ::SyntaxTree::BasicVisitor
# @return [MutationVisitor] a new instance of MutationVisitor
#
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#9
def initialize; end
# Create a new mutation based on the given query that will mutate the node
# using the given block. The block should return a new node that will take
# the place of the given node in the tree. These blocks frequently make use
# of the `copy` method on nodes to create a new node with the same
# properties as the original node.
#
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#18
def mutate(query, &block); end
# Returns the value of attribute mutations.
#
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#7
def mutations; end
# This is the base visit method for each node in the tree. It first creates
# a copy of the node using the visit_* methods defined below. Then it checks
# each mutation in sequence and calls it if it finds a match.
#
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#25
def visit(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#38
def visit_BEGIN(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#46
def visit_CHAR(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#51
def visit_END(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#59
def visit___end__(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#64
def visit_alias(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#69
def visit_aref(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#74
def visit_aref_field(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#89
def visit_arg_block(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#79
def visit_arg_paren(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#94
def visit_arg_star(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#84
def visit_args(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#99
def visit_args_forward(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#104
def visit_array(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#112
def visit_aryptn(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#122
def visit_assign(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#127
def visit_assoc(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#132
def visit_assoc_splat(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#137
def visit_backref(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#142
def visit_backtick(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#147
def visit_bare_assoc_hash(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#152
def visit_begin(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#162
def visit_binary(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#295
def visit_block(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#167
def visit_block_var(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#172
def visit_blockarg(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#177
def visit_bodystmt(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#187
def visit_break(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#192
def visit_call(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#202
def visit_case(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#216
def visit_class(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#225
def visit_comma(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#230
def visit_command(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#239
def visit_command_call(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#249
def visit_comment(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#254
def visit_const(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#259
def visit_const_path_field(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#264
def visit_const_path_ref(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#269
def visit_const_ref(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#274
def visit_cvar(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#279
def visit_def(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#290
def visit_defined(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#313
def visit_dyna_symbol(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#318
def visit_else(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#326
def visit_elsif(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#334
def visit_embdoc(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#339
def visit_embexpr_beg(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#344
def visit_embexpr_end(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#349
def visit_embvar(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#354
def visit_ensure(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#362
def visit_excessed_comma(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#367
def visit_field(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#375
def visit_float(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#380
def visit_fndptn(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#390
def visit_for(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#395
def visit_gvar(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#400
def visit_hash(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#405
def visit_heredoc(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#414
def visit_heredoc_beg(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#419
def visit_heredoc_end(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#424
def visit_hshptn(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#434
def visit_ident(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#439
def visit_if(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#448
def visit_if_op(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#453
def visit_imaginary(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#458
def visit_in(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#466
def visit_int(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#471
def visit_ivar(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#476
def visit_kw(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#481
def visit_kwrest_param(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#486
def visit_label(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#491
def visit_label_end(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#496
def visit_lambda(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#504
def visit_lambda_var(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#509
def visit_lbrace(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#514
def visit_lbracket(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#519
def visit_lparen(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#524
def visit_massign(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#529
def visit_method_add_block(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#534
def visit_mlhs(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#539
def visit_mlhs_paren(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#544
def visit_module(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#552
def visit_mrhs(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#557
def visit_next(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#812
def visit_not(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#562
def visit_op(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#567
def visit_opassign(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#572
def visit_params(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#588
def visit_paren(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#593
def visit_period(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#157
def visit_pinned_begin(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#854
def visit_pinned_var_ref(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#598
def visit_program(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#603
def visit_qsymbols(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#611
def visit_qsymbols_beg(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#616
def visit_qwords(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#624
def visit_qwords_beg(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#304
def visit_range(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#211
def visit_rassign(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#629
def visit_rational(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#634
def visit_rbrace(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#639
def visit_rbracket(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#644
def visit_redo(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#654
def visit_regexp_beg(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#649
def visit_regexp_content(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#659
def visit_regexp_end(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#664
def visit_regexp_literal(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#674
def visit_rescue(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#669
def visit_rescue_ex(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#684
def visit_rescue_mod(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#689
def visit_rest_param(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#694
def visit_retry(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#699
def visit_return(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#704
def visit_rparen(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#709
def visit_sclass(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#714
def visit_statements(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#724
def visit_string_concat(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#719
def visit_string_content(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#729
def visit_string_dvar(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#734
def visit_string_embexpr(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#739
def visit_string_literal(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#744
def visit_super(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#749
def visit_symbeg(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#754
def visit_symbol_content(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#759
def visit_symbol_literal(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#764
def visit_symbols(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#772
def visit_symbols_beg(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#777
def visit_tlambda(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#782
def visit_tlambeg(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#787
def visit_top_const_field(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#792
def visit_top_const_ref(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#797
def visit_tstring_beg(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#802
def visit_tstring_content(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#807
def visit_tstring_end(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#817
def visit_unary(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#822
def visit_undef(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#827
def visit_unless(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#836
def visit_until(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#844
def visit_var_field(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#849
def visit_var_ref(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#859
def visit_vcall(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#864
def visit_void_stmt(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#869
def visit_when(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#878
def visit_while(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#886
def visit_word(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#891
def visit_words(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#899
def visit_words_beg(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#904
def visit_xstring(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#909
def visit_xstring_literal(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#914
def visit_yield(node); end
# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#919
def visit_zsuper(node); end
end
# Next represents using the +next+ keyword.
#
# next
#
# The +next+ keyword can also optionally be called with an argument:
#
# next value
#
# +next+ can even be called with multiple arguments, but only if parentheses
# are omitted, as in:
#
# next first, second, third
#
# If a single value is being given, parentheses can be used, as in:
#
# next(value)
#
# source://syntax_tree//lib/syntax_tree/node.rb#7949
class SyntaxTree::Next < ::SyntaxTree::Node
# @return [Next] a new instance of Next
#
# source://syntax_tree//lib/syntax_tree/node.rb#7956
def initialize(arguments:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#7991
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#7962
def accept(visitor); end
# [Args] the arguments passed to the next keyword
#
# source://syntax_tree//lib/syntax_tree/node.rb#7951
def arguments; end
# source://syntax_tree//lib/syntax_tree/node.rb#7966
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#7954
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#7970
def copy(arguments: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#7966
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#7983
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#7987
def format(q); end
end
# This is the parent node of all of the syntax tree nodes. It's pretty much
# exclusively here to make it easier to operate with the tree in cases where
# you're trying to monkey-patch or strictly type.
#
# source://syntax_tree//lib/syntax_tree/node.rb#105
class SyntaxTree::Node
# @raise [NotImplementedError]
#
# source://syntax_tree//lib/syntax_tree/node.rb#109
def accept(visitor); end
# @raise [NotImplementedError]
#
# source://syntax_tree//lib/syntax_tree/node.rb#113
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#149
def construct_keys; end
# @raise [NotImplementedError]
#
# source://syntax_tree//lib/syntax_tree/node.rb#117
def deconstruct; end
# @raise [NotImplementedError]
#
# source://syntax_tree//lib/syntax_tree/node.rb#121
def deconstruct_keys(keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#133
def end_char; end
# @raise [NotImplementedError]
#
# source://syntax_tree//lib/syntax_tree/node.rb#125
def format(q); end
# [Location] the location of this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#107
def location; end
# source://syntax_tree//lib/syntax_tree/node.rb#137
def pretty_print(q); end
# source://syntax_tree//lib/syntax_tree/node.rb#129
def start_char; end
# source://syntax_tree//lib/syntax_tree/node.rb#141
def to_json(*opts); end
# source://syntax_tree//lib/syntax_tree/node.rb#145
def to_mermaid; end
end
# Not represents the unary +not+ method being called on an expression.
#
# not value
#
# source://syntax_tree//lib/syntax_tree/node.rb#11093
class SyntaxTree::Not < ::SyntaxTree::Node
# @return [Not] a new instance of Not
#
# source://syntax_tree//lib/syntax_tree/node.rb#11104
def initialize(statement:, parentheses:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#11166
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#11111
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#11115
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#11102
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#11119
def copy(statement: T.unsafe(nil), parentheses: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#11115
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#11133
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#11142
def format(q); end
# [boolean] whether or not parentheses were used
#
# source://syntax_tree//lib/syntax_tree/node.rb#11098
def parentheses; end
# [boolean] whether or not parentheses were used
#
# source://syntax_tree//lib/syntax_tree/node.rb#11098
def parentheses?; end
# [nil | Node] the statement on which to operate
#
# source://syntax_tree//lib/syntax_tree/node.rb#11095
def statement; end
end
# Op represents an operator literal in the source.
#
# 1 + 2
#
# In the example above, the Op node represents the + operator.
#
# source://syntax_tree//lib/syntax_tree/node.rb#8001
class SyntaxTree::Op < ::SyntaxTree::Node
# @return [Op] a new instance of Op
#
# source://syntax_tree//lib/syntax_tree/node.rb#8011
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#8044
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#8018
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#8022
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#8009
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#8026
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#8022
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#8036
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#8040
def format(q); end
# [Symbol] the symbol version of the value
#
# source://syntax_tree//lib/syntax_tree/node.rb#8006
def name; end
# [String] the operator
#
# source://syntax_tree//lib/syntax_tree/node.rb#8003
def value; end
end
# OpAssign represents assigning a value to a variable or constant using an
# operator like += or ||=.
#
# variable += value
#
# source://syntax_tree//lib/syntax_tree/node.rb#8054
class SyntaxTree::OpAssign < ::SyntaxTree::Node
# @return [OpAssign] a new instance of OpAssign
#
# source://syntax_tree//lib/syntax_tree/node.rb#8068
def initialize(target:, operator:, value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#8127
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#8076
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#8080
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#8066
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#8084
def copy(target: T.unsafe(nil), operator: T.unsafe(nil), value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#8080
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#8099
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#8109
def format(q); end
# [Op] the operator being used for the assignment
#
# source://syntax_tree//lib/syntax_tree/node.rb#8060
def operator; end
# [ARefField | ConstPathField | Field | TopConstField | VarField] the target
# to assign the result of the expression to
#
# source://syntax_tree//lib/syntax_tree/node.rb#8057
def target; end
# [Node] the expression to be assigned
#
# source://syntax_tree//lib/syntax_tree/node.rb#8063
def value; end
private
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#8134
def skip_indent?; end
end
# The list of nodes that represent patterns inside of pattern matching so that
# when a pattern is being printed it knows if it's nested.
#
# source://syntax_tree//lib/syntax_tree/node.rb#6171
SyntaxTree::PATTERNS = T.let(T.unsafe(nil), Array)
# Params represents defining parameters on a method or lambda.
#
# def method(param) end
#
# source://syntax_tree//lib/syntax_tree/node.rb#8212
class SyntaxTree::Params < ::SyntaxTree::Node
# @return [Params] a new instance of Params
#
# source://syntax_tree//lib/syntax_tree/node.rb#8314
def initialize(location:, requireds: T.unsafe(nil), optionals: T.unsafe(nil), rest: T.unsafe(nil), posts: T.unsafe(nil), keywords: T.unsafe(nil), keyword_rest: T.unsafe(nil), block: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#8444
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#8344
def accept(visitor); end
# Returns a range representing the possible number of arguments accepted
# by this params node not including the block. For example:
#
# def foo(a, b = 1, c:, d: 2, &block)
# ...
# end
#
# has arity 2..4.
#
# source://syntax_tree//lib/syntax_tree/node.rb#8467
def arity; end
# [nil | BlockArg] the optional block parameter
#
# source://syntax_tree//lib/syntax_tree/node.rb#8309
def block; end
# source://syntax_tree//lib/syntax_tree/node.rb#8348
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#8312
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#8362
def copy(location: T.unsafe(nil), requireds: T.unsafe(nil), optionals: T.unsafe(nil), rest: T.unsafe(nil), posts: T.unsafe(nil), keywords: T.unsafe(nil), keyword_rest: T.unsafe(nil), block: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#8348
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#8390
def deconstruct_keys(_keys); end
# Params nodes are the most complicated in the tree. Occasionally you want
# to know if they are "empty", which means not having any parameters
# declared. This logic accesses every kind of parameter and determines if
# it's missing.
#
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#8339
def empty?; end
# source://syntax_tree//lib/syntax_tree/node.rb#8404
def format(q); end
# [nil | :nil | ArgsForward | KwRestParam] the optional keyword rest
# parameter
#
# source://syntax_tree//lib/syntax_tree/node.rb#8306
def keyword_rest; end
# [Array[ [ Label, nil | Node ] ]] any keyword parameters and their
# optional default values
#
# source://syntax_tree//lib/syntax_tree/node.rb#8302
def keywords; end
# [Array[ [ Ident, Node ] ]] any optional parameters and their default
# values
#
# source://syntax_tree//lib/syntax_tree/node.rb#8290
def optionals; end
# [Array[ Ident ]] any positional parameters that exist after a rest
# parameter
#
# source://syntax_tree//lib/syntax_tree/node.rb#8298
def posts; end
# [Array[ Ident | MLHSParen ]] any required parameters
#
# source://syntax_tree//lib/syntax_tree/node.rb#8286
def requireds; end
# [nil | ArgsForward | ExcessedComma | RestParam] the optional rest
# parameter
#
# source://syntax_tree//lib/syntax_tree/node.rb#8294
def rest; end
private
# source://syntax_tree//lib/syntax_tree/node.rb#8483
def format_contents(q, parts); end
end
# Formats the keyword position of the parameters. This includes the label,
# as well as an optional default value.
#
# source://syntax_tree//lib/syntax_tree/node.rb#8240
class SyntaxTree::Params::KeywordFormatter
# @return [KeywordFormatter] a new instance of KeywordFormatter
#
# source://syntax_tree//lib/syntax_tree/node.rb#8247
def initialize(name, value); end
# source://syntax_tree//lib/syntax_tree/node.rb#8252
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#8256
def format(q); end
# [Ident] the name of the parameter
#
# source://syntax_tree//lib/syntax_tree/node.rb#8242
def name; end
# [nil | Node] the value of the parameter
#
# source://syntax_tree//lib/syntax_tree/node.rb#8245
def value; end
end
# Formats the keyword_rest position of the parameters. This can be the **nil
# syntax, the ... syntax, or the ** syntax.
#
# source://syntax_tree//lib/syntax_tree/node.rb#8268
class SyntaxTree::Params::KeywordRestFormatter
# @return [KeywordRestFormatter] a new instance of KeywordRestFormatter
#
# source://syntax_tree//lib/syntax_tree/node.rb#8272
def initialize(value); end
# source://syntax_tree//lib/syntax_tree/node.rb#8276
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#8280
def format(q); end
# [:nil | ArgsForward | KwRestParam] the value of the parameter
#
# source://syntax_tree//lib/syntax_tree/node.rb#8270
def value; end
end
# Formats the optional position of the parameters. This includes the label,
# as well as the default value.
#
# source://syntax_tree//lib/syntax_tree/node.rb#8215
class SyntaxTree::Params::OptionalFormatter
# @return [OptionalFormatter] a new instance of OptionalFormatter
#
# source://syntax_tree//lib/syntax_tree/node.rb#8222
def initialize(name, value); end
# source://syntax_tree//lib/syntax_tree/node.rb#8227
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#8231
def format(q); end
# [Ident] the name of the parameter
#
# source://syntax_tree//lib/syntax_tree/node.rb#8217
def name; end
# [Node] the value of the parameter
#
# source://syntax_tree//lib/syntax_tree/node.rb#8220
def value; end
end
# Paren represents using balanced parentheses in a couple places in a Ruby
# program. In general parentheses can be used anywhere a Ruby expression can
# be used.
#
# (1 + 2)
#
# source://syntax_tree//lib/syntax_tree/node.rb#8495
class SyntaxTree::Paren < ::SyntaxTree::Node
# @return [Paren] a new instance of Paren
#
# source://syntax_tree//lib/syntax_tree/node.rb#8505
def initialize(lparen:, contents:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#8561
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#8512
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#8516
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#8503
def comments; end
# [nil | Node] the expression inside the parentheses
#
# source://syntax_tree//lib/syntax_tree/node.rb#8500
def contents; end
# source://syntax_tree//lib/syntax_tree/node.rb#8520
def copy(lparen: T.unsafe(nil), contents: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#8516
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#8534
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#8543
def format(q); end
# [LParen] the left parenthesis that opened this statement
#
# source://syntax_tree//lib/syntax_tree/node.rb#8497
def lparen; end
end
# If you have a modifier statement (for instance a modifier if statement or a
# modifier while loop) there are times when you need to wrap the entire
# statement in parentheses. This occurs when you have something like:
#
# foo[:foo] =
# if bar?
# baz
# end
#
# Normally we would shorten this to an inline version, which would result in:
#
# foo[:foo] = baz if bar?
#
# but this actually has different semantic meaning. The first example will
# result in a nil being inserted into the hash for the :foo key, whereas the
# second example will result in an empty hash because the if statement applies
# to the entire assignment.
#
# We can fix this in a couple of ways. We can use the then keyword, as in:
#
# foo[:foo] = if bar? then baz end
#
# But this isn't used very often. We can also just leave it as is with the
# multi-line version, but for a short predicate and short value it looks
# verbose. The last option and the one used here is to add parentheses on
# both sides of the expression, as in:
#
# foo[:foo] = (baz if bar?)
#
# This approach maintains the nice conciseness of the inline version, while
# keeping the correct semantic meaning.
#
# source://syntax_tree//lib/syntax_tree/node.rb#8171
module SyntaxTree::Parentheses
class << self
# source://syntax_tree//lib/syntax_tree/node.rb#8191
def break(q); end
# source://syntax_tree//lib/syntax_tree/node.rb#8183
def flat(q); end
end
end
# source://syntax_tree//lib/syntax_tree/node.rb#8172
SyntaxTree::Parentheses::NODES = T.let(T.unsafe(nil), Array)
# Parser is a subclass of the Ripper library that subscribes to the stream of
# tokens and nodes coming from the parser and builds up a syntax tree.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#6
class SyntaxTree::Parser < ::Ripper
# @return [Parser] a new instance of Parser
#
# source://syntax_tree//lib/syntax_tree/parser.rb#116
def initialize(source, *_arg1); end
# [Array[ Comment | EmbDoc ]] the list of comments that have been found
# while parsing the source.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#114
def comments; end
# [Array[ SingleByteString | MultiByteString ]] the list of objects that
# represent the start of each line in character offsets
#
# source://syntax_tree//lib/syntax_tree/parser.rb#105
def line_counts; end
# [String] the source being parsed
#
# source://syntax_tree//lib/syntax_tree/parser.rb#101
def source; end
# [Array[ untyped ]] a running list of tokens that have been found in the
# source. This list changes a lot as certain nodes will "consume" these
# tokens to determine their bounds.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#110
def tokens; end
private
# Attaches comments to the nodes in the tree that most closely correspond to
# the location of the comments.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2911
def attach_comments(program, comments); end
# This represents the current place in the source string that we've gotten
# to so far. We have a memoized line_counts object that we can use to get
# the number of characters that we've had to go through to get to the
# beginning of this line, then we add the number of columns into this line
# that we've gone through.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#197
def char_pos; end
# @raise [ParseError]
#
# source://syntax_tree//lib/syntax_tree/parser.rb#295
def consume_error(name, location); end
# source://syntax_tree//lib/syntax_tree/parser.rb#312
def consume_keyword(name); end
# source://syntax_tree//lib/syntax_tree/parser.rb#318
def consume_operator(name); end
# source://syntax_tree//lib/syntax_tree/parser.rb#300
def consume_token(type); end
# source://syntax_tree//lib/syntax_tree/parser.rb#306
def consume_tstring_end(location); end
# This represents the current column we're in relative to the beginning of
# the current line.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#203
def current_column; end
# A helper function to find a :: operator. We do special handling instead of
# using find_token here because we don't pop off all of the :: operators so
# you could end up getting the wrong information if you have for instance
# ::X::Y::Z.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#328
def find_colon2_before(const); end
# source://syntax_tree//lib/syntax_tree/parser.rb#272
def find_keyword(name); end
# source://syntax_tree//lib/syntax_tree/parser.rb#277
def find_keyword_between(name, left, right); end
# Finds the next position in the source string that begins a statement. This
# is used to bind statements lists and make sure they don't include a
# preceding comment. For example, we want the following comment to be
# attached to the class node and not the statement node:
#
# ...
# end
#
# By finding the next non-space character, we can make sure that the bounds
# of the statement list are correct.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#349
def find_next_statement_start(position); end
# source://syntax_tree//lib/syntax_tree/parser.rb#290
def find_operator(name); end
# As we build up a list of tokens, we'll periodically need to go backwards
# and find the ones that we've already hit in order to determine the
# location information for nodes that use them. For example, if you have a
# module node then you'll look backward for a kw token to determine your
# start location.
#
# This works with nesting since we're deleting tokens from the list once
# they've been used up. For example if you had nested module declarations
# then the innermost declaration would grab the last kw node that matches
# "module" (which would happen to be the innermost keyword). Then the outer
# one would only be able to grab the first one. In this way all of the
# tokens act as their own stack.
#
# If we're expecting to be able to find a token and consume it, but can't
# actually find it, then we need to raise an error. This is _usually_ caused
# by a syntax error in the source that we're printing. It could also be
# caused by accidentally attempting to consume a token twice by two
# different parser event handlers.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#254
def find_token(type); end
# source://syntax_tree//lib/syntax_tree/parser.rb#259
def find_token_between(type, left, right); end
# Returns the current location that is being looked at for the parser for
# the purpose of locating the error.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#210
def find_token_error(location); end
# Ripper doesn't support capturing lambda local variables until 3.2. To
# mitigate this, we have to parse that code for ourselves. We use the range
# from the parentheses to find where we _should_ be looking. Then we check
# if the resulting tokens match a pattern that we determine means that the
# declaration has block-local variables. Once it does, we parse those out
# and convert them into Ident nodes.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2362
def lambda_locals(source); end
# Responsible for finding the nearest nodes to the given comment within the
# context of the given encapsulating node.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2946
def nearest_nodes(node, comment); end
# :call-seq:
# on_BEGIN: (Statements statements) -> BEGINBlock
#
# source://syntax_tree//lib/syntax_tree/parser.rb#371
def on_BEGIN(statements); end
# :call-seq:
# on_CHAR: (String value) -> CHAR
#
# source://syntax_tree//lib/syntax_tree/parser.rb#395
def on_CHAR(value); end
# :call-seq:
# on_END: (Statements statements) -> ENDBlock
#
# source://syntax_tree//lib/syntax_tree/parser.rb#410
def on_END(statements); end
# :call-seq:
# on___end__: (String value) -> EndContent
#
# source://syntax_tree//lib/syntax_tree/parser.rb#434
def on___end__(value); end
# :call-seq:
# on_alias: (
# (DynaSymbol | SymbolLiteral) left,
# (DynaSymbol | SymbolLiteral) right
# ) -> AliasNode
#
# source://syntax_tree//lib/syntax_tree/parser.rb#453
def on_alias(left, right); end
# If we encounter a parse error, just immediately bail out so that our
# runner can catch it.
#
# @raise [ParseError]
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2863
def on_alias_error(error, *_arg1); end
# :call-seq:
# on_aref: (untyped collection, (nil | Args) index) -> ARef
#
# source://syntax_tree//lib/syntax_tree/parser.rb#465
def on_aref(collection, index); end
# :call-seq:
# on_aref_field: (
# untyped collection,
# (nil | Args) index
# ) -> ARefField
#
# source://syntax_tree//lib/syntax_tree/parser.rb#481
def on_aref_field(collection, index); end
# :call-seq:
# on_arg_paren: (
# (nil | Args | ArgsForward) arguments
# ) -> ArgParen
#
# source://syntax_tree//lib/syntax_tree/parser.rb#500
def on_arg_paren(arguments); end
# :call-seq:
# on_args_add: (Args arguments, untyped argument) -> Args
#
# source://syntax_tree//lib/syntax_tree/parser.rb#522
def on_args_add(arguments, argument); end
# :call-seq:
# on_args_add_block: (
# Args arguments,
# (false | untyped) block
# ) -> Args
#
# source://syntax_tree//lib/syntax_tree/parser.rb#543
def on_args_add_block(arguments, block); end
# :call-seq:
# on_args_add_star: (Args arguments, untyped star) -> Args
#
# source://syntax_tree//lib/syntax_tree/parser.rb#581
def on_args_add_star(arguments, argument); end
# :call-seq:
# on_args_forward: () -> ArgsForward
#
# source://syntax_tree//lib/syntax_tree/parser.rb#603
def on_args_forward; end
# :call-seq:
# on_args_new: () -> Args
#
# source://syntax_tree//lib/syntax_tree/parser.rb#611
def on_args_new; end
# :call-seq:
# on_array: ((nil | Args) contents) ->
# ArrayLiteral | QSymbols | QWords | Symbols | Words
#
# source://syntax_tree//lib/syntax_tree/parser.rb#622
def on_array(contents); end
# :call-seq:
# on_aryptn: (
# (nil | VarRef) constant,
# (nil | Array[untyped]) requireds,
# (nil | VarField) rest,
# (nil | Array[untyped]) posts
# ) -> AryPtn
#
# source://syntax_tree//lib/syntax_tree/parser.rb#701
def on_aryptn(constant, requireds, rest, posts); end
# :call-seq:
# on_assign: (
# (
# ARefField |
# ConstPathField |
# Field |
# TopConstField |
# VarField
# ) target,
# untyped value
# ) -> Assign
#
# source://syntax_tree//lib/syntax_tree/parser.rb#756
def on_assign(target, value); end
# If we encounter a parse error, just immediately bail out so that our
# runner can catch it.
#
# @raise [ParseError]
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2863
def on_assign_error(error, *_arg1); end
# :call-seq:
# on_assoc_new: (untyped key, untyped value) -> Assoc
#
# source://syntax_tree//lib/syntax_tree/parser.rb#766
def on_assoc_new(key, value); end
# :call-seq:
# on_assoc_splat: (untyped value) -> AssocSplat
#
# source://syntax_tree//lib/syntax_tree/parser.rb#775
def on_assoc_splat(value); end
# :call-seq:
# on_backref: (String value) -> Backref
#
# source://syntax_tree//lib/syntax_tree/parser.rb#790
def on_backref(value); end
# :call-seq:
# on_backtick: (String value) -> Backtick
#
# source://syntax_tree//lib/syntax_tree/parser.rb#805
def on_backtick(value); end
# :call-seq:
# on_bare_assoc_hash: (
# Array[AssocNew | AssocSplat] assocs
# ) -> BareAssocHash
#
# source://syntax_tree//lib/syntax_tree/parser.rb#826
def on_bare_assoc_hash(assocs); end
# :call-seq:
# on_begin: (untyped bodystmt) -> Begin | PinnedBegin
#
# source://syntax_tree//lib/syntax_tree/parser.rb#835
def on_begin(bodystmt); end
# :call-seq:
# on_binary: (
# untyped left,
# (Op | Symbol) operator,
# untyped right
# ) -> Binary
#
# source://syntax_tree//lib/syntax_tree/parser.rb#874
def on_binary(left, operator, right); end
# :call-seq:
# on_block_var: (Params params, (nil | Array[Ident]) locals) -> BlockVar
#
# source://syntax_tree//lib/syntax_tree/parser.rb#906
def on_block_var(params, locals); end
# :call-seq:
# on_blockarg: (Ident name) -> BlockArg
#
# source://syntax_tree//lib/syntax_tree/parser.rb#946
def on_blockarg(name); end
# :call-seq:
# on_bodystmt: (
# Statements statements,
# (nil | Rescue) rescue_clause,
# (nil | Statements) else_clause,
# (nil | Ensure) ensure_clause
# ) -> BodyStmt
#
# source://syntax_tree//lib/syntax_tree/parser.rb#962
def on_bodystmt(statements, rescue_clause, else_clause, ensure_clause); end
# :call-seq:
# on_brace_block: (
# (nil | BlockVar) block_var,
# Statements statements
# ) -> BlockNode
#
# source://syntax_tree//lib/syntax_tree/parser.rb#988
def on_brace_block(block_var, statements); end
# :call-seq:
# on_break: (Args arguments) -> Break
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1025
def on_break(arguments); end
# :call-seq:
# on_call: (
# untyped receiver,
# (:"::" | Op | Period) operator,
# (:call | Backtick | Const | Ident | Op) message
# ) -> CallNode
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1040
def on_call(receiver, operator, message); end
# :call-seq:
# on_case: (untyped value, untyped consequent) -> Case | RAssign
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1061
def on_case(value, consequent); end
# :call-seq:
# on_class: (
# (ConstPathRef | ConstRef | TopConstRef) constant,
# untyped superclass,
# BodyStmt bodystmt
# ) -> ClassDeclaration
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1096
def on_class(constant, superclass, bodystmt); end
# If we encounter a parse error, just immediately bail out so that our
# runner can catch it.
#
# @raise [ParseError]
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2863
def on_class_name_error(error, *_arg1); end
# :call-seq:
# on_comma: (String value) -> Comma
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1120
def on_comma(value); end
# :call-seq:
# on_command: ((Const | Ident) message, Args arguments) -> Command
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1139
def on_command(message, arguments); end
# :call-seq:
# on_command_call: (
# untyped receiver,
# (:"::" | Op | Period) operator,
# (Const | Ident | Op) message,
# (nil | Args) arguments
# ) -> CommandCall
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1155
def on_command_call(receiver, operator, message, arguments); end
# :call-seq:
# on_comment: (String value) -> Comment
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1170
def on_comment(value); end
# :call-seq:
# on_const: (String value) -> Const
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1208
def on_const(value); end
# :call-seq:
# on_const_path_field: (untyped parent, Const constant) ->
# ConstPathField | Field
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1224
def on_const_path_field(parent, constant); end
# :call-seq:
# on_const_path_ref: (untyped parent, Const constant) -> ConstPathRef
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1243
def on_const_path_ref(parent, constant); end
# :call-seq:
# on_const_ref: (Const constant) -> ConstRef
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1253
def on_const_ref(constant); end
# :call-seq:
# on_cvar: (String value) -> CVar
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1259
def on_cvar(value); end
# :call-seq:
# on_def: (
# (Backtick | Const | Ident | Kw | Op) name,
# (nil | Params | Paren) params,
# untyped bodystmt
# ) -> DefNode
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1278
def on_def(name, params, bodystmt); end
# :call-seq:
# on_defined: (untyped value) -> Defined
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1346
def on_defined(value); end
# :call-seq:
# on_defs: (
# untyped target,
# (Op | Period) operator,
# (Backtick | Const | Ident | Kw | Op) name,
# (Params | Paren) params,
# BodyStmt bodystmt
# ) -> DefNode
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1370
def on_defs(target, operator, name, params, bodystmt); end
# :call-seq:
# on_do_block: (BlockVar block_var, BodyStmt bodystmt) -> BlockNode
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1435
def on_do_block(block_var, bodystmt); end
# :call-seq:
# on_dot2: ((nil | untyped) left, (nil | untyped) right) -> RangeNode
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1459
def on_dot2(left, right); end
# :call-seq:
# on_dot3: ((nil | untyped) left, (nil | untyped) right) -> RangeNode
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1475
def on_dot3(left, right); end
# :call-seq:
# on_dyna_symbol: (StringContent string_content) -> DynaSymbol
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1491
def on_dyna_symbol(string_content); end
# :call-seq:
# on_else: (Statements statements) -> Else
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1517
def on_else(statements); end
# :call-seq:
# on_elsif: (
# untyped predicate,
# Statements statements,
# (nil | Elsif | Else) consequent
# ) -> Elsif
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1558
def on_elsif(predicate, statements, consequent); end
# :call-seq:
# on_embdoc: (String value) -> EmbDoc
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1588
def on_embdoc(value); end
# :call-seq:
# on_embdoc_beg: (String value) -> EmbDoc
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1595
def on_embdoc_beg(value); end
# :call-seq:
# on_embdoc_end: (String value) -> EmbDoc
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1606
def on_embdoc_end(value); end
# :call-seq:
# on_embexpr_beg: (String value) -> EmbExprBeg
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1630
def on_embexpr_beg(value); end
# :call-seq:
# on_embexpr_end: (String value) -> EmbExprEnd
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1649
def on_embexpr_end(value); end
# :call-seq:
# on_embvar: (String value) -> EmbVar
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1668
def on_embvar(value); end
# :call-seq:
# on_ensure: (Statements statements) -> Ensure
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1687
def on_ensure(statements); end
# The handler for this event accepts no parameters (though in previous
# versions of Ruby it accepted a string literal with a value of ",").
#
# :call-seq:
# on_excessed_comma: () -> ExcessedComma
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1714
def on_excessed_comma(*_arg0); end
# :call-seq:
# on_fcall: ((Const | Ident) value) -> CallNode
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1722
def on_fcall(value); end
# :call-seq:
# on_field: (
# untyped parent,
# (:"::" | Op | Period) operator
# (Const | Ident) name
# ) -> Field
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1738
def on_field(parent, operator, name); end
# :call-seq:
# on_float: (String value) -> FloatLiteral
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1749
def on_float(value); end
# :call-seq:
# on_fndptn: (
# (nil | untyped) constant,
# VarField left,
# Array[untyped] values,
# VarField right
# ) -> FndPtn
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1769
def on_fndptn(constant, left, values, right); end
# :call-seq:
# on_for: (
# (MLHS | VarField) value,
# untyped collection,
# Statements statements
# ) -> For
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1821
def on_for(index, collection, statements); end
# :call-seq:
# on_gvar: (String value) -> GVar
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1859
def on_gvar(value); end
# :call-seq:
# on_hash: ((nil | Array[AssocNew | AssocSplat]) assocs) -> HashLiteral
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1874
def on_hash(assocs); end
# :call-seq:
# on_heredoc_beg: (String value) -> HeredocBeg
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1887
def on_heredoc_beg(value); end
# :call-seq:
# on_heredoc_dedent: (StringContent string, Integer width) -> Heredoc
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1906
def on_heredoc_dedent(string, width); end
# :call-seq:
# on_heredoc_end: (String value) -> Heredoc
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1920
def on_heredoc_end(value); end
# :call-seq:
# on_hshptn: (
# (nil | untyped) constant,
# Array[[Label | StringContent, untyped]] keywords,
# (nil | VarField) keyword_rest
# ) -> HshPtn
#
# source://syntax_tree//lib/syntax_tree/parser.rb#1956
def on_hshptn(constant, keywords, keyword_rest); end
# :call-seq:
# on_ident: (String value) -> Ident
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2026
def on_ident(value); end
# :call-seq:
# on_if: (
# untyped predicate,
# Statements statements,
# (nil | Elsif | Else) consequent
# ) -> IfNode
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2045
def on_if(predicate, statements, consequent); end
# :call-seq:
# on_if_mod: (untyped predicate, untyped statement) -> IfNode
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2085
def on_if_mod(predicate, statement); end
# :call-seq:
# on_ifop: (untyped predicate, untyped truthy, untyped falsy) -> IfOp
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2074
def on_ifop(predicate, truthy, falsy); end
# :call-seq:
# on_imaginary: (String value) -> Imaginary
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2107
def on_imaginary(value); end
# :call-seq:
# on_in: (RAssign pattern, nil statements, nil consequent) -> RAssign
# | (
# untyped pattern,
# Statements statements,
# (nil | In | Else) consequent
# ) -> In
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2127
def on_in(pattern, statements, consequent); end
# :call-seq:
# on_int: (String value) -> Int
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2172
def on_int(value); end
# :call-seq:
# on_ivar: (String value) -> IVar
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2187
def on_ivar(value); end
# :call-seq:
# on_kw: (String value) -> Kw
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2202
def on_kw(value); end
# :call-seq:
# on_kwrest_param: ((nil | Ident) name) -> KwRestParam
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2221
def on_kwrest_param(name); end
# :call-seq:
# on_label: (String value) -> Label
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2230
def on_label(value); end
# :call-seq:
# on_label_end: (String value) -> LabelEnd
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2245
def on_label_end(value); end
# :call-seq:
# on_lambda: (
# (Params | Paren) params,
# (BodyStmt | Statements) statements
# ) -> Lambda
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2267
def on_lambda(params, statements); end
# :call-seq:
# on_lambda_var: (Params params, Array[ Ident ] locals) -> LambdaVar
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2349
def on_lambda_var(params, locals); end
# :call-seq:
# on_lbrace: (String value) -> LBrace
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2432
def on_lbrace(value); end
# :call-seq:
# on_lbracket: (String value) -> LBracket
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2451
def on_lbracket(value); end
# :call-seq:
# on_lparen: (String value) -> LParen
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2470
def on_lparen(value); end
# :call-seq:
# on_massign: ((MLHS | MLHSParen) target, untyped value) -> MAssign
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2493
def on_massign(target, value); end
# :call-seq:
# on_method_add_arg: (
# CallNode call,
# (ArgParen | Args) arguments
# ) -> CallNode
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2509
def on_method_add_arg(call, arguments); end
# :call-seq:
# on_method_add_block: (
# (Break | Call | Command | CommandCall, Next) call,
# Block block
# ) -> Break | MethodAddBlock
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2527
def on_method_add_block(call, block); end
# :call-seq:
# on_mlhs_add: (
# MLHS mlhs,
# (ARefField | Field | Ident | MLHSParen | VarField) part
# ) -> MLHS
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2556
def on_mlhs_add(mlhs, part); end
# :call-seq:
# on_mlhs_add_post: (MLHS left, MLHS right) -> MLHS
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2565
def on_mlhs_add_post(left, right); end
# :call-seq:
# on_mlhs_add_star: (
# MLHS mlhs,
# (nil | ARefField | Field | Ident | VarField) part
# ) -> MLHS
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2577
def on_mlhs_add_star(mlhs, part); end
# :call-seq:
# on_mlhs_new: () -> MLHS
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2590
def on_mlhs_new; end
# :call-seq:
# on_mlhs_paren: ((MLHS | MLHSParen) contents) -> MLHSParen
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2600
def on_mlhs_paren(contents); end
# :call-seq:
# on_module: (
# (ConstPathRef | ConstRef | TopConstRef) constant,
# BodyStmt bodystmt
# ) -> ModuleDeclaration
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2618
def on_module(constant, bodystmt); end
# :call-seq:
# on_mrhs_add: (MRHS mrhs, untyped part) -> MRHS
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2650
def on_mrhs_add(mrhs, part); end
# :call-seq:
# on_mrhs_add_star: (MRHS mrhs, untyped value) -> MRHS
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2659
def on_mrhs_add_star(mrhs, value); end
# :call-seq:
# on_mrhs_new: () -> MRHS
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2640
def on_mrhs_new; end
# :call-seq:
# on_mrhs_new_from_args: (Args arguments) -> MRHS
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2681
def on_mrhs_new_from_args(arguments); end
# :call-seq:
# on_next: (Args arguments) -> Next
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2687
def on_next(arguments); end
# :call-seq:
# on_op: (String value) -> Op
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2706
def on_op(value); end
# :call-seq:
# on_opassign: (
# (
# ARefField |
# ConstPathField |
# Field |
# TopConstField |
# VarField
# ) target,
# Op operator,
# untyped value
# ) -> OpAssign
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2735
def on_opassign(target, operator, value); end
# If we encounter a parse error, just immediately bail out so that our
# runner can catch it.
#
# @raise [ParseError]
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2863
def on_param_error(error, *_arg1); end
# :call-seq:
# on_params: (
# (nil | Array[Ident]) requireds,
# (nil | Array[[Ident, untyped]]) optionals,
# (nil | ArgsForward | ExcessedComma | RestParam) rest,
# (nil | Array[Ident]) posts,
# (nil | Array[[Ident, nil | untyped]]) keywords,
# (nil | :nil | ArgsForward | KwRestParam) keyword_rest,
# (nil | :& | BlockArg) block
# ) -> Params
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2758
def on_params(requireds, optionals, rest, posts, keywords, keyword_rest, block); end
# :call-seq:
# on_paren: (untyped contents) -> Paren
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2823
def on_paren(contents); end
# If we encounter a parse error, just immediately bail out so that our
# runner can catch it.
#
# @raise [ParseError]
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2863
def on_parse_error(error, *_arg1); end
# :call-seq:
# on_period: (String value) -> Period
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2873
def on_period(value); end
# :call-seq:
# on_program: (Statements statements) -> Program
#
# source://syntax_tree//lib/syntax_tree/parser.rb#2888
def on_program(statements); end
# :call-seq:
# on_qsymbols_add: (QSymbols qsymbols, TStringContent element) -> QSymbols
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3000
def on_qsymbols_add(qsymbols, element); end
# :call-seq:
# on_qsymbols_beg: (String value) -> QSymbolsBeg
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3010
def on_qsymbols_beg(value); end
# :call-seq:
# on_qsymbols_new: () -> QSymbols
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3029
def on_qsymbols_new; end
# :call-seq:
# on_qwords_add: (QWords qwords, TStringContent element) -> QWords
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3041
def on_qwords_add(qwords, element); end
# :call-seq:
# on_qwords_beg: (String value) -> QWordsBeg
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3051
def on_qwords_beg(value); end
# :call-seq:
# on_qwords_new: () -> QWords
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3070
def on_qwords_new; end
# :call-seq:
# on_rational: (String value) -> RationalLiteral
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3082
def on_rational(value); end
# :call-seq:
# on_rbrace: (String value) -> RBrace
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3097
def on_rbrace(value); end
# :call-seq:
# on_rbracket: (String value) -> RBracket
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3116
def on_rbracket(value); end
# :call-seq:
# on_redo: () -> Redo
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3135
def on_redo; end
# :call-seq:
# on_regexp_add: (
# RegexpContent regexp_content,
# (StringDVar | StringEmbExpr | TStringContent) part
# ) -> RegexpContent
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3146
def on_regexp_add(regexp_content, part); end
# :call-seq:
# on_regexp_beg: (String value) -> RegexpBeg
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3156
def on_regexp_beg(value); end
# :call-seq:
# on_regexp_end: (String value) -> RegexpEnd
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3175
def on_regexp_end(value); end
# :call-seq:
# on_regexp_literal: (
# RegexpContent regexp_content,
# (nil | RegexpEnd) ending
# ) -> RegexpLiteral
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3193
def on_regexp_literal(regexp_content, ending); end
# :call-seq:
# on_regexp_new: () -> RegexpContent
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3211
def on_regexp_new; end
# :call-seq:
# on_rescue: (
# (nil | [untyped] | MRHS | MRHSAddStar) exceptions,
# (nil | Field | VarField) variable,
# Statements statements,
# (nil | Rescue) consequent
# ) -> Rescue
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3228
def on_rescue(exceptions, variable, statements, consequent); end
# :call-seq:
# on_rescue_mod: (untyped statement, untyped value) -> RescueMod
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3281
def on_rescue_mod(statement, value); end
# :call-seq:
# on_rest_param: ((nil | Ident) name) -> RestParam
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3293
def on_rest_param(name); end
# :call-seq:
# on_retry: () -> Retry
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3302
def on_retry; end
# :call-seq:
# on_return: (Args arguments) -> ReturnNode
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3310
def on_return(arguments); end
# :call-seq:
# on_return0: () -> ReturnNode
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3321
def on_return0; end
# :call-seq:
# on_rparen: (String value) -> RParen
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3329
def on_rparen(value); end
# :call-seq:
# on_sclass: (untyped target, BodyStmt bodystmt) -> SClass
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3348
def on_sclass(target, bodystmt); end
# :call-seq:
# on_semicolon: (String value) -> Semicolon
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3381
def on_semicolon(value); end
# stmts_add is a parser event that represents a single statement inside a
# list of statements within any lexical block. It accepts as arguments the
# parent stmts node as well as an stmt which can be any expression in
# Ruby.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3400
def on_stmts_add(statements, statement); end
# :call-seq:
# on_stmts_new: () -> Statements
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3413
def on_stmts_new; end
# :call-seq:
# on_string_add: (
# String string,
# (StringEmbExpr | StringDVar | TStringContent) part
# ) -> StringContent
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3426
def on_string_add(string, part); end
# :call-seq:
# on_string_concat: (
# (StringConcat | StringLiteral) left,
# StringLiteral right
# ) -> StringConcat
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3443
def on_string_concat(left, right); end
# :call-seq:
# on_string_content: () -> StringContent
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3453
def on_string_content; end
# :call-seq:
# on_string_dvar: ((Backref | VarRef) variable) -> StringDVar
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3463
def on_string_dvar(variable); end
# :call-seq:
# on_string_embexpr: (Statements statements) -> StringEmbExpr
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3474
def on_string_embexpr(statements); end
# :call-seq:
# on_string_literal: (String string) -> Heredoc | StringLiteral
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3504
def on_string_literal(string); end
# :call-seq:
# on_super: ((ArgParen | Args) arguments) -> Super
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3544
def on_super(arguments); end
# symbeg is a token that represents the beginning of a symbol literal. In
# most cases it will contain just ":" as in the value, but if its a dynamic
# symbol being defined it will contain ":'" or ":\"".
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3556
def on_symbeg(value); end
# :call-seq:
# on_symbol: (
# (Backtick | Const | CVar | GVar | Ident | IVar | Kw | Op) value
# ) -> SymbolContent
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3577
def on_symbol(value); end
# :call-seq:
# on_symbol_literal: (
# (
# Backtick | Const | CVar | GVar | Ident |
# IVar | Kw | Op | SymbolContent
# ) value
# ) -> SymbolLiteral
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3590
def on_symbol_literal(value); end
# :call-seq:
# on_symbols_add: (Symbols symbols, Word word) -> Symbols
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3606
def on_symbols_add(symbols, word); end
# :call-seq:
# on_symbols_beg: (String value) -> SymbolsBeg
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3616
def on_symbols_beg(value); end
# :call-seq:
# on_symbols_new: () -> Symbols
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3635
def on_symbols_new; end
# :call-seq:
# on_tlambda: (String value) -> TLambda
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3647
def on_tlambda(value); end
# :call-seq:
# on_tlambeg: (String value) -> TLamBeg
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3666
def on_tlambeg(value); end
# :call-seq:
# on_top_const_field: (Const constant) -> TopConstRef
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3685
def on_top_const_field(constant); end
# :call-seq:
# on_top_const_ref: (Const constant) -> TopConstRef
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3696
def on_top_const_ref(constant); end
# :call-seq:
# on_tstring_beg: (String value) -> TStringBeg
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3707
def on_tstring_beg(value); end
# :call-seq:
# on_tstring_content: (String value) -> TStringContent
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3726
def on_tstring_content(value); end
# :call-seq:
# on_tstring_end: (String value) -> TStringEnd
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3741
def on_tstring_end(value); end
# :call-seq:
# on_unary: (:not operator, untyped statement) -> Not
# | (Symbol operator, untyped statement) -> Unary
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3761
def on_unary(operator, statement); end
# :call-seq:
# on_undef: (Array[DynaSymbol | SymbolLiteral] symbols) -> Undef
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3804
def on_undef(symbols); end
# :call-seq:
# on_unless: (
# untyped predicate,
# Statements statements,
# ((nil | Elsif | Else) consequent)
# ) -> UnlessNode
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3819
def on_unless(predicate, statements, consequent); end
# :call-seq:
# on_unless_mod: (untyped predicate, untyped statement) -> UnlessNode
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3848
def on_unless_mod(predicate, statement); end
# :call-seq:
# on_until: (untyped predicate, Statements statements) -> UntilNode
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3862
def on_until(predicate, statements); end
# :call-seq:
# on_until_mod: (untyped predicate, untyped statement) -> UntilNode
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3893
def on_until_mod(predicate, statement); end
# :call-seq:
# on_var_alias: (GVar left, (Backref | GVar) right) -> AliasNode
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3906
def on_var_alias(left, right); end
# :call-seq:
# on_var_field: (
# (nil | Const | CVar | GVar | Ident | IVar) value
# ) -> VarField
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3920
def on_var_field(value); end
# :call-seq:
# on_var_ref: ((Const | CVar | GVar | Ident | IVar | Kw) value) -> VarRef
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3935
def on_var_ref(value); end
# :call-seq:
# on_vcall: (Ident ident) -> VCall
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3941
def on_vcall(ident); end
# :call-seq:
# on_void_stmt: () -> VoidStmt
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3947
def on_void_stmt; end
# :call-seq:
# on_when: (
# Args arguments,
# Statements statements,
# (nil | Else | When) consequent
# ) -> When
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3960
def on_when(arguments, statements, consequent); end
# :call-seq:
# on_while: (untyped predicate, Statements statements) -> WhileNode
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3992
def on_while(predicate, statements); end
# :call-seq:
# on_while_mod: (untyped predicate, untyped statement) -> WhileNode
#
# source://syntax_tree//lib/syntax_tree/parser.rb#4023
def on_while_mod(predicate, statement); end
# :call-seq:
# on_word_add: (
# Word word,
# (StringEmbExpr | StringDVar | TStringContent) part
# ) -> Word
#
# source://syntax_tree//lib/syntax_tree/parser.rb#4039
def on_word_add(word, part); end
# :call-seq:
# on_word_new: () -> Word
#
# source://syntax_tree//lib/syntax_tree/parser.rb#4048
def on_word_new; end
# :call-seq:
# on_words_add: (Words words, Word word) -> Words
#
# source://syntax_tree//lib/syntax_tree/parser.rb#4058
def on_words_add(words, word); end
# :call-seq:
# on_words_beg: (String value) -> WordsBeg
#
# source://syntax_tree//lib/syntax_tree/parser.rb#4068
def on_words_beg(value); end
# :call-seq:
# on_words_new: () -> Words
#
# source://syntax_tree//lib/syntax_tree/parser.rb#4087
def on_words_new; end
# :call-seq:
# on_xstring_add: (
# XString xstring,
# (StringEmbExpr | StringDVar | TStringContent) part
# ) -> XString
#
# source://syntax_tree//lib/syntax_tree/parser.rb#4106
def on_xstring_add(xstring, part); end
# :call-seq:
# on_xstring_literal: (XString xstring) -> Heredoc | XStringLiteral
#
# source://syntax_tree//lib/syntax_tree/parser.rb#4130
def on_xstring_literal(xstring); end
# :call-seq:
# on_xstring_new: () -> XString
#
# source://syntax_tree//lib/syntax_tree/parser.rb#4115
def on_xstring_new; end
# :call-seq:
# on_yield: ((Args | Paren) arguments) -> YieldNode
#
# source://syntax_tree//lib/syntax_tree/parser.rb#4153
def on_yield(arguments); end
# :call-seq:
# on_yield0: () -> YieldNode
#
# source://syntax_tree//lib/syntax_tree/parser.rb#4164
def on_yield0; end
# :call-seq:
# on_zsuper: () -> ZSuper
#
# source://syntax_tree//lib/syntax_tree/parser.rb#4172
def on_zsuper; end
end
# Represents a line in the source. If this class is being used, it means
# that there are characters in the string that are multi-byte, so we will
# build up an array of indices, such that array[byteindex] will be equal to
# the index of the character within the string.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#38
class SyntaxTree::Parser::MultiByteString
# @return [MultiByteString] a new instance of MultiByteString
#
# source://syntax_tree//lib/syntax_tree/parser.rb#41
def initialize(start, line); end
# Technically it's possible for the column index to be a negative value if
# there's a BOM at the beginning of the file, which is the reason we need
# to compare it to 0 here.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#55
def [](byteindex); end
# Returns the value of attribute indices.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#39
def indices; end
# Returns the value of attribute start.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#39
def start; end
end
# A special parser error so that we can get nice syntax displays on the
# error message when prettier prints out the results.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#9
class SyntaxTree::Parser::ParseError < ::StandardError
# @return [ParseError] a new instance of ParseError
#
# source://syntax_tree//lib/syntax_tree/parser.rb#12
def initialize(error, lineno, column); end
# Returns the value of attribute column.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#10
def column; end
# Returns the value of attribute lineno.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#10
def lineno; end
end
# Ugh... I really do not like this class. Basically, ripper doesn't provide
# enough information about where pins are located in the tree. It only gives
# events for ^ ops and var_ref nodes. You have to piece it together
# yourself.
#
# Note that there are edge cases here that we straight up do not address,
# because I honestly think it's going to be faster to write a new parser
# than to address them. For example, this will not work properly:
#
# foo in ^((bar = 0; bar; baz))
#
# If someone actually does something like that, we'll have to find another
# way to make this work.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#656
class SyntaxTree::Parser::PinVisitor < ::SyntaxTree::Visitor
# @return [PinVisitor] a new instance of PinVisitor
#
# source://syntax_tree//lib/syntax_tree/parser.rb#659
def initialize(pins); end
# Returns the value of attribute pins.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#657
def pins; end
# Returns the value of attribute stack.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#657
def stack; end
# source://syntax_tree//lib/syntax_tree/parser.rb#664
def visit(node); end
# source://syntax_tree//lib/syntax_tree/parser.rb#672
def visit_var_ref(node); end
class << self
# source://syntax_tree//lib/syntax_tree/parser.rb#677
def visit(node, tokens); end
end
end
# Semicolons are tokens that get added to the token list but never get
# attached to the AST. Because of this they only need to track their
# associated location so they can be used for computing bounds.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3371
class SyntaxTree::Parser::Semicolon
# @return [Semicolon] a new instance of Semicolon
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3374
def initialize(location); end
# Returns the value of attribute location.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#3372
def location; end
end
# Represents a line in the source. If this class is being used, it means
# that every character in the string is 1 byte in length, so we can just
# return the start of the line + the index.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#22
class SyntaxTree::Parser::SingleByteString
# @return [SingleByteString] a new instance of SingleByteString
#
# source://syntax_tree//lib/syntax_tree/parser.rb#25
def initialize(start); end
# source://syntax_tree//lib/syntax_tree/parser.rb#29
def [](byteindex); end
# Returns the value of attribute start.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#23
def start; end
end
# This represents all of the tokens coming back from the lexer. It is
# replacing a simple array because it keeps track of the last deleted token
# from the list for better error messages.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#63
class SyntaxTree::Parser::TokenList
# @return [TokenList] a new instance of TokenList
#
# source://syntax_tree//lib/syntax_tree/parser.rb#66
def initialize; end
# source://syntax_tree//lib/syntax_tree/parser.rb#71
def <<(token); end
# source://syntax_tree//lib/syntax_tree/parser.rb#75
def [](index); end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/parser.rb#79
def any?(&block); end
# source://syntax_tree//lib/syntax_tree/parser.rb#91
def delete(value); end
# source://syntax_tree//lib/syntax_tree/parser.rb#95
def delete_at(index); end
# Returns the value of attribute last_deleted.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#64
def last_deleted; end
# source://syntax_tree//lib/syntax_tree/parser.rb#83
def reverse_each(&block); end
# source://syntax_tree//lib/syntax_tree/parser.rb#87
def rindex(&block); end
# Returns the value of attribute tokens.
#
# source://syntax_tree//lib/syntax_tree/parser.rb#64
def tokens; end
end
# A pattern is an object that wraps a Ruby pattern matching expression. The
# expression would normally be passed to an `in` clause within a `case`
# expression or a rightward assignment expression. For example, in the
# following snippet:
#
# case node
# in Const[value: "SyntaxTree"]
# end
#
# the pattern is the `Const[value: "SyntaxTree"]` expression. Within Syntax
# Tree, every node generates these kinds of expressions using the
# #construct_keys method.
#
# The pattern gets compiled into an object that responds to call by running
# the #compile method. This method itself will run back through Syntax Tree to
# parse the expression into a tree, then walk the tree to generate the
# necessary callable objects. For example, if you wanted to compile the
# expression above into a callable, you would:
#
# callable = SyntaxTree::Pattern.new("Const[value: 'SyntaxTree']").compile
# callable.call(node)
#
# The callable object returned by #compile is guaranteed to respond to #call
# with a single argument, which is the node to match against. It also is
# guaranteed to respond to #===, which means it itself can be used in a `case`
# expression, as in:
#
# case node
# when callable
# end
#
# If the query given to the initializer cannot be compiled into a valid
# matcher (either because of a syntax error or because it is using syntax we
# do not yet support) then a SyntaxTree::Pattern::CompilationError will be
# raised.
#
# source://syntax_tree//lib/syntax_tree/pattern.rb#39
class SyntaxTree::Pattern
# @return [Pattern] a new instance of Pattern
#
# source://syntax_tree//lib/syntax_tree/pattern.rb#61
def initialize(query); end
# source://syntax_tree//lib/syntax_tree/pattern.rb#65
def compile; end
# Returns the value of attribute query.
#
# source://syntax_tree//lib/syntax_tree/pattern.rb#59
def query; end
private
# Shortcut for combining two procs into one that returns true if both return
# true.
#
# source://syntax_tree//lib/syntax_tree/pattern.rb#80
def combine_and(left, right); end
# Shortcut for combining two procs into one that returns true if either
# returns true.
#
# source://syntax_tree//lib/syntax_tree/pattern.rb#86
def combine_or(left, right); end
# in [foo, bar, baz]
#
# source://syntax_tree//lib/syntax_tree/pattern.rb#109
def compile_aryptn(node); end
# in foo | bar
#
# source://syntax_tree//lib/syntax_tree/pattern.rb#134
def compile_binary(node); end
# in Ident
# in String
#
# source://syntax_tree//lib/syntax_tree/pattern.rb#142
def compile_const(node); end
# in SyntaxTree::Ident
#
# source://syntax_tree//lib/syntax_tree/pattern.rb#159
def compile_const_path_ref(node); end
# in :""
# in :"foo"
#
# source://syntax_tree//lib/syntax_tree/pattern.rb#172
def compile_dyna_symbol(node); end
# Raise an error because the given node is not supported.
#
# @raise [CompilationError]
#
# source://syntax_tree//lib/syntax_tree/pattern.rb#91
def compile_error(node); end
# in Ident[value: String]
# in { value: String }
#
# source://syntax_tree//lib/syntax_tree/pattern.rb#188
def compile_hshptn(node); end
# Compile any kind of node. Dispatch out to the individual compilation
# methods based on the type of node.
#
# source://syntax_tree//lib/syntax_tree/pattern.rb#260
def compile_node(node); end
# in /foo/
#
# source://syntax_tree//lib/syntax_tree/pattern.rb#214
def compile_regexp_literal(node); end
# in ""
# in "foo"
#
# source://syntax_tree//lib/syntax_tree/pattern.rb#226
def compile_string_literal(node); end
# in :+
# in :foo
#
# source://syntax_tree//lib/syntax_tree/pattern.rb#238
def compile_symbol_literal(node); end
# in Foo
# in nil
#
# source://syntax_tree//lib/syntax_tree/pattern.rb#246
def compile_var_ref(node); end
# There are a couple of nodes (string literals, dynamic symbols, and regexp)
# that contain list of parts. This can include plain string content,
# interpolated expressions, and interpolated variables. We only support
# plain string content, so this method will extract out the plain string
# content if it is the only element in the list.
#
# source://syntax_tree//lib/syntax_tree/pattern.rb#100
def extract_string(node); end
end
# Raised when the query given to a pattern is either invalid Ruby syntax or
# is using syntax that we don't yet support.
#
# source://syntax_tree//lib/syntax_tree/pattern.rb#42
class SyntaxTree::Pattern::CompilationError < ::StandardError
# @return [CompilationError] a new instance of CompilationError
#
# source://syntax_tree//lib/syntax_tree/pattern.rb#43
def initialize(repr); end
end
# Period represents the use of the +.+ operator. It is usually found in method
# calls.
#
# source://syntax_tree//lib/syntax_tree/node.rb#8569
class SyntaxTree::Period < ::SyntaxTree::Node
# @return [Period] a new instance of Period
#
# source://syntax_tree//lib/syntax_tree/node.rb#8576
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#8611
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#8582
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#8586
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#8574
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#8590
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#8586
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#8603
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#8607
def format(q); end
# [String] the period
#
# source://syntax_tree//lib/syntax_tree/node.rb#8571
def value; end
end
# PinnedBegin represents a pinning a nested statement within pattern matching.
#
# case value
# in ^(statement)
# end
#
# source://syntax_tree//lib/syntax_tree/node.rb#1962
class SyntaxTree::PinnedBegin < ::SyntaxTree::Node
# @return [PinnedBegin] a new instance of PinnedBegin
#
# source://syntax_tree//lib/syntax_tree/node.rb#1969
def initialize(statement:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#2014
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#1975
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#1979
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#1967
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#1983
def copy(statement: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#1979
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#1996
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#2000
def format(q); end
# [Node] the expression being pinned
#
# source://syntax_tree//lib/syntax_tree/node.rb#1964
def statement; end
end
# PinnedVarRef represents a pinned variable reference within a pattern
# matching pattern.
#
# case value
# in ^variable
# end
#
# This can be a plain local variable like the example above. It can also be a
# a class variable, a global variable, or an instance variable.
#
# source://syntax_tree//lib/syntax_tree/node.rb#11677
class SyntaxTree::PinnedVarRef < ::SyntaxTree::Node
# @return [PinnedVarRef] a new instance of PinnedVarRef
#
# source://syntax_tree//lib/syntax_tree/node.rb#11684
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#11722
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#11690
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#11694
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#11682
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#11698
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#11694
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#11711
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#11715
def format(q); end
# [Const | CVar | GVar | Ident | IVar] the value of this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#11679
def value; end
end
# This visitor pretty-prints the AST into an equivalent s-expression.
#
# source://syntax_tree//lib/syntax_tree/pretty_print_visitor.rb#5
class SyntaxTree::PrettyPrintVisitor < ::SyntaxTree::FieldVisitor
# @return [PrettyPrintVisitor] a new instance of PrettyPrintVisitor
#
# source://syntax_tree//lib/syntax_tree/pretty_print_visitor.rb#8
def initialize(q); end
# Returns the value of attribute q.
#
# source://syntax_tree//lib/syntax_tree/pretty_print_visitor.rb#6
def q; end
# This is here because we need to make sure the operator is cast to a string
# before we print it out.
#
# source://syntax_tree//lib/syntax_tree/pretty_print_visitor.rb#14
def visit_binary(node); end
# This is here to make it a little nicer to look at labels since they
# typically have their : at the end of the value.
#
# source://syntax_tree//lib/syntax_tree/pretty_print_visitor.rb#25
def visit_label(node); end
private
# source://syntax_tree//lib/syntax_tree/pretty_print_visitor.rb#36
def comments(node); end
# source://syntax_tree//lib/syntax_tree/pretty_print_visitor.rb#45
def field(_name, value); end
# source://syntax_tree//lib/syntax_tree/pretty_print_visitor.rb#50
def list(_name, values); end
# source://syntax_tree//lib/syntax_tree/pretty_print_visitor.rb#55
def node(_node, type); end
# source://syntax_tree//lib/syntax_tree/pretty_print_visitor.rb#62
def pairs(_name, values); end
# source://syntax_tree//lib/syntax_tree/pretty_print_visitor.rb#78
def text(_name, value); end
end
# Program represents the overall syntax tree.
#
# source://syntax_tree//lib/syntax_tree/node.rb#8617
class SyntaxTree::Program < ::SyntaxTree::Node
# @return [Program] a new instance of Program
#
# source://syntax_tree//lib/syntax_tree/node.rb#8624
def initialize(statements:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#8664
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#8630
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#8634
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#8622
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#8638
def copy(statements: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#8634
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#8651
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#8655
def format(q); end
# [Statements] the top-level expressions of the program
#
# source://syntax_tree//lib/syntax_tree/node.rb#8619
def statements; end
end
# QSymbols represents a symbol literal array without interpolation.
#
# %i[one two three]
#
# source://syntax_tree//lib/syntax_tree/node.rb#8673
class SyntaxTree::QSymbols < ::SyntaxTree::Node
# @return [QSymbols] a new instance of QSymbols
#
# source://syntax_tree//lib/syntax_tree/node.rb#8683
def initialize(beginning:, elements:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#8743
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#8690
def accept(visitor); end
# [QSymbolsBeg] the token that opens this array literal
#
# source://syntax_tree//lib/syntax_tree/node.rb#8675
def beginning; end
# source://syntax_tree//lib/syntax_tree/node.rb#8694
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#8681
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#8698
def copy(beginning: T.unsafe(nil), elements: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#8694
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#8712
def deconstruct_keys(_keys); end
# [Array[ TStringContent ]] the elements of the array
#
# source://syntax_tree//lib/syntax_tree/node.rb#8678
def elements; end
# source://syntax_tree//lib/syntax_tree/node.rb#8721
def format(q); end
end
# QSymbolsBeg represents the beginning of a symbol literal array.
#
# %i[one two three]
#
# In the snippet above, QSymbolsBeg represents the "%i[" token. Note that
# these kinds of arrays can start with a lot of different delimiter types
# (e.g., %i| or %i<).
#
# source://syntax_tree//lib/syntax_tree/node.rb#8756
class SyntaxTree::QSymbolsBeg < ::SyntaxTree::Node
# @return [QSymbolsBeg] a new instance of QSymbolsBeg
#
# source://syntax_tree//lib/syntax_tree/node.rb#8760
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#8786
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#8765
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#8769
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#8773
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#8769
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#8782
def deconstruct_keys(_keys); end
# [String] the beginning of the array literal
#
# source://syntax_tree//lib/syntax_tree/node.rb#8758
def value; end
end
# QWords represents a string literal array without interpolation.
#
# %w[one two three]
#
# source://syntax_tree//lib/syntax_tree/node.rb#8795
class SyntaxTree::QWords < ::SyntaxTree::Node
# @return [QWords] a new instance of QWords
#
# source://syntax_tree//lib/syntax_tree/node.rb#8805
def initialize(beginning:, elements:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#8861
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#8812
def accept(visitor); end
# [QWordsBeg] the token that opens this array literal
#
# source://syntax_tree//lib/syntax_tree/node.rb#8797
def beginning; end
# source://syntax_tree//lib/syntax_tree/node.rb#8816
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#8803
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#8820
def copy(beginning: T.unsafe(nil), elements: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#8816
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#8830
def deconstruct_keys(_keys); end
# [Array[ TStringContent ]] the elements of the array
#
# source://syntax_tree//lib/syntax_tree/node.rb#8800
def elements; end
# source://syntax_tree//lib/syntax_tree/node.rb#8839
def format(q); end
end
# QWordsBeg represents the beginning of a string literal array.
#
# %w[one two three]
#
# In the snippet above, QWordsBeg represents the "%w[" token. Note that these
# kinds of arrays can start with a lot of different delimiter types (e.g.,
# %w| or %w<).
#
# source://syntax_tree//lib/syntax_tree/node.rb#8874
class SyntaxTree::QWordsBeg < ::SyntaxTree::Node
# @return [QWordsBeg] a new instance of QWordsBeg
#
# source://syntax_tree//lib/syntax_tree/node.rb#8878
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#8904
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#8883
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#8887
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#8891
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#8887
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#8900
def deconstruct_keys(_keys); end
# [String] the beginning of the array literal
#
# source://syntax_tree//lib/syntax_tree/node.rb#8876
def value; end
end
# Responsible for providing information about quotes to be used for strings
# and dynamic symbols.
#
# source://syntax_tree//lib/syntax_tree/node.rb#4612
module SyntaxTree::Quotes
class << self
# If there is some part of this string that matches an escape sequence or
# that contains the interpolation pattern ("#{"), then we are locked into
# whichever quote the user chose. (If they chose single quotes, then double
# quoting would activate the escape sequence, and if they chose double
# quotes, then single quotes would deactivate it.)
#
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#4621
def locked?(node, quote); end
# Find the matching closing quote for the given opening quote.
#
# source://syntax_tree//lib/syntax_tree/node.rb#4628
def matching(quote); end
# Escape and unescape single and double quotes as needed to be able to
# enclose +content+ with +enclosing+.
#
# source://syntax_tree//lib/syntax_tree/node.rb#4634
def normalize(content, enclosing); end
end
end
# The matching pairs of quotes that can be used with % literals.
#
# source://syntax_tree//lib/syntax_tree/node.rb#4614
SyntaxTree::Quotes::PAIRS = T.let(T.unsafe(nil), Hash)
# RAssign represents a single-line pattern match.
#
# value in pattern
# value => pattern
#
# source://syntax_tree//lib/syntax_tree/node.rb#3198
class SyntaxTree::RAssign < ::SyntaxTree::Node
# @return [RAssign] a new instance of RAssign
#
# source://syntax_tree//lib/syntax_tree/node.rb#3212
def initialize(value:, operator:, pattern:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#3274
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#3220
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#3224
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#3210
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#3228
def copy(value: T.unsafe(nil), operator: T.unsafe(nil), pattern: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#3224
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#3243
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#3253
def format(q); end
# [Kw | Op] the operator being used to match against the pattern, which is
# either => or in
#
# source://syntax_tree//lib/syntax_tree/node.rb#3204
def operator; end
# [Node] the pattern on the right-hand side of the expression
#
# source://syntax_tree//lib/syntax_tree/node.rb#3207
def pattern; end
# [Node] the left-hand expression
#
# source://syntax_tree//lib/syntax_tree/node.rb#3200
def value; end
end
# RBrace represents the use of a right brace, i.e., +++.
#
# source://syntax_tree//lib/syntax_tree/node.rb#8961
class SyntaxTree::RBrace < ::SyntaxTree::Node
# @return [RBrace] a new instance of RBrace
#
# source://syntax_tree//lib/syntax_tree/node.rb#8965
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#8991
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#8970
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#8974
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#8978
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#8974
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#8987
def deconstruct_keys(_keys); end
# [String] the right brace
#
# source://syntax_tree//lib/syntax_tree/node.rb#8963
def value; end
end
# RBracket represents the use of a right bracket, i.e., +]+.
#
# source://syntax_tree//lib/syntax_tree/node.rb#8997
class SyntaxTree::RBracket < ::SyntaxTree::Node
# @return [RBracket] a new instance of RBracket
#
# source://syntax_tree//lib/syntax_tree/node.rb#9001
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#9027
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#9006
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#9010
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#9014
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#9010
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#9023
def deconstruct_keys(_keys); end
# [String] the right bracket
#
# source://syntax_tree//lib/syntax_tree/node.rb#8999
def value; end
end
# RParen represents the use of a right parenthesis, i.e., +)+.
#
# source://syntax_tree//lib/syntax_tree/node.rb#9767
class SyntaxTree::RParen < ::SyntaxTree::Node
# @return [RParen] a new instance of RParen
#
# source://syntax_tree//lib/syntax_tree/node.rb#9771
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#9797
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#9776
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#9780
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#9784
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#9780
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#9793
def deconstruct_keys(_keys); end
# [String] the parenthesis
#
# source://syntax_tree//lib/syntax_tree/node.rb#9769
def value; end
end
# RangeNode represents using the .. or the ... operator between two
# expressions. Usually this is to create a range object.
#
# 1..2
#
# Sometimes this operator is used to create a flip-flop.
#
# if value == 5 .. value == 10
# end
#
# One of the sides of the expression may be nil, but not both.
#
# source://syntax_tree//lib/syntax_tree/node.rb#4537
class SyntaxTree::RangeNode < ::SyntaxTree::Node
# @return [RangeNode] a new instance of RangeNode
#
# source://syntax_tree//lib/syntax_tree/node.rb#4550
def initialize(left:, operator:, right:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#4604
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#4558
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#4562
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#4548
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#4566
def copy(left: T.unsafe(nil), operator: T.unsafe(nil), right: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#4562
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#4581
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#4591
def format(q); end
# [nil | Node] the left side of the expression
#
# source://syntax_tree//lib/syntax_tree/node.rb#4539
def left; end
# [Op] the operator used for this range
#
# source://syntax_tree//lib/syntax_tree/node.rb#4542
def operator; end
# [nil | Node] the right side of the expression
#
# source://syntax_tree//lib/syntax_tree/node.rb#4545
def right; end
end
# RationalLiteral represents the use of a rational number literal.
#
# 1r
#
# source://syntax_tree//lib/syntax_tree/node.rb#8913
class SyntaxTree::RationalLiteral < ::SyntaxTree::Node
# @return [RationalLiteral] a new instance of RationalLiteral
#
# source://syntax_tree//lib/syntax_tree/node.rb#8920
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#8955
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#8926
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#8930
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#8918
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#8934
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#8930
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#8947
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#8951
def format(q); end
# [String] the rational number literal
#
# source://syntax_tree//lib/syntax_tree/node.rb#8915
def value; end
end
# Redo represents the use of the +redo+ keyword.
#
# redo
#
# source://syntax_tree//lib/syntax_tree/node.rb#9036
class SyntaxTree::Redo < ::SyntaxTree::Node
# @return [Redo] a new instance of Redo
#
# source://syntax_tree//lib/syntax_tree/node.rb#9040
def initialize(location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#9070
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#9045
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#9049
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#9038
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#9053
def copy(location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#9049
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#9062
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#9066
def format(q); end
end
# RegexpBeg represents the start of a regular expression literal.
#
# /.+/
#
# In the example above, RegexpBeg represents the first / token. Regular
# expression literals can also be declared using the %r syntax, as in:
#
# %r{.+}
#
# source://syntax_tree//lib/syntax_tree/node.rb#9132
class SyntaxTree::RegexpBeg < ::SyntaxTree::Node
# @return [RegexpBeg] a new instance of RegexpBeg
#
# source://syntax_tree//lib/syntax_tree/node.rb#9136
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#9162
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#9141
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#9145
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#9149
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#9145
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#9158
def deconstruct_keys(_keys); end
# [String] the beginning of the regular expression
#
# source://syntax_tree//lib/syntax_tree/node.rb#9134
def value; end
end
# RegexpContent represents the body of a regular expression.
#
# /.+ #{pattern} .+/
#
# In the example above, a RegexpContent node represents everything contained
# within the forward slashes.
#
# source://syntax_tree//lib/syntax_tree/node.rb#9081
class SyntaxTree::RegexpContent < ::SyntaxTree::Node
# @return [RegexpContent] a new instance of RegexpContent
#
# source://syntax_tree//lib/syntax_tree/node.rb#9089
def initialize(beginning:, parts:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#9117
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#9095
def accept(visitor); end
# [String] the opening of the regular expression
#
# source://syntax_tree//lib/syntax_tree/node.rb#9083
def beginning; end
# source://syntax_tree//lib/syntax_tree/node.rb#9099
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#9103
def copy(beginning: T.unsafe(nil), parts: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#9099
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#9113
def deconstruct_keys(_keys); end
# [Array[ StringDVar | StringEmbExpr | TStringContent ]] the parts of the
# regular expression
#
# source://syntax_tree//lib/syntax_tree/node.rb#9087
def parts; end
end
# RegexpEnd represents the end of a regular expression literal.
#
# /.+/m
#
# In the example above, the RegexpEnd event represents the /m at the end of
# the regular expression literal. You can also declare regular expression
# literals using %r, as in:
#
# %r{.+}m
#
# source://syntax_tree//lib/syntax_tree/node.rb#9177
class SyntaxTree::RegexpEnd < ::SyntaxTree::Node
# @return [RegexpEnd] a new instance of RegexpEnd
#
# source://syntax_tree//lib/syntax_tree/node.rb#9181
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#9207
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#9186
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#9190
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#9194
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#9190
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#9203
def deconstruct_keys(_keys); end
# [String] the end of the regular expression
#
# source://syntax_tree//lib/syntax_tree/node.rb#9179
def value; end
end
# RegexpLiteral represents a regular expression literal.
#
# /.+/
#
# source://syntax_tree//lib/syntax_tree/node.rb#9216
class SyntaxTree::RegexpLiteral < ::SyntaxTree::Node
# @return [RegexpLiteral] a new instance of RegexpLiteral
#
# source://syntax_tree//lib/syntax_tree/node.rb#9230
def initialize(beginning:, ending:, parts:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#9312
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#9238
def accept(visitor); end
# [String] the beginning of the regular expression literal
#
# source://syntax_tree//lib/syntax_tree/node.rb#9218
def beginning; end
# source://syntax_tree//lib/syntax_tree/node.rb#9242
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#9228
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#9246
def copy(beginning: T.unsafe(nil), ending: T.unsafe(nil), parts: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#9242
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#9261
def deconstruct_keys(_keys); end
# [String] the ending of the regular expression literal
#
# source://syntax_tree//lib/syntax_tree/node.rb#9221
def ending; end
# source://syntax_tree//lib/syntax_tree/node.rb#9272
def format(q); end
# source://syntax_tree//lib/syntax_tree/node.rb#9318
def options; end
# [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the
# regular expression literal
#
# source://syntax_tree//lib/syntax_tree/node.rb#9225
def parts; end
private
# If the first part of this regex is plain string content, we have a space
# or an =, and we're contained within a command or command_call node, then
# we want to use braces because otherwise we could end up with an ambiguous
# operator, e.g. foo / bar/ or foo /=bar/
#
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#9334
def ambiguous?(q); end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#9324
def include?(pattern); end
end
# Rescue represents the use of the rescue keyword inside of a BodyStmt node.
#
# begin
# rescue
# end
#
# source://syntax_tree//lib/syntax_tree/node.rb#9424
class SyntaxTree::Rescue < ::SyntaxTree::Node
# @return [Rescue] a new instance of Rescue
#
# source://syntax_tree//lib/syntax_tree/node.rb#9440
def initialize(keyword:, exception:, statements:, consequent:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#9536
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#9471
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#9449
def bind_end(end_char, end_column); end
# source://syntax_tree//lib/syntax_tree/node.rb#9475
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#9438
def comments; end
# [nil | Rescue] the optional next clause in the chain
#
# source://syntax_tree//lib/syntax_tree/node.rb#9435
def consequent; end
# source://syntax_tree//lib/syntax_tree/node.rb#9479
def copy(keyword: T.unsafe(nil), exception: T.unsafe(nil), statements: T.unsafe(nil), consequent: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#9475
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#9501
def deconstruct_keys(_keys); end
# [nil | RescueEx] the exceptions being rescued
#
# source://syntax_tree//lib/syntax_tree/node.rb#9429
def exception; end
# source://syntax_tree//lib/syntax_tree/node.rb#9512
def format(q); end
# [Kw] the rescue keyword
#
# source://syntax_tree//lib/syntax_tree/node.rb#9426
def keyword; end
# [Statements] the expressions to evaluate when an error is rescued
#
# source://syntax_tree//lib/syntax_tree/node.rb#9432
def statements; end
end
# RescueEx represents the list of exceptions being rescued in a rescue clause.
#
# begin
# rescue Exception => exception
# end
#
# source://syntax_tree//lib/syntax_tree/node.rb#9349
class SyntaxTree::RescueEx < ::SyntaxTree::Node
# @return [RescueEx] a new instance of RescueEx
#
# source://syntax_tree//lib/syntax_tree/node.rb#9360
def initialize(exceptions:, variable:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#9412
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#9367
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#9371
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#9358
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#9375
def copy(exceptions: T.unsafe(nil), variable: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#9371
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#9389
def deconstruct_keys(_keys); end
# [nil | Node] the list of exceptions being rescued
#
# source://syntax_tree//lib/syntax_tree/node.rb#9351
def exceptions; end
# source://syntax_tree//lib/syntax_tree/node.rb#9398
def format(q); end
# [nil | Field | VarField] the expression being used to capture the raised
# exception
#
# source://syntax_tree//lib/syntax_tree/node.rb#9355
def variable; end
end
# RescueMod represents the use of the modifier form of a +rescue+ clause.
#
# expression rescue value
#
# source://syntax_tree//lib/syntax_tree/node.rb#9547
class SyntaxTree::RescueMod < ::SyntaxTree::Node
# @return [RescueMod] a new instance of RescueMod
#
# source://syntax_tree//lib/syntax_tree/node.rb#9557
def initialize(statement:, value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#9613
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#9564
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#9568
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#9555
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#9572
def copy(statement: T.unsafe(nil), value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#9568
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#9586
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#9595
def format(q); end
# [Node] the expression to execute
#
# source://syntax_tree//lib/syntax_tree/node.rb#9549
def statement; end
# [Node] the value to use if the executed expression raises an error
#
# source://syntax_tree//lib/syntax_tree/node.rb#9552
def value; end
end
# RestParam represents defining a parameter in a method definition that
# accepts all remaining positional parameters.
#
# def method(*rest) end
#
# source://syntax_tree//lib/syntax_tree/node.rb#9624
class SyntaxTree::RestParam < ::SyntaxTree::Node
# @return [RestParam] a new instance of RestParam
#
# source://syntax_tree//lib/syntax_tree/node.rb#9631
def initialize(name:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#9667
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#9637
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#9641
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#9629
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#9645
def copy(name: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#9641
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#9658
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#9662
def format(q); end
# [nil | Ident] the name of the parameter
#
# source://syntax_tree//lib/syntax_tree/node.rb#9626
def name; end
end
# Retry represents the use of the +retry+ keyword.
#
# retry
#
# source://syntax_tree//lib/syntax_tree/node.rb#9676
class SyntaxTree::Retry < ::SyntaxTree::Node
# @return [Retry] a new instance of Retry
#
# source://syntax_tree//lib/syntax_tree/node.rb#9680
def initialize(location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#9710
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#9685
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#9689
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#9678
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#9693
def copy(location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#9689
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#9702
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#9706
def format(q); end
end
# Return represents using the +return+ keyword with arguments.
#
# return value
#
# source://syntax_tree//lib/syntax_tree/node.rb#9719
class SyntaxTree::ReturnNode < ::SyntaxTree::Node
# @return [ReturnNode] a new instance of ReturnNode
#
# source://syntax_tree//lib/syntax_tree/node.rb#9726
def initialize(arguments:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#9761
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#9732
def accept(visitor); end
# [nil | Args] the arguments being passed to the keyword
#
# source://syntax_tree//lib/syntax_tree/node.rb#9721
def arguments; end
# source://syntax_tree//lib/syntax_tree/node.rb#9736
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#9724
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#9740
def copy(arguments: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#9736
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#9753
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#9757
def format(q); end
end
# SClass represents a block of statements that should be evaluated within the
# context of the singleton class of an object. It's frequently used to define
# singleton methods.
#
# class << self
# end
#
# source://syntax_tree//lib/syntax_tree/node.rb#9809
class SyntaxTree::SClass < ::SyntaxTree::Node
# @return [SClass] a new instance of SClass
#
# source://syntax_tree//lib/syntax_tree/node.rb#9819
def initialize(target:, bodystmt:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#9870
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#9826
def accept(visitor); end
# [BodyStmt] the expressions to be executed
#
# source://syntax_tree//lib/syntax_tree/node.rb#9814
def bodystmt; end
# source://syntax_tree//lib/syntax_tree/node.rb#9830
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#9817
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#9834
def copy(target: T.unsafe(nil), bodystmt: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#9830
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#9848
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#9857
def format(q); end
# [Node] the target of the singleton class to enter
#
# source://syntax_tree//lib/syntax_tree/node.rb#9811
def target; end
end
# Provides an interface for searching for a pattern of nodes against a
# subtree of an AST.
#
# source://syntax_tree//lib/syntax_tree/search.rb#6
class SyntaxTree::Search
# @return [Search] a new instance of Search
#
# source://syntax_tree//lib/syntax_tree/search.rb#9
def initialize(pattern); end
# Returns the value of attribute pattern.
#
# source://syntax_tree//lib/syntax_tree/search.rb#7
def pattern; end
# source://syntax_tree//lib/syntax_tree/search.rb#13
def scan(root); end
end
# Everything that has a block of code inside of it has a list of statements.
# Normally we would just track those as a node that has an array body, but we
# have some special handling in order to handle empty statement lists. They
# need to have the right location information, so all of the parent node of
# stmts nodes will report back down the location information. We then
# propagate that onto void_stmt nodes inside the stmts in order to make sure
# all comments get printed appropriately.
#
# source://syntax_tree//lib/syntax_tree/node.rb#9883
class SyntaxTree::Statements < ::SyntaxTree::Node
# @return [Statements] a new instance of Statements
#
# source://syntax_tree//lib/syntax_tree/node.rb#9890
def initialize(body:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#10016
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#9943
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#9896
def bind(parser, start_char, start_column, end_char, end_column); end
# source://syntax_tree//lib/syntax_tree/node.rb#9925
def bind_end(end_char, end_column); end
# [Array[ Node ]] the list of expressions contained within this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#9885
def body; end
# source://syntax_tree//lib/syntax_tree/node.rb#9947
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#9888
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#9951
def copy(body: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#9947
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#9964
def deconstruct_keys(_keys); end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#9937
def empty?; end
# source://syntax_tree//lib/syntax_tree/node.rb#9968
def format(q); end
private
# As efficiently as possible, gather up all of the comments that have been
# found while this statements list was being parsed and add them into the
# body.
#
# source://syntax_tree//lib/syntax_tree/node.rb#10025
def attach_comments(parser, start_char, end_char); end
end
# StringConcat represents concatenating two strings together using a backward
# slash.
#
# "first" \
# "second"
#
# source://syntax_tree//lib/syntax_tree/node.rb#10140
class SyntaxTree::StringConcat < ::SyntaxTree::Node
# @return [StringConcat] a new instance of StringConcat
#
# source://syntax_tree//lib/syntax_tree/node.rb#10151
def initialize(left:, right:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#10195
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#10158
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#10162
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#10149
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#10166
def copy(left: T.unsafe(nil), right: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#10162
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#10180
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#10184
def format(q); end
# [Heredoc | StringConcat | StringLiteral] the left side of the
# concatenation
#
# source://syntax_tree//lib/syntax_tree/node.rb#10143
def left; end
# [StringLiteral] the right side of the concatenation
#
# source://syntax_tree//lib/syntax_tree/node.rb#10146
def right; end
end
# StringContent represents the contents of a string-like value.
#
# "string"
#
# source://syntax_tree//lib/syntax_tree/node.rb#10067
class SyntaxTree::StringContent < ::SyntaxTree::Node
# @return [StringContent] a new instance of StringContent
#
# source://syntax_tree//lib/syntax_tree/node.rb#10075
def initialize(parts:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#10102
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#10081
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#10085
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#10073
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#10089
def copy(parts: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#10085
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#10098
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#10106
def format(q); end
# [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the
# string
#
# source://syntax_tree//lib/syntax_tree/node.rb#10070
def parts; end
end
# StringDVar represents shorthand interpolation of a variable into a string.
# It allows you to take an instance variable, class variable, or global
# variable and omit the braces when interpolating.
#
# "#@variable"
#
# source://syntax_tree//lib/syntax_tree/node.rb#10206
class SyntaxTree::StringDVar < ::SyntaxTree::Node
# @return [StringDVar] a new instance of StringDVar
#
# source://syntax_tree//lib/syntax_tree/node.rb#10213
def initialize(variable:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#10250
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#10219
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#10223
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#10211
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#10227
def copy(variable: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#10223
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#10240
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#10244
def format(q); end
# [Backref | VarRef] the variable being interpolated
#
# source://syntax_tree//lib/syntax_tree/node.rb#10208
def variable; end
end
# StringEmbExpr represents interpolated content. It can be contained within a
# couple of different parent nodes, including regular expressions, strings,
# and dynamic symbols.
#
# "string #{expression}"
#
# source://syntax_tree//lib/syntax_tree/node.rb#10261
class SyntaxTree::StringEmbExpr < ::SyntaxTree::Node
# @return [StringEmbExpr] a new instance of StringEmbExpr
#
# source://syntax_tree//lib/syntax_tree/node.rb#10268
def initialize(statements:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#10325
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#10274
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#10278
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#10266
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#10282
def copy(statements: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#10278
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#10295
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#10299
def format(q); end
# [Statements] the expressions to be interpolated
#
# source://syntax_tree//lib/syntax_tree/node.rb#10263
def statements; end
end
# StringLiteral represents a string literal.
#
# "string"
#
# source://syntax_tree//lib/syntax_tree/node.rb#10334
class SyntaxTree::StringLiteral < ::SyntaxTree::Node
# @return [StringLiteral] a new instance of StringLiteral
#
# source://syntax_tree//lib/syntax_tree/node.rb#10345
def initialize(parts:, quote:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#10419
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#10352
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#10356
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#10343
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#10360
def copy(parts: T.unsafe(nil), quote: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#10356
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#10374
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#10378
def format(q); end
# [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the
# string literal
#
# source://syntax_tree//lib/syntax_tree/node.rb#10337
def parts; end
# [nil | String] which quote was used by the string literal
#
# source://syntax_tree//lib/syntax_tree/node.rb#10340
def quote; end
end
# Super represents using the +super+ keyword with arguments. It can optionally
# use parentheses.
#
# super(value)
#
# source://syntax_tree//lib/syntax_tree/node.rb#10430
class SyntaxTree::Super < ::SyntaxTree::Node
# @return [Super] a new instance of Super
#
# source://syntax_tree//lib/syntax_tree/node.rb#10437
def initialize(arguments:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#10481
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#10443
def accept(visitor); end
# [ArgParen | Args] the arguments to the keyword
#
# source://syntax_tree//lib/syntax_tree/node.rb#10432
def arguments; end
# source://syntax_tree//lib/syntax_tree/node.rb#10447
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#10435
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#10451
def copy(arguments: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#10447
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#10464
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#10468
def format(q); end
end
# SymBeg represents the beginning of a symbol literal.
#
# :symbol
#
# SymBeg is also used for dynamic symbols, as in:
#
# :"symbol"
#
# Finally, SymBeg is also used for symbols using the %s syntax, as in:
#
# %s[symbol]
#
# The value of this node is a string. In most cases (as in the first example
# above) it will contain just ":". In the case of dynamic symbols it will
# contain ":'" or ":\"". In the case of %s symbols, it will contain the start
# of the symbol including the %s and the delimiter.
#
# source://syntax_tree//lib/syntax_tree/node.rb#10502
class SyntaxTree::SymBeg < ::SyntaxTree::Node
# @return [SymBeg] a new instance of SymBeg
#
# source://syntax_tree//lib/syntax_tree/node.rb#10506
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#10532
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#10511
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#10515
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#10519
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#10515
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#10528
def deconstruct_keys(_keys); end
# [String] the beginning of the symbol
#
# source://syntax_tree//lib/syntax_tree/node.rb#10504
def value; end
end
# SymbolContent represents symbol contents and is always the child of a
# SymbolLiteral node.
#
# :symbol
#
# source://syntax_tree//lib/syntax_tree/node.rb#10542
class SyntaxTree::SymbolContent < ::SyntaxTree::Node
# @return [SymbolContent] a new instance of SymbolContent
#
# source://syntax_tree//lib/syntax_tree/node.rb#10547
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#10573
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#10552
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#10556
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#10560
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#10556
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#10569
def deconstruct_keys(_keys); end
# [Backtick | Const | CVar | GVar | Ident | IVar | Kw | Op] the value of the
# symbol
#
# source://syntax_tree//lib/syntax_tree/node.rb#10545
def value; end
end
# SymbolLiteral represents a symbol in the system with no interpolation
# (as opposed to a DynaSymbol which has interpolation).
#
# :symbol
#
# source://syntax_tree//lib/syntax_tree/node.rb#10583
class SyntaxTree::SymbolLiteral < ::SyntaxTree::Node
# @return [SymbolLiteral] a new instance of SymbolLiteral
#
# source://syntax_tree//lib/syntax_tree/node.rb#10591
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#10628
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#10597
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#10601
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#10589
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#10605
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#10601
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#10618
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#10622
def format(q); end
# [Backtick | Const | CVar | GVar | Ident | IVar | Kw | Op | TStringContent]
# the value of the symbol
#
# source://syntax_tree//lib/syntax_tree/node.rb#10586
def value; end
end
# Symbols represents a symbol array literal with interpolation.
#
# %I[one two three]
#
# source://syntax_tree//lib/syntax_tree/node.rb#10637
class SyntaxTree::Symbols < ::SyntaxTree::Node
# @return [Symbols] a new instance of Symbols
#
# source://syntax_tree//lib/syntax_tree/node.rb#10647
def initialize(beginning:, elements:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#10703
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#10654
def accept(visitor); end
# [SymbolsBeg] the token that opens this array literal
#
# source://syntax_tree//lib/syntax_tree/node.rb#10639
def beginning; end
# source://syntax_tree//lib/syntax_tree/node.rb#10658
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#10645
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#10662
def copy(beginning: T.unsafe(nil), elements: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#10658
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#10672
def deconstruct_keys(_keys); end
# [Array[ Word ]] the words in the symbol array literal
#
# source://syntax_tree//lib/syntax_tree/node.rb#10642
def elements; end
# source://syntax_tree//lib/syntax_tree/node.rb#10681
def format(q); end
end
# SymbolsBeg represents the start of a symbol array literal with
# interpolation.
#
# %I[one two three]
#
# In the snippet above, SymbolsBeg represents the "%I[" token. Note that these
# kinds of arrays can start with a lot of different delimiter types
# (e.g., %I| or %I<).
#
# source://syntax_tree//lib/syntax_tree/node.rb#10717
class SyntaxTree::SymbolsBeg < ::SyntaxTree::Node
# @return [SymbolsBeg] a new instance of SymbolsBeg
#
# source://syntax_tree//lib/syntax_tree/node.rb#10721
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#10747
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#10726
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#10730
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#10734
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#10730
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#10743
def deconstruct_keys(_keys); end
# [String] the beginning of the symbol literal array
#
# source://syntax_tree//lib/syntax_tree/node.rb#10719
def value; end
end
# TLamBeg represents the beginning of the body of a lambda literal using
# braces.
#
# -> { value }
#
# In the example above the TLamBeg represents the +{+ operator.
#
# source://syntax_tree//lib/syntax_tree/node.rb#10798
class SyntaxTree::TLamBeg < ::SyntaxTree::Node
# @return [TLamBeg] a new instance of TLamBeg
#
# source://syntax_tree//lib/syntax_tree/node.rb#10802
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#10828
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#10807
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#10811
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#10815
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#10811
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#10824
def deconstruct_keys(_keys); end
# [String] the beginning of the body of the lambda literal
#
# source://syntax_tree//lib/syntax_tree/node.rb#10800
def value; end
end
# TLambda represents the beginning of a lambda literal.
#
# -> { value }
#
# In the example above the TLambda represents the +->+ operator.
#
# source://syntax_tree//lib/syntax_tree/node.rb#10757
class SyntaxTree::TLambda < ::SyntaxTree::Node
# @return [TLambda] a new instance of TLambda
#
# source://syntax_tree//lib/syntax_tree/node.rb#10761
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#10787
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#10766
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#10770
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#10774
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#10770
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#10783
def deconstruct_keys(_keys); end
# [String] the beginning of the lambda literal
#
# source://syntax_tree//lib/syntax_tree/node.rb#10759
def value; end
end
# TStringBeg represents the beginning of a string literal.
#
# "string"
#
# In the example above, TStringBeg represents the first set of quotes. Strings
# can also use single quotes. They can also be declared using the +%q+ and
# +%Q+ syntax, as in:
#
# %q{string}
#
# source://syntax_tree//lib/syntax_tree/node.rb#10950
class SyntaxTree::TStringBeg < ::SyntaxTree::Node
# @return [TStringBeg] a new instance of TStringBeg
#
# source://syntax_tree//lib/syntax_tree/node.rb#10954
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#10980
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#10959
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#10963
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#10967
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#10963
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#10976
def deconstruct_keys(_keys); end
# [String] the beginning of the string
#
# source://syntax_tree//lib/syntax_tree/node.rb#10952
def value; end
end
# TStringContent represents plain characters inside of an entity that accepts
# string content like a string, heredoc, command string, or regular
# expression.
#
# "string"
#
# In the example above, TStringContent represents the +string+ token contained
# within the string.
#
# source://syntax_tree//lib/syntax_tree/node.rb#10993
class SyntaxTree::TStringContent < ::SyntaxTree::Node
# @return [TStringContent] a new instance of TStringContent
#
# source://syntax_tree//lib/syntax_tree/node.rb#11000
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#11039
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#11010
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#11014
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#10998
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#11018
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#11014
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#11031
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#11035
def format(q); end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#11006
def match?(pattern); end
# [String] the content of the string
#
# source://syntax_tree//lib/syntax_tree/node.rb#10995
def value; end
end
# TStringEnd represents the end of a string literal.
#
# "string"
#
# In the example above, TStringEnd represents the second set of quotes.
# Strings can also use single quotes. They can also be declared using the +%q+
# and +%Q+ syntax, as in:
#
# %q{string}
#
# source://syntax_tree//lib/syntax_tree/node.rb#11054
class SyntaxTree::TStringEnd < ::SyntaxTree::Node
# @return [TStringEnd] a new instance of TStringEnd
#
# source://syntax_tree//lib/syntax_tree/node.rb#11058
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#11084
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#11063
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#11067
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#11071
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#11067
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#11080
def deconstruct_keys(_keys); end
# [String] the end of the string
#
# source://syntax_tree//lib/syntax_tree/node.rb#11056
def value; end
end
# In order for an `if` or `unless` expression to be shortened to a ternary,
# there has to be one and only one consequent clause which is an Else. Both
# the body of the main node and the body of the Else node must have only one
# statement, and that statement must not be on the denied list of potential
# statements.
#
# source://syntax_tree//lib/syntax_tree/node.rb#6251
module SyntaxTree::Ternaryable
class << self
# source://syntax_tree//lib/syntax_tree/node.rb#6253
def call(q, node); end
private
# Certain expressions cannot be reduced to a ternary without adding
# parentheses around them. In this case we say they cannot be ternaried
# and default instead to breaking them into multiple lines.
#
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#6291
def ternaryable?(statement); end
end
end
# TopConstField is always the child node of some kind of assignment. It
# represents when you're assigning to a constant that is being referenced at
# the top level.
#
# ::Constant = value
#
# source://syntax_tree//lib/syntax_tree/node.rb#10839
class SyntaxTree::TopConstField < ::SyntaxTree::Node
# @return [TopConstField] a new instance of TopConstField
#
# source://syntax_tree//lib/syntax_tree/node.rb#10846
def initialize(constant:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#10882
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#10852
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#10856
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#10844
def comments; end
# [Const] the constant being assigned
#
# source://syntax_tree//lib/syntax_tree/node.rb#10841
def constant; end
# source://syntax_tree//lib/syntax_tree/node.rb#10860
def copy(constant: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#10856
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#10873
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#10877
def format(q); end
end
# TopConstRef is very similar to TopConstField except that it is not involved
# in an assignment.
#
# ::Constant
#
# source://syntax_tree//lib/syntax_tree/node.rb#10892
class SyntaxTree::TopConstRef < ::SyntaxTree::Node
# @return [TopConstRef] a new instance of TopConstRef
#
# source://syntax_tree//lib/syntax_tree/node.rb#10899
def initialize(constant:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#10935
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#10905
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#10909
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#10897
def comments; end
# [Const] the constant being referenced
#
# source://syntax_tree//lib/syntax_tree/node.rb#10894
def constant; end
# source://syntax_tree//lib/syntax_tree/node.rb#10913
def copy(constant: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#10909
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#10926
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#10930
def format(q); end
end
# This module is responsible for translating the Syntax Tree syntax tree into
# other representations.
#
# source://syntax_tree//lib/syntax_tree/translation.rb#6
module SyntaxTree::Translation
class << self
# This method translates the given node into the representation defined by
# the whitequark/parser gem. We don't explicitly list it as a dependency
# because it's not required for the core functionality of Syntax Tree.
#
# source://syntax_tree//lib/syntax_tree/translation.rb#10
def to_parser(node, buffer); end
# This method translates the given node into the representation defined by
# the rubocop/rubocop-ast gem. We don't explicitly list it as a dependency
# because it's not required for the core functionality of Syntax Tree.
#
# source://syntax_tree//lib/syntax_tree/translation.rb#20
def to_rubocop_ast(node, buffer); end
end
end
# Unary represents a unary method being called on an expression, as in +!+ or
# +~+.
#
# !value
#
# source://syntax_tree//lib/syntax_tree/node.rb#11177
class SyntaxTree::Unary < ::SyntaxTree::Node
# @return [Unary] a new instance of Unary
#
# source://syntax_tree//lib/syntax_tree/node.rb#11187
def initialize(operator:, statement:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#11230
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#11194
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#11198
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#11185
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#11202
def copy(operator: T.unsafe(nil), statement: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#11198
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#11216
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#11225
def format(q); end
# [String] the operator being used
#
# source://syntax_tree//lib/syntax_tree/node.rb#11179
def operator; end
# [Node] the statement on which to operate
#
# source://syntax_tree//lib/syntax_tree/node.rb#11182
def statement; end
end
# Undef represents the use of the +undef+ keyword.
#
# undef method
#
# source://syntax_tree//lib/syntax_tree/node.rb#11240
class SyntaxTree::Undef < ::SyntaxTree::Node
# @return [Undef] a new instance of Undef
#
# source://syntax_tree//lib/syntax_tree/node.rb#11271
def initialize(symbols:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#11314
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#11277
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#11281
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#11269
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#11285
def copy(symbols: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#11281
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#11298
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#11302
def format(q); end
# [Array[ DynaSymbol | SymbolLiteral ]] the symbols to undefine
#
# source://syntax_tree//lib/syntax_tree/node.rb#11266
def symbols; end
end
# Undef accepts a variable number of arguments that can be either DynaSymbol
# or SymbolLiteral objects. For SymbolLiteral objects we descend directly
# into the value in order to have it come out as bare words.
#
# source://syntax_tree//lib/syntax_tree/node.rb#11244
class SyntaxTree::Undef::UndefArgumentFormatter
# @return [UndefArgumentFormatter] a new instance of UndefArgumentFormatter
#
# source://syntax_tree//lib/syntax_tree/node.rb#11248
def initialize(node); end
# source://syntax_tree//lib/syntax_tree/node.rb#11252
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#11260
def format(q); end
# [DynaSymbol | SymbolLiteral] the symbol to undefine
#
# source://syntax_tree//lib/syntax_tree/node.rb#11246
def node; end
end
# Unless represents the first clause in an +unless+ chain.
#
# unless predicate
# end
#
# source://syntax_tree//lib/syntax_tree/node.rb#11324
class SyntaxTree::UnlessNode < ::SyntaxTree::Node
# @return [UnlessNode] a new instance of UnlessNode
#
# source://syntax_tree//lib/syntax_tree/node.rb#11337
def initialize(predicate:, statements:, consequent:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#11382
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#11345
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#11349
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#11335
def comments; end
# [nil | Elsif | Else] the next clause in the chain
#
# source://syntax_tree//lib/syntax_tree/node.rb#11332
def consequent; end
# source://syntax_tree//lib/syntax_tree/node.rb#11353
def copy(predicate: T.unsafe(nil), statements: T.unsafe(nil), consequent: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#11349
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#11368
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#11378
def format(q); end
# Checks if the node was originally found in the modifier form.
#
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#11388
def modifier?; end
# [Node] the expression to be checked
#
# source://syntax_tree//lib/syntax_tree/node.rb#11326
def predicate; end
# [Statements] the expressions to be executed
#
# source://syntax_tree//lib/syntax_tree/node.rb#11329
def statements; end
end
# Until represents an +until+ loop.
#
# until predicate
# end
#
# source://syntax_tree//lib/syntax_tree/node.rb#11470
class SyntaxTree::UntilNode < ::SyntaxTree::Node
# @return [UntilNode] a new instance of UntilNode
#
# source://syntax_tree//lib/syntax_tree/node.rb#11480
def initialize(predicate:, statements:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#11522
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#11487
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#11491
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#11478
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#11495
def copy(predicate: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#11491
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#11509
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#11518
def format(q); end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#11527
def modifier?; end
# [Node] the expression to be checked
#
# source://syntax_tree//lib/syntax_tree/node.rb#11472
def predicate; end
# [Statements] the expressions to be executed
#
# source://syntax_tree//lib/syntax_tree/node.rb#11475
def statements; end
end
# VCall represent any plain named object with Ruby that could be either a
# local variable or a method call.
#
# variable
#
# source://syntax_tree//lib/syntax_tree/node.rb#11732
class SyntaxTree::VCall < ::SyntaxTree::Node
# @return [VCall] a new instance of VCall
#
# source://syntax_tree//lib/syntax_tree/node.rb#11739
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#11774
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#11745
def accept(visitor); end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#11778
def access_control?; end
# source://syntax_tree//lib/syntax_tree/node.rb#11782
def arity; end
# source://syntax_tree//lib/syntax_tree/node.rb#11749
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#11737
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#11753
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#11749
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#11766
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#11770
def format(q); end
# [Ident] the value of this expression
#
# source://syntax_tree//lib/syntax_tree/node.rb#11734
def value; end
end
# source://syntax_tree//lib/syntax_tree/version.rb#4
SyntaxTree::VERSION = T.let(T.unsafe(nil), String)
# VarField represents a variable that is being assigned a value. As such, it
# is always a child of an assignment type node.
#
# variable = value
#
# In the example above, the VarField node represents the +variable+ token.
#
# source://syntax_tree//lib/syntax_tree/node.rb#11538
class SyntaxTree::VarField < ::SyntaxTree::Node
# @return [VarField] a new instance of VarField
#
# source://syntax_tree//lib/syntax_tree/node.rb#11545
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#11584
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#11551
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#11555
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#11543
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#11559
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#11555
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#11572
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#11576
def format(q); end
# [nil | :nil | Const | CVar | GVar | Ident | IVar] the target of this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#11540
def value; end
end
# VarRef represents a variable reference.
#
# true
#
# This can be a plain local variable like the example above. It can also be a
# constant, a class variable, a global variable, an instance variable, a
# keyword (like +self+, +nil+, +true+, or +false+), or a numbered block
# variable.
#
# source://syntax_tree//lib/syntax_tree/node.rb#11597
class SyntaxTree::VarRef < ::SyntaxTree::Node
# @return [VarRef] a new instance of VarRef
#
# source://syntax_tree//lib/syntax_tree/node.rb#11604
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#11639
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#11610
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#11614
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#11602
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#11618
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#11614
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#11631
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#11635
def format(q); end
# Oh man I hate this so much. Basically, ripper doesn't provide enough
# functionality to actually know where pins are within an expression. So we
# have to walk the tree ourselves and insert more information. In doing so,
# we have to replace this node by a pinned node when necessary.
#
# To be clear, this method should just not exist. It's not good. It's a
# place of shame. But it's necessary for now, so I'm keeping it.
#
# source://syntax_tree//lib/syntax_tree/node.rb#11650
def pin(parent, pin); end
# [Const | CVar | GVar | Ident | IVar | Kw] the value of this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#11599
def value; end
end
# Visitor is a parent class that provides the ability to walk down the tree
# and handle a subset of nodes. By defining your own subclass, you can
# explicitly handle a node type by defining a visit_* method.
#
# source://syntax_tree//lib/syntax_tree/visitor.rb#7
class SyntaxTree::Visitor < ::SyntaxTree::BasicVisitor
# Visit a BEGINBlock node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_BEGIN(node); end
# Visit a CHAR node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_CHAR(node); end
# Visit an ENDBlock node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_END(node); end
# Visit an EndContent node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit___end__(node); end
# Visit an AliasNode node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_alias(node); end
# Visit an ARef node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_aref(node); end
# Visit an ARefField node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_aref_field(node); end
# Visit an ArgBlock node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_arg_block(node); end
# Visit an ArgParen node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_arg_paren(node); end
# Visit an ArgStar node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_arg_star(node); end
# Visit an Args node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_args(node); end
# Visit an ArgsForward node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_args_forward(node); end
# Visit an ArrayLiteral node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_array(node); end
# Visit an AryPtn node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_aryptn(node); end
# Visit an Assign node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_assign(node); end
# Visit an Assoc node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_assoc(node); end
# Visit an AssocSplat node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_assoc_splat(node); end
# Visit a Backref node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_backref(node); end
# Visit a Backtick node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_backtick(node); end
# Visit a BareAssocHash node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_bare_assoc_hash(node); end
# Visit a Begin node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_begin(node); end
# Visit a Binary node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_binary(node); end
# Visit a Block node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_block(node); end
# Visit a BlockVar node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_block_var(node); end
# Visit a BlockArg node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_blockarg(node); end
# Visit a BodyStmt node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_bodystmt(node); end
# Visit a Break node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_break(node); end
# Visit a Call node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_call(node); end
# Visit a Case node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_case(node); end
# Visit a ClassDeclaration node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_class(node); end
# Visit a Comma node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_comma(node); end
# Visit a Command node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_command(node); end
# Visit a CommandCall node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_command_call(node); end
# Visit a Comment node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_comment(node); end
# Visit a Const node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_const(node); end
# Visit a ConstPathField node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_const_path_field(node); end
# Visit a ConstPathRef node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_const_path_ref(node); end
# Visit a ConstRef node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_const_ref(node); end
# Visit a CVar node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_cvar(node); end
# Visit a Def node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_def(node); end
# Visit a Defined node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_defined(node); end
# Visit a DynaSymbol node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_dyna_symbol(node); end
# Visit an Else node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_else(node); end
# Visit an Elsif node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_elsif(node); end
# Visit an EmbDoc node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_embdoc(node); end
# Visit an EmbExprBeg node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_embexpr_beg(node); end
# Visit an EmbExprEnd node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_embexpr_end(node); end
# Visit an EmbVar node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_embvar(node); end
# Visit an Ensure node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_ensure(node); end
# Visit an ExcessedComma node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_excessed_comma(node); end
# Visit a Field node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_field(node); end
# Visit a FloatLiteral node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_float(node); end
# Visit a FndPtn node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_fndptn(node); end
# Visit a For node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_for(node); end
# Visit a GVar node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_gvar(node); end
# Visit a HashLiteral node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_hash(node); end
# Visit a Heredoc node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_heredoc(node); end
# Visit a HeredocBeg node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_heredoc_beg(node); end
# Visit a HeredocEnd node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_heredoc_end(node); end
# Visit a HshPtn node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_hshptn(node); end
# Visit an Ident node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_ident(node); end
# Visit an IfNode node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_if(node); end
# Visit an IfOp node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_if_op(node); end
# Visit an Imaginary node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_imaginary(node); end
# Visit an In node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_in(node); end
# Visit an Int node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_int(node); end
# Visit an IVar node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_ivar(node); end
# Visit a Kw node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_kw(node); end
# Visit a KwRestParam node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_kwrest_param(node); end
# Visit a Label node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_label(node); end
# Visit a LabelEnd node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_label_end(node); end
# Visit a Lambda node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_lambda(node); end
# Visit a LambdaVar node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_lambda_var(node); end
# Visit a LBrace node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_lbrace(node); end
# Visit a LBracket node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_lbracket(node); end
# Visit a LParen node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_lparen(node); end
# Visit a MAssign node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_massign(node); end
# Visit a MethodAddBlock node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_method_add_block(node); end
# Visit a MLHS node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_mlhs(node); end
# Visit a MLHSParen node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_mlhs_paren(node); end
# Visit a ModuleDeclaration node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_module(node); end
# Visit a MRHS node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_mrhs(node); end
# Visit a Next node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_next(node); end
# Visit a Not node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_not(node); end
# Visit an Op node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_op(node); end
# Visit an OpAssign node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_opassign(node); end
# Visit a Params node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_params(node); end
# Visit a Paren node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_paren(node); end
# Visit a Period node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_period(node); end
# Visit a PinnedBegin node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_pinned_begin(node); end
# Visit a PinnedVarRef node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_pinned_var_ref(node); end
# Visit a Program node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_program(node); end
# Visit a QSymbols node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_qsymbols(node); end
# Visit a QSymbolsBeg node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_qsymbols_beg(node); end
# Visit a QWords node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_qwords(node); end
# Visit a QWordsBeg node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_qwords_beg(node); end
# Visit a RangeNode node
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_range(node); end
# Visit a RAssign node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_rassign(node); end
# Visit a RationalLiteral node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_rational(node); end
# Visit a RBrace node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_rbrace(node); end
# Visit a RBracket node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_rbracket(node); end
# Visit a Redo node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_redo(node); end
# Visit a RegexpBeg node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_regexp_beg(node); end
# Visit a RegexpContent node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_regexp_content(node); end
# Visit a RegexpEnd node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_regexp_end(node); end
# Visit a RegexpLiteral node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_regexp_literal(node); end
# Visit a Rescue node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_rescue(node); end
# Visit a RescueEx node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_rescue_ex(node); end
# Visit a RescueMod node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_rescue_mod(node); end
# Visit a RestParam node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_rest_param(node); end
# Visit a Retry node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_retry(node); end
# Visit a Return node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_return(node); end
# Visit a RParen node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_rparen(node); end
# Visit a SClass node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_sclass(node); end
# Visit a Statements node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_statements(node); end
# Visit a StringConcat node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_string_concat(node); end
# Visit a StringContent node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_string_content(node); end
# Visit a StringDVar node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_string_dvar(node); end
# Visit a StringEmbExpr node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_string_embexpr(node); end
# Visit a StringLiteral node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_string_literal(node); end
# Visit a Super node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_super(node); end
# Visit a SymBeg node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_symbeg(node); end
# Visit a SymbolContent node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_symbol_content(node); end
# Visit a SymbolLiteral node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_symbol_literal(node); end
# Visit a Symbols node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_symbols(node); end
# Visit a SymbolsBeg node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_symbols_beg(node); end
# Visit a TLambda node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_tlambda(node); end
# Visit a TLamBeg node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_tlambeg(node); end
# Visit a TopConstField node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_top_const_field(node); end
# Visit a TopConstRef node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_top_const_ref(node); end
# Visit a TStringBeg node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_tstring_beg(node); end
# Visit a TStringContent node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_tstring_content(node); end
# Visit a TStringEnd node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_tstring_end(node); end
# Visit an Unary node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_unary(node); end
# Visit an Undef node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_undef(node); end
# Visit an UnlessNode node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_unless(node); end
# Visit an UntilNode node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_until(node); end
# Visit a VarField node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_var_field(node); end
# Visit a VarRef node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_var_ref(node); end
# Visit a VCall node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_vcall(node); end
# Visit a VoidStmt node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_void_stmt(node); end
# Visit a When node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_when(node); end
# Visit a WhileNode node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_while(node); end
# Visit a Word node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_word(node); end
# Visit a Words node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_words(node); end
# Visit a WordsBeg node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_words_beg(node); end
# Visit a XString node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_xstring(node); end
# Visit a XStringLiteral node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_xstring_literal(node); end
# Visit a YieldNode node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_yield(node); end
# Visit a ZSuper node.
#
# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113
def visit_zsuper(node); end
end
# VoidStmt represents an empty lexical block of code.
#
# ;;
#
# source://syntax_tree//lib/syntax_tree/node.rb#11791
class SyntaxTree::VoidStmt < ::SyntaxTree::Node
# @return [VoidStmt] a new instance of VoidStmt
#
# source://syntax_tree//lib/syntax_tree/node.rb#11795
def initialize(location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#11824
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#11800
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#11804
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#11793
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#11808
def copy(location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#11804
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#11817
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#11821
def format(q); end
end
# When represents a +when+ clause in a +case+ chain.
#
# case value
# when predicate
# end
#
# source://syntax_tree//lib/syntax_tree/node.rb#11835
class SyntaxTree::When < ::SyntaxTree::Node
# @return [When] a new instance of When
#
# source://syntax_tree//lib/syntax_tree/node.rb#11848
def initialize(arguments:, statements:, consequent:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#11940
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#11856
def accept(visitor); end
# [Args] the arguments to the when clause
#
# source://syntax_tree//lib/syntax_tree/node.rb#11837
def arguments; end
# source://syntax_tree//lib/syntax_tree/node.rb#11860
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#11846
def comments; end
# [nil | Else | When] the next clause in the chain
#
# source://syntax_tree//lib/syntax_tree/node.rb#11843
def consequent; end
# source://syntax_tree//lib/syntax_tree/node.rb#11864
def copy(arguments: T.unsafe(nil), statements: T.unsafe(nil), consequent: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#11860
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#11879
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#11905
def format(q); end
# [Statements] the expressions to be executed
#
# source://syntax_tree//lib/syntax_tree/node.rb#11840
def statements; end
end
# We're going to keep a single instance of this separator around so we don't
# have to allocate a new one every time we format a when clause.
#
# source://syntax_tree//lib/syntax_tree/node.rb#11903
SyntaxTree::When::SEPARATOR = T.let(T.unsafe(nil), SyntaxTree::When::Separator)
# We have a special separator here for when clauses which causes them to
# fill as much of the line as possible as opposed to everything breaking
# into its own line as soon as you hit the print limit.
#
# source://syntax_tree//lib/syntax_tree/node.rb#11892
class SyntaxTree::When::Separator
# source://syntax_tree//lib/syntax_tree/node.rb#11893
def call(q); end
end
# While represents a +while+ loop.
#
# while predicate
# end
#
# source://syntax_tree//lib/syntax_tree/node.rb#11951
class SyntaxTree::WhileNode < ::SyntaxTree::Node
# @return [WhileNode] a new instance of WhileNode
#
# source://syntax_tree//lib/syntax_tree/node.rb#11961
def initialize(predicate:, statements:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#12003
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#11968
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#11972
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#11959
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#11976
def copy(predicate: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#11972
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#11990
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#11999
def format(q); end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#12008
def modifier?; end
# [Node] the expression to be checked
#
# source://syntax_tree//lib/syntax_tree/node.rb#11953
def predicate; end
# [Statements] the expressions to be executed
#
# source://syntax_tree//lib/syntax_tree/node.rb#11956
def statements; end
end
# WithScope is a module intended to be included in classes inheriting from
# Visitor. The module overrides a few visit methods to automatically keep
# track of local variables and arguments defined in the current scope.
# Example usage:
#
# class MyVisitor < Visitor
# include WithScope
#
# def visit_ident(node)
# # Check if we're visiting an identifier for an argument, a local
# # variable or something else
# local = current_scope.find_local(node)
#
# if local.type == :argument
# # handle identifiers for arguments
# elsif local.type == :variable
# # handle identifiers for variables
# else
# # handle other identifiers, such as method names
# end
# end
# end
#
# source://syntax_tree//lib/syntax_tree/with_scope.rb#27
module SyntaxTree::WithScope
# source://syntax_tree//lib/syntax_tree/with_scope.rb#122
def initialize(*args, **kwargs, &block); end
# Returns the value of attribute current_scope.
#
# source://syntax_tree//lib/syntax_tree/with_scope.rb#120
def current_scope; end
# Visit for capturing local variables defined in regex named capture groups
#
# source://syntax_tree//lib/syntax_tree/with_scope.rb#239
def visit_binary(node); end
# source://syntax_tree//lib/syntax_tree/with_scope.rb#192
def visit_block_var(node); end
# source://syntax_tree//lib/syntax_tree/with_scope.rb#185
def visit_blockarg(node); end
# Visits for nodes that create new scopes, such as classes, modules
# and method definitions.
#
# source://syntax_tree//lib/syntax_tree/with_scope.rb#131
def visit_class(node); end
# source://syntax_tree//lib/syntax_tree/with_scope.rb#147
def visit_def(node); end
# source://syntax_tree//lib/syntax_tree/with_scope.rb#178
def visit_kwrest_param(node); end
# source://syntax_tree//lib/syntax_tree/with_scope.rb#192
def visit_lambda_var(node); end
# When we find a method invocation with a block, only the code that happens
# inside of the block needs a fresh scope. The method invocation
# itself happens in the same scope.
#
# source://syntax_tree//lib/syntax_tree/with_scope.rb#142
def visit_method_add_block(node); end
# source://syntax_tree//lib/syntax_tree/with_scope.rb#135
def visit_module(node); end
# Visit for keeping track of local arguments, such as method and block
# arguments.
#
# source://syntax_tree//lib/syntax_tree/with_scope.rb#153
def visit_params(node); end
# Visit for keeping track of local variable definitions
#
# source://syntax_tree//lib/syntax_tree/with_scope.rb#210
def visit_pinned_var_ref(node); end
# source://syntax_tree//lib/syntax_tree/with_scope.rb#171
def visit_rest_param(node); end
# Visit for keeping track of local variable definitions
#
# source://syntax_tree//lib/syntax_tree/with_scope.rb#202
def visit_var_field(node); end
# Visits for keeping track of variable and argument usages
#
# source://syntax_tree//lib/syntax_tree/with_scope.rb#218
def visit_var_ref(node); end
# When using regex named capture groups, vcalls might actually be a variable
#
# source://syntax_tree//lib/syntax_tree/with_scope.rb#230
def visit_vcall(node); end
private
# source://syntax_tree//lib/syntax_tree/with_scope.rb#288
def add_argument_definitions(list); end
# source://syntax_tree//lib/syntax_tree/with_scope.rb#302
def next_scope_id; end
# source://syntax_tree//lib/syntax_tree/with_scope.rb#306
def with_scope(parent_scope = T.unsafe(nil)); end
end
# The scope class is used to keep track of local variables and arguments
# inside a particular scope.
#
# source://syntax_tree//lib/syntax_tree/with_scope.rb#30
class SyntaxTree::WithScope::Scope
# @return [Scope] a new instance of Scope
#
# source://syntax_tree//lib/syntax_tree/with_scope.rb#68
def initialize(id, parent = T.unsafe(nil)); end
# Adding a local definition will either insert a new entry in the locals
# hash or append a new definition location to an existing local. Notice
# that it's not possible to change the type of a local after it has been
# registered.
#
# source://syntax_tree//lib/syntax_tree/with_scope.rb#78
def add_local_definition(identifier, type); end
# Adding a local usage will either insert a new entry in the locals
# hash or append a new usage location to an existing local. Notice that
# it's not possible to change the type of a local after it has been
# registered.
#
# source://syntax_tree//lib/syntax_tree/with_scope.rb#95
def add_local_usage(identifier, type); end
# Try to find the local given its name in this scope or any of its
# parents.
#
# source://syntax_tree//lib/syntax_tree/with_scope.rb#102
def find_local(name); end
# [Integer] a unique identifier for this scope
#
# source://syntax_tree//lib/syntax_tree/with_scope.rb#59
def id; end
# [Hash[String, Local]] The local variables and arguments defined in this
# scope
#
# source://syntax_tree//lib/syntax_tree/with_scope.rb#66
def locals; end
# [scope | nil] The parent scope
#
# source://syntax_tree//lib/syntax_tree/with_scope.rb#62
def parent; end
private
# source://syntax_tree//lib/syntax_tree/with_scope.rb#108
def resolve_local(name, type); end
end
# This class tracks the occurrences of a local variable or argument.
#
# source://syntax_tree//lib/syntax_tree/with_scope.rb#32
class SyntaxTree::WithScope::Scope::Local
# @return [Local] a new instance of Local
#
# source://syntax_tree//lib/syntax_tree/with_scope.rb#43
def initialize(type); end
# source://syntax_tree//lib/syntax_tree/with_scope.rb#49
def add_definition(location); end
# source://syntax_tree//lib/syntax_tree/with_scope.rb#53
def add_usage(location); end
# [Array[Location]] The locations of all definitions and assignments of
# this local
#
# source://syntax_tree//lib/syntax_tree/with_scope.rb#38
def definitions; end
# [Symbol] The type of the local (e.g. :argument, :variable)
#
# source://syntax_tree//lib/syntax_tree/with_scope.rb#34
def type; end
# [Array[Location]] The locations of all usages of this local
#
# source://syntax_tree//lib/syntax_tree/with_scope.rb#41
def usages; end
end
# Word represents an element within a special array literal that accepts
# interpolation.
#
# %W[a#{b}c xyz]
#
# In the example above, there would be two Word nodes within a parent Words
# node.
#
# source://syntax_tree//lib/syntax_tree/node.rb#12020
class SyntaxTree::Word < ::SyntaxTree::Node
# @return [Word] a new instance of Word
#
# source://syntax_tree//lib/syntax_tree/node.rb#12028
def initialize(parts:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#12067
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#12038
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#12042
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#12026
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#12046
def copy(parts: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#12042
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#12059
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#12063
def format(q); end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/node.rb#12034
def match?(pattern); end
# [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the
# word
#
# source://syntax_tree//lib/syntax_tree/node.rb#12023
def parts; end
end
# Words represents a string literal array with interpolation.
#
# %W[one two three]
#
# source://syntax_tree//lib/syntax_tree/node.rb#12076
class SyntaxTree::Words < ::SyntaxTree::Node
# @return [Words] a new instance of Words
#
# source://syntax_tree//lib/syntax_tree/node.rb#12086
def initialize(beginning:, elements:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#12142
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#12093
def accept(visitor); end
# [WordsBeg] the token that opens this array literal
#
# source://syntax_tree//lib/syntax_tree/node.rb#12078
def beginning; end
# source://syntax_tree//lib/syntax_tree/node.rb#12097
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#12084
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#12101
def copy(beginning: T.unsafe(nil), elements: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#12097
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#12111
def deconstruct_keys(_keys); end
# [Array[ Word ]] the elements of this array
#
# source://syntax_tree//lib/syntax_tree/node.rb#12081
def elements; end
# source://syntax_tree//lib/syntax_tree/node.rb#12120
def format(q); end
end
# WordsBeg represents the beginning of a string literal array with
# interpolation.
#
# %W[one two three]
#
# In the snippet above, a WordsBeg would be created with the value of "%W[".
# Note that these kinds of arrays can start with a lot of different delimiter
# types (e.g., %W| or %W<).
#
# source://syntax_tree//lib/syntax_tree/node.rb#12156
class SyntaxTree::WordsBeg < ::SyntaxTree::Node
# @return [WordsBeg] a new instance of WordsBeg
#
# source://syntax_tree//lib/syntax_tree/node.rb#12160
def initialize(value:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#12186
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#12165
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#12169
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#12173
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#12169
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#12182
def deconstruct_keys(_keys); end
# [String] the start of the word literal array
#
# source://syntax_tree//lib/syntax_tree/node.rb#12158
def value; end
end
# XString represents the contents of an XStringLiteral.
#
# `ls`
#
# source://syntax_tree//lib/syntax_tree/node.rb#12195
class SyntaxTree::XString < ::SyntaxTree::Node
# @return [XString] a new instance of XString
#
# source://syntax_tree//lib/syntax_tree/node.rb#12200
def initialize(parts:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#12226
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#12205
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#12209
def child_nodes; end
# source://syntax_tree//lib/syntax_tree/node.rb#12213
def copy(parts: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#12209
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#12222
def deconstruct_keys(_keys); end
# [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the
# xstring
#
# source://syntax_tree//lib/syntax_tree/node.rb#12198
def parts; end
end
# XStringLiteral represents a string that gets executed.
#
# `ls`
#
# source://syntax_tree//lib/syntax_tree/node.rb#12235
class SyntaxTree::XStringLiteral < ::SyntaxTree::Node
# @return [XStringLiteral] a new instance of XStringLiteral
#
# source://syntax_tree//lib/syntax_tree/node.rb#12243
def initialize(parts:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#12280
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#12249
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#12253
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#12241
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#12257
def copy(parts: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#12253
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#12270
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#12274
def format(q); end
# [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the
# xstring
#
# source://syntax_tree//lib/syntax_tree/node.rb#12238
def parts; end
end
# This module provides an object representation of the YARV bytecode.
#
# source://syntax_tree//lib/syntax_tree/yarv/basic_block.rb#4
module SyntaxTree::YARV
class << self
# A convenience method for creating a CallData object.
#
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#82
def calldata(method, argc = T.unsafe(nil), flags = T.unsafe(nil), kw_arg = T.unsafe(nil)); end
# Compile the given source into a YARV instruction sequence.
#
# source://syntax_tree//lib/syntax_tree/yarv.rb#25
def compile(source, options = T.unsafe(nil)); end
# Compile and interpret the given source.
#
# source://syntax_tree//lib/syntax_tree/yarv.rb#30
def interpret(source, options = T.unsafe(nil)); end
end
end
# ### Summary
#
# `adjuststack` accepts a single integer argument and removes that many
# elements from the top of the stack.
#
# ### Usage
#
# ~~~ruby
# x = [true]
# x[0] ||= nil
# x[0]
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#69
class SyntaxTree::YARV::AdjustStack < ::SyntaxTree::YARV::Instruction
# @return [AdjustStack] a new instance of AdjustStack
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#72
def initialize(number); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#88
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#100
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#84
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#76
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#92
def length; end
# Returns the value of attribute number.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#70
def number; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#96
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#80
def to_a(_iseq); end
end
# ### Summary
#
# `anytostring` ensures that the value on top of the stack is a string.
#
# It pops two values off the stack. If the first value is a string it
# pushes it back on the stack. If the first value is not a string, it uses
# Ruby's built in string coercion to coerce the second value to a string
# and then pushes that back on the stack.
#
# This is used in conjunction with `objtostring` as a fallback for when an
# object's `to_s` method does not return a string.
#
# ### Usage
#
# ~~~ruby
# "#{5}"
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#123
class SyntaxTree::YARV::AnyToString < ::SyntaxTree::YARV::Instruction
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#136
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#148
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#132
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#124
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#140
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#144
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#128
def to_a(_iseq); end
end
# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#5
class SyntaxTree::YARV::Assembler
# @return [Assembler] a new instance of Assembler
#
# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#67
def initialize(lines); end
# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#71
def assemble; end
# Returns the value of attribute lines.
#
# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#65
def lines; end
private
# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#89
def assemble_iseq(iseq, lines); end
# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#409
def find_local(iseq, operands); end
# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#418
def parse(value); end
# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#450
def parse_calldata(value); end
# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#445
def parse_nested(lines); end
# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#433
def parse_number(value); end
# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#425
def parse_options(value, options); end
# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#437
def parse_string(value); end
# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#441
def parse_symbol(value); end
# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#429
def parse_type(value, type); end
class << self
# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#79
def assemble(source); end
# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#83
def assemble_file(filepath); end
end
end
# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#28
SyntaxTree::YARV::Assembler::CALLDATA_FLAGS = T.let(T.unsafe(nil), Hash)
# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#44
SyntaxTree::YARV::Assembler::DEFINED_TYPES = T.let(T.unsafe(nil), Array)
# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#6
class SyntaxTree::YARV::Assembler::ObjectVisitor < ::SyntaxTree::YARV::Compiler::RubyVisitor
# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#7
def visit_dyna_symbol(node); end
# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#15
def visit_string_literal(node); end
end
# This object represents a single basic block, wherein all contained
# instructions do not branch except for the last one.
#
# source://syntax_tree//lib/syntax_tree/yarv/basic_block.rb#7
class SyntaxTree::YARV::BasicBlock
# @return [BasicBlock] a new instance of BasicBlock
#
# source://syntax_tree//lib/syntax_tree/yarv/basic_block.rb#23
def initialize(block_start, insns); end
# This is the index into the list of instructions where this block starts.
#
# source://syntax_tree//lib/syntax_tree/yarv/basic_block.rb#12
def block_start; end
# Yield each instruction in this basic block along with its index from the
# original instruction sequence.
#
# source://syntax_tree//lib/syntax_tree/yarv/basic_block.rb#35
def each_with_length; end
# This is the unique identifier for this basic block.
#
# source://syntax_tree//lib/syntax_tree/yarv/basic_block.rb#9
def id; end
# This is an array of basic blocks that lead into this block.
#
# source://syntax_tree//lib/syntax_tree/yarv/basic_block.rb#18
def incoming_blocks; end
# This is the set of instructions that this block contains.
#
# source://syntax_tree//lib/syntax_tree/yarv/basic_block.rb#15
def insns; end
# This is an array of basic blocks that this block leads into.
#
# source://syntax_tree//lib/syntax_tree/yarv/basic_block.rb#21
def outgoing_blocks; end
# This method is used to verify that the basic block is well formed. It
# checks that the only instruction in this basic block that branches is
# the last instruction.
#
# source://syntax_tree//lib/syntax_tree/yarv/basic_block.rb#48
def verify; end
end
# Parses the given source code into a syntax tree, compiles that syntax tree
# into YARV bytecode.
#
# source://syntax_tree//lib/syntax_tree/yarv/bf.rb#7
class SyntaxTree::YARV::Bf
# @return [Bf] a new instance of Bf
#
# source://syntax_tree//lib/syntax_tree/yarv/bf.rb#10
def initialize(source); end
# source://syntax_tree//lib/syntax_tree/yarv/bf.rb#14
def compile; end
# Returns the value of attribute source.
#
# source://syntax_tree//lib/syntax_tree/yarv/bf.rb#8
def source; end
private
# $tape[$cursor] += value
#
# source://syntax_tree//lib/syntax_tree/yarv/bf.rb#84
def change_by(iseq, value); end
# $tape[$cursor] = $stdin.getc.ord
#
# source://syntax_tree//lib/syntax_tree/yarv/bf.rb#133
def input_char(iseq); end
# Jump back to the start of the loop.
#
# source://syntax_tree//lib/syntax_tree/yarv/bf.rb#163
def loop_end(iseq, start_label, end_label); end
# unless $tape[$cursor] == 0
#
# source://syntax_tree//lib/syntax_tree/yarv/bf.rb#146
def loop_start(iseq); end
# $stdout.putc($tape[$cursor].chr)
#
# source://syntax_tree//lib/syntax_tree/yarv/bf.rb#120
def output_char(iseq); end
# $cursor += value
#
# source://syntax_tree//lib/syntax_tree/yarv/bf.rb#105
def shift_by(iseq, value); end
end
# ### Summary
#
# `branchif` has one argument: the jump index. It pops one value off the
# stack: the jump condition.
#
# If the value popped off the stack is true, `branchif` jumps to
# the jump index and continues executing there.
#
# ### Usage
#
# ~~~ruby
# x = true
# x ||= "foo"
# puts x
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#175
class SyntaxTree::YARV::BranchIf < ::SyntaxTree::YARV::Instruction
# @return [BranchIf] a new instance of BranchIf
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#178
def initialize(label); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#194
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#210
def branch_targets; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#206
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#190
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#182
def disasm(fmt); end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#214
def falls_through?; end
# Returns the value of attribute label.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#176
def label; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#198
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#202
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#186
def to_a(_iseq); end
end
# ### Summary
#
# `branchnil` has one argument: the jump index. It pops one value off the
# stack: the jump condition.
#
# If the value popped off the stack is nil, `branchnil` jumps to
# the jump index and continues executing there.
#
# ### Usage
#
# ~~~ruby
# x = nil
# if x&.to_s
# puts "hi"
# end
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#236
class SyntaxTree::YARV::BranchNil < ::SyntaxTree::YARV::Instruction
# @return [BranchNil] a new instance of BranchNil
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#239
def initialize(label); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#255
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#271
def branch_targets; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#267
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#251
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#243
def disasm(fmt); end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#275
def falls_through?; end
# Returns the value of attribute label.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#237
def label; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#259
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#263
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#247
def to_a(_iseq); end
end
# ### Summary
#
# `branchunless` has one argument: the jump index. It pops one value off
# the stack: the jump condition.
#
# If the value popped off the stack is false or nil, `branchunless` jumps
# to the jump index and continues executing there.
#
# ### Usage
#
# ~~~ruby
# if 2 + 3
# puts "foo"
# end
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#296
class SyntaxTree::YARV::BranchUnless < ::SyntaxTree::YARV::Instruction
# @return [BranchUnless] a new instance of BranchUnless
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#299
def initialize(label); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#315
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#331
def branch_targets; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#327
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#311
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#303
def disasm(fmt); end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#335
def falls_through?; end
# Returns the value of attribute label.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#297
def label; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#319
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#323
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#307
def to_a(_iseq); end
end
# This is an operand to various YARV instructions that represents the
# information about a specific call site.
#
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#7
class SyntaxTree::YARV::CallData
# @return [CallData] a new instance of CallData
#
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#24
def initialize(method, argc = T.unsafe(nil), flags = T.unsafe(nil), kw_arg = T.unsafe(nil)); end
# Returns the value of attribute argc.
#
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#22
def argc; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#36
def flag?(mask); end
# Returns the value of attribute flags.
#
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#22
def flags; end
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#46
def inspect; end
# Returns the value of attribute kw_arg.
#
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#22
def kw_arg; end
# Returns the value of attribute method.
#
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#22
def method; end
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#40
def to_h; end
class << self
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#71
def from(serialized); end
end
end
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#9
SyntaxTree::YARV::CallData::CALL_ARGS_BLOCKARG = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#12
SyntaxTree::YARV::CallData::CALL_ARGS_SIMPLE = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#8
SyntaxTree::YARV::CallData::CALL_ARGS_SPLAT = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#13
SyntaxTree::YARV::CallData::CALL_BLOCKISEQ = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#10
SyntaxTree::YARV::CallData::CALL_FCALL = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#14
SyntaxTree::YARV::CallData::CALL_KWARG = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#15
SyntaxTree::YARV::CallData::CALL_KW_SPLAT = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#20
SyntaxTree::YARV::CallData::CALL_KW_SPLAT_MUT = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#19
SyntaxTree::YARV::CallData::CALL_OPT_SEND = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#17
SyntaxTree::YARV::CallData::CALL_SUPER = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#16
SyntaxTree::YARV::CallData::CALL_TAILCALL = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#11
SyntaxTree::YARV::CallData::CALL_VCALL = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#18
SyntaxTree::YARV::CallData::CALL_ZSUPER = T.let(T.unsafe(nil), Integer)
# ### Summary
#
# `checkkeyword` checks if a keyword was passed at the callsite that
# called into the method represented by the instruction sequence. It has
# two arguments: the index of the local variable that stores the keywords
# metadata and the index of the keyword within that metadata. It pushes
# a boolean onto the stack indicating whether or not the keyword was
# given.
#
# ### Usage
#
# ~~~ruby
# def evaluate(value: rand)
# value
# end
#
# evaluate(value: 3)
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#359
class SyntaxTree::YARV::CheckKeyword < ::SyntaxTree::YARV::Instruction
# @return [CheckKeyword] a new instance of CheckKeyword
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#362
def initialize(keyword_bits_index, keyword_index); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#386
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#400
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#382
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#367
def disasm(fmt); end
# Returns the value of attribute keyword_bits_index.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#360
def keyword_bits_index; end
# Returns the value of attribute keyword_index.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#360
def keyword_index; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#392
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#396
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#374
def to_a(iseq); end
end
# ### Summary
#
# `checkmatch` checks if the current pattern matches the current value. It
# pops the target and the pattern off the stack and pushes a boolean onto
# the stack if it matches or not.
#
# ### Usage
#
# ~~~ruby
# foo in Foo
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#417
class SyntaxTree::YARV::CheckMatch < ::SyntaxTree::YARV::Instruction
# @return [CheckMatch] a new instance of CheckMatch
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#426
def initialize(type); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#442
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#458
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#438
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#430
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#446
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#450
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#454
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#434
def to_a(_iseq); end
# Returns the value of attribute type.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#424
def type; end
private
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#472
def check?(pattern, target); end
end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#422
SyntaxTree::YARV::CheckMatch::VM_CHECKMATCH_ARRAY = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#419
SyntaxTree::YARV::CheckMatch::VM_CHECKMATCH_TYPE_CASE = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#421
SyntaxTree::YARV::CheckMatch::VM_CHECKMATCH_TYPE_MASK = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#420
SyntaxTree::YARV::CheckMatch::VM_CHECKMATCH_TYPE_RESCUE = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#418
SyntaxTree::YARV::CheckMatch::VM_CHECKMATCH_TYPE_WHEN = T.let(T.unsafe(nil), Integer)
# ### Summary
#
# `checktype` checks if the value on top of the stack is of a certain type.
# The type is the only argument. It pops the value off the stack and pushes
# a boolean onto the stack indicating whether or not the value is of the
# given type.
#
# ### Usage
#
# ~~~ruby
# foo in [bar]
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#501
class SyntaxTree::YARV::CheckType < ::SyntaxTree::YARV::Instruction
# @return [CheckType] a new instance of CheckType
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#526
def initialize(type); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#588
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#608
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#584
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#530
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#592
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#596
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#600
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#580
def to_a(_iseq); end
# Returns the value of attribute type.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#524
def type; end
end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#508
SyntaxTree::YARV::CheckType::TYPE_ARRAY = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#511
SyntaxTree::YARV::CheckType::TYPE_BIGNUM = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#503
SyntaxTree::YARV::CheckType::TYPE_CLASS = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#515
SyntaxTree::YARV::CheckType::TYPE_COMPLEX = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#513
SyntaxTree::YARV::CheckType::TYPE_DATA = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#519
SyntaxTree::YARV::CheckType::TYPE_FALSE = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#512
SyntaxTree::YARV::CheckType::TYPE_FILE = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#521
SyntaxTree::YARV::CheckType::TYPE_FIXNUM = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#505
SyntaxTree::YARV::CheckType::TYPE_FLOAT = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#509
SyntaxTree::YARV::CheckType::TYPE_HASH = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#514
SyntaxTree::YARV::CheckType::TYPE_MATCH = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#504
SyntaxTree::YARV::CheckType::TYPE_MODULE = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#517
SyntaxTree::YARV::CheckType::TYPE_NIL = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#502
SyntaxTree::YARV::CheckType::TYPE_OBJECT = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#516
SyntaxTree::YARV::CheckType::TYPE_RATIONAL = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#507
SyntaxTree::YARV::CheckType::TYPE_REGEXP = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#506
SyntaxTree::YARV::CheckType::TYPE_STRING = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#510
SyntaxTree::YARV::CheckType::TYPE_STRUCT = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#520
SyntaxTree::YARV::CheckType::TYPE_SYMBOL = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#518
SyntaxTree::YARV::CheckType::TYPE_TRUE = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#522
SyntaxTree::YARV::CheckType::TYPE_UNDEF = T.let(T.unsafe(nil), Integer)
# This class is an experiment in transforming Syntax Tree nodes into their
# corresponding YARV instruction sequences. It attempts to mirror the
# behavior of RubyVM::InstructionSequence.compile.
#
# You use this as with any other visitor. First you parse code into a tree,
# then you visit it with this compiler. Visiting the root node of the tree
# will return a SyntaxTree::YARV::Compiler::InstructionSequence object.
# With that object you can call #to_a on it, which will return a serialized
# form of the instruction sequence as an array. This array _should_ mirror
# the array given by RubyVM::InstructionSequence#to_a.
#
# As an example, here is how you would compile a single expression:
#
# program = SyntaxTree.parse("1 + 2")
# program.accept(SyntaxTree::YARV::Compiler.new).to_a
#
# [
# "YARVInstructionSequence/SimpleDataFormat",
# 3,
# 1,
# 1,
# {:arg_size=>0, :local_size=>0, :stack_max=>2},
# "<compiled>",
# "<compiled>",
# "<compiled>",
# 1,
# :top,
# [],
# {},
# [],
# [
# [:putobject_INT2FIX_1_],
# [:putobject, 2],
# [:opt_plus, {:mid=>:+, :flag=>16, :orig_argc=>1}],
# [:leave]
# ]
# ]
#
# Note that this is the same output as calling:
#
# RubyVM::InstructionSequence.compile("1 + 2").to_a
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#47
class SyntaxTree::YARV::Compiler < ::SyntaxTree::BasicVisitor
# @return [Compiler] a new instance of Compiler
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#293
def initialize(options = T.unsafe(nil)); end
# The current instruction sequence that is being compiled.
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#286
def iseq; end
# A boolean to track if we're currently compiling the last statement
# within a set of statements. This information is necessary to determine
# if we need to return the value of the last statement.
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#291
def last_statement; end
# These options mirror the compilation options that we currently support
# that can be also passed to RubyVM::InstructionSequence.compile.
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#283
def options; end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#299
def visit_BEGIN(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#303
def visit_CHAR(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#311
def visit_END(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#339
def visit_alias(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#347
def visit_aref(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#369
def visit_arg_block(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#373
def visit_arg_paren(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#377
def visit_arg_star(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#382
def visit_args(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#386
def visit_array(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#421
def visit_aryptn(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#424
def visit_assign(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#522
def visit_assoc(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#527
def visit_assoc_splat(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#531
def visit_backref(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#535
def visit_bare_assoc_hash(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#543
def visit_begin(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#546
def visit_binary(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#575
def visit_block(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#585
def visit_block_var(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#599
def visit_blockarg(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#605
def visit_bodystmt(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#609
def visit_break(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#612
def visit_call(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#712
def visit_case(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#757
def visit_class(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#792
def visit_command(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#805
def visit_command_call(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#818
def visit_const_path_field(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#822
def visit_const_path_ref(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#827
def visit_def(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#850
def visit_defined(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#907
def visit_dyna_symbol(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#913
def visit_else(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#918
def visit_elsif(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#929
def visit_ensure(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#932
def visit_field(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#936
def visit_float(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#940
def visit_fndptn(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#943
def visit_for(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#976
def visit_hash(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#988
def visit_heredoc(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#985
def visit_hshptn(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#999
def visit_if(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1053
def visit_if_op(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1074
def visit_imaginary(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1078
def visit_int(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1082
def visit_kwrest_param(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1088
def visit_label(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1092
def visit_lambda(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1106
def visit_lambda_var(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1110
def visit_massign(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1116
def visit_method_add_block(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1129
def visit_mlhs(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1142
def visit_module(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1171
def visit_mrhs(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1180
def visit_next(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1183
def visit_not(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1188
def visit_opassign(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1254
def visit_params(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1360
def visit_paren(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1364
def visit_pinned_begin(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1367
def visit_pinned_var_ref(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1370
def visit_program(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1421
def visit_qsymbols(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1425
def visit_qwords(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1434
def visit_range(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1444
def visit_rassign(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1521
def visit_rational(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1525
def visit_redo(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1528
def visit_regexp_literal(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1538
def visit_rescue(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1541
def visit_rescue_ex(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1544
def visit_rescue_mod(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1547
def visit_rest_param(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1553
def visit_retry(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1556
def visit_return(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1559
def visit_sclass(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1580
def visit_statements(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1594
def visit_string_concat(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1606
def visit_string_embexpr(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1610
def visit_string_literal(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1619
def visit_super(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1633
def visit_symbol_literal(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1637
def visit_symbols(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1656
def visit_top_const_ref(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1660
def visit_tstring_content(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1668
def visit_unary(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1689
def visit_undef(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1699
def visit_unless(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1725
def visit_until(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1744
def visit_var_field(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1761
def visit_var_ref(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1796
def visit_vcall(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1808
def visit_when(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1812
def visit_while(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1831
def visit_word(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1840
def visit_words(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1850
def visit_xstring_literal(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1863
def visit_yield(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1869
def visit_zsuper(_node); end
private
# This is a helper that is used in places where arguments may be present
# or they may be wrapped in parentheses. It's meant to descend down the
# tree and return an array of argument nodes.
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1887
def argument_parts(node); end
# Constant names when they are being assigned or referenced come in as a
# tree, but it's more convenient to work with them as an array. This
# method converts them into that array. This is nice because it's the
# operand that goes to opt_getconstant_path in Ruby 3.2.
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1908
def constant_names(node); end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#2196
def last_statement?; end
# For the most part when an OpAssign (operator assignment) node with a ||=
# operator is being compiled it's a matter of reading the target, checking
# if the value should be evaluated, evaluating it if so, and then writing
# the result back to the target.
#
# However, in certain kinds of assignments (X, ::X, X::Y, @@x, and $x) we
# first check if the value is defined using the defined instruction. I
# don't know why it is necessary, and suspect that it isn't.
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1936
def opassign_defined(node); end
# Whenever a value is interpolated into a string-like structure, these
# three instructions are pushed.
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#2016
def push_interpolate; end
# Visit a type of pattern in a pattern match.
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#2029
def visit_pattern(node, end_label); end
# There are a lot of nodes in the AST that act as contains of parts of
# strings. This includes things like string literals, regular expressions,
# heredocs, etc. This method will visit all the parts of a string within
# those containers.
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#2137
def visit_string_parts(node); end
# The current instruction sequence that we're compiling is always stored
# on the compiler. When we descend into a node that has its own
# instruction sequence, this method can be called to temporarily set the
# new value of the instruction sequence, yield, and then set it back.
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#2167
def with_child_iseq(child_iseq); end
# When we're compiling the last statement of a set of statements within a
# scope, the instructions sometimes change from pops to leaves. These
# kinds of peephole optimizations can reduce the overall number of
# instructions. Therefore, we keep track of whether we're compiling the
# last statement of a scope and allow visit methods to query that
# information.
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#2185
def with_last_statement; end
# OpAssign nodes can have a number of different kinds of nodes as their
# "target" (i.e., the left-hand side of the assignment). When compiling
# these nodes we typically need to first fetch the current value of the
# variable, then perform some kind of action, then store the result back
# into the variable. This method handles that by first fetching the value,
# then yielding to the block, then storing the result.
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#2206
def with_opassign(node); end
end
# This represents a set of options that can be passed to the compiler to
# control how it compiles the code. It mirrors the options that can be
# passed to RubyVM::InstructionSequence.compile, except it only includes
# options that actually change the behavior.
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#52
class SyntaxTree::YARV::Compiler::Options
# @return [Options] a new instance of Options
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#53
def initialize(frozen_string_literal: T.unsafe(nil), inline_const_cache: T.unsafe(nil), operands_unification: T.unsafe(nil), peephole_optimization: T.unsafe(nil), specialized_instruction: T.unsafe(nil), tailcall_optimization: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#80
def frozen_string_literal!; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#84
def frozen_string_literal?; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#88
def inline_const_cache?; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#92
def operands_unification?; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#96
def peephole_optimization?; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#100
def specialized_instruction?; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#104
def tailcall_optimization?; end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#69
def to_hash; end
end
# This visitor is responsible for converting Syntax Tree nodes into their
# corresponding Ruby structures. This is used to convert the operands of
# some instructions like putobject that push a Ruby object directly onto
# the stack. It is only used when the entire structure can be represented
# at compile-time, as opposed to constructed at run-time.
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#114
class SyntaxTree::YARV::Compiler::RubyVisitor < ::SyntaxTree::BasicVisitor
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_BEGIN(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_CHAR(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_END(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit___end__(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_alias(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_aref(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_aref_field(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_arg_block(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_arg_paren(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_arg_star(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_args(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_args_forward(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#128
def visit_array(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_aryptn(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_assign(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_assoc(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_assoc_splat(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_backref(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_backtick(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#132
def visit_bare_assoc_hash(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_begin(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_binary(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_block(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_block_var(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_blockarg(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_bodystmt(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_break(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_call(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_case(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_class(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_comma(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_command(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_command_call(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_comment(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_const(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_const_path_field(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_const_path_ref(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_const_ref(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_cvar(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_def(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_defined(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_dyna_symbol(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_else(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_elsif(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_embdoc(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_embexpr_beg(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_embexpr_end(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_embvar(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_ensure(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_excessed_comma(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_field(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#141
def visit_float(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_fndptn(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_for(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_gvar(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#132
def visit_hash(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_heredoc(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_heredoc_beg(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_heredoc_end(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_hshptn(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_ident(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_if(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_if_op(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#147
def visit_imaginary(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_in(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#151
def visit_int(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_ivar(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_kw(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_kwrest_param(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#166
def visit_label(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_label_end(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_lambda(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_lambda_var(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_lbrace(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_lbracket(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_lparen(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_massign(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_method_add_block(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_mlhs(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_mlhs_paren(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_module(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#170
def visit_mrhs(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_next(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_not(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_op(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_opassign(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_params(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_paren(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_period(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_pinned_begin(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_pinned_var_ref(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_program(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#174
def visit_qsymbols(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_qsymbols_beg(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#178
def visit_qwords(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_qwords_beg(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#182
def visit_range(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_rassign(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#187
def visit_rational(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_rbrace(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_rbracket(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_redo(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_regexp_beg(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_regexp_content(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_regexp_end(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#191
def visit_regexp_literal(node); end
# This isn't actually a visit method, though maybe it should be. It is
# responsible for converting the set of string options on a regular
# expression into its equivalent integer.
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#249
def visit_regexp_literal_flags(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_rescue(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_rescue_ex(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_rescue_mod(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_rest_param(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_retry(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_return(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_rparen(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_sclass(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_statements(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_string_concat(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_string_content(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_string_dvar(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_string_embexpr(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_string_literal(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_super(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_symbeg(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_symbol_content(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#204
def visit_symbol_literal(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#208
def visit_symbols(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_symbols_beg(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_tlambda(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_tlambeg(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_top_const_field(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_top_const_ref(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_tstring_beg(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#212
def visit_tstring_content(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_tstring_end(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_unary(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_undef(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_unless(_node); end
# @raise [CompilationError]
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_unsupported(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_until(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_var_field(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#216
def visit_var_ref(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_vcall(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_void_stmt(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_when(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_while(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#231
def visit_word(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#241
def visit_words(node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_words_beg(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_xstring(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_xstring_literal(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_yield(_node); end
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268
def visit_zsuper(_node); end
class << self
# This will attempt to compile the given node. If it's possible, then
# it will return the compiled object. Otherwise it will return nil.
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#122
def compile(node); end
end
end
# This error is raised whenever a node cannot be converted into a Ruby
# object at compile-time.
#
# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#117
class SyntaxTree::YARV::Compiler::RubyVisitor::CompilationError < ::StandardError; end
# ### Summary
#
# `concatarray` concatenates the two Arrays on top of the stack.
#
# It coerces the two objects at the top of the stack into Arrays by
# calling `to_a` if necessary, and makes sure to `dup` the first Array if
# it was already an Array, to avoid mutating it when concatenating.
#
# ### Usage
#
# ~~~ruby
# [1, *2]
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#674
class SyntaxTree::YARV::ConcatArray < ::SyntaxTree::YARV::Instruction
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#687
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#699
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#683
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#675
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#691
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#695
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#679
def to_a(_iseq); end
end
# ### Summary
#
# `concatstrings` pops a number of strings from the stack joins them
# together into a single string and pushes that string back on the stack.
#
# This does no coercion and so is always used in conjunction with
# `objtostring` and `anytostring` to ensure the stack contents are always
# strings.
#
# ### Usage
#
# ~~~ruby
# "#{5}"
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#720
class SyntaxTree::YARV::ConcatStrings < ::SyntaxTree::YARV::Instruction
# @return [ConcatStrings] a new instance of ConcatStrings
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#723
def initialize(number); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#739
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#755
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#735
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#727
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#743
def length; end
# Returns the value of attribute number.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#721
def number; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#747
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#751
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#731
def to_a(_iseq); end
end
# This class represents a control flow graph of a YARV instruction sequence.
# It constructs a graph of basic blocks that hold subsets of the list of
# instructions from the instruction sequence.
#
# You can use this class by calling the ::compile method and passing it a
# YARV instruction sequence. It will return a control flow graph object.
#
# iseq = RubyVM::InstructionSequence.compile("1 + 2")
# iseq = SyntaxTree::YARV::InstructionSequence.from(iseq.to_a)
# cfg = SyntaxTree::YARV::ControlFlowGraph.compile(iseq)
#
# source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#16
class SyntaxTree::YARV::ControlFlowGraph
# @return [ControlFlowGraph] a new instance of ControlFlowGraph
#
# source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#173
def initialize(iseq, insns, blocks); end
# This is the set of basic blocks that this control-flow graph contains.
#
# source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#171
def blocks; end
# source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#179
def disasm; end
# This is the list of instructions that this control flow graph contains.
# It is effectively the same as the list of instructions in the
# instruction sequence but with line numbers and events filtered out.
#
# source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#168
def insns; end
# This is the instruction sequence that this control flow graph
# corresponds to.
#
# source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#163
def iseq; end
# source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#202
def to_dfg; end
# source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#210
def to_mermaid; end
# source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#206
def to_son; end
# This method is used to verify that the control flow graph is well
# formed. It does this by checking that each basic block is itself well
# formed.
#
# source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#248
def verify; end
class << self
# source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#252
def compile(iseq); end
end
end
# This class is responsible for creating a control flow graph from the
# given instruction sequence.
#
# source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#19
class SyntaxTree::YARV::ControlFlowGraph::Compiler
# @return [Compiler] a new instance of Compiler
#
# source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#34
def initialize(iseq); end
# This method is used to compile the instruction sequence into a control
# flow graph. It returns an instance of ControlFlowGraph.
#
# source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#54
def compile; end
# This is a hash of indices in the YARV instruction sequence that point
# to their corresponding instruction.
#
# source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#25
def insns; end
# This is the instruction sequence that is being compiled.
#
# source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#21
def iseq; end
# This is a hash of labels that point to their corresponding index into
# the YARV instruction sequence. Note that this is not the same as the
# index into the list of instructions on the instruction sequence
# object. Instead, this is the index into the C array, so it includes
# operands.
#
# source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#32
def labels; end
private
# Builds up a set of basic blocks by iterating over the starts of each
# block. They are keyed by the index of their first instruction.
#
# source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#92
def build_basic_blocks; end
# Connect the blocks by letting them know which blocks are incoming and
# outgoing from each block.
#
# source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#123
def connect_basic_blocks(blocks); end
# Finds the indices of the instructions that start a basic block because
# they're either:
#
# * the start of an instruction sequence
# * the target of a branch
# * fallen through to from a branch
#
# source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#72
def find_basic_block_starts; end
# If there are blocks that are unreachable, we can remove them from the
# graph entirely at this point.
#
# source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#145
def prune_basic_blocks(blocks); end
end
# Constructs a data-flow-graph of a YARV instruction sequence, via a
# control-flow-graph. Data flow is discovered locally and then globally. The
# graph only considers data flow through the stack - local variables and
# objects are considered fully escaped in this analysis.
#
# You can use this class by calling the ::compile method and passing it a
# control flow graph. It will return a data flow graph object.
#
# iseq = RubyVM::InstructionSequence.compile("1 + 2")
# iseq = SyntaxTree::YARV::InstructionSequence.from(iseq.to_a)
# cfg = SyntaxTree::YARV::ControlFlowGraph.compile(iseq)
# dfg = SyntaxTree::YARV::DataFlowGraph.compile(cfg)
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#18
class SyntaxTree::YARV::DataFlowGraph
# @return [DataFlowGraph] a new instance of DataFlowGraph
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#68
def initialize(cfg, insn_flows, block_flows); end
# Returns the value of attribute block_flows.
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#66
def block_flows; end
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#74
def blocks; end
# Returns the value of attribute cfg.
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#66
def cfg; end
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#78
def disasm; end
# Returns the value of attribute insn_flows.
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#66
def insn_flows; end
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#127
def to_mermaid; end
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#123
def to_son; end
# Verify that we constructed the data flow graph correctly.
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#179
def verify; end
class << self
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#204
def compile(cfg); end
end
end
# This represents an object that goes on the stack that is passed between
# basic blocks.
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#32
class SyntaxTree::YARV::DataFlowGraph::BlockArgument
# @return [BlockArgument] a new instance of BlockArgument
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#35
def initialize(name); end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#39
def local?; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#33
def name; end
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#43
def to_str; end
end
# This class is responsible for creating a data flow graph from the given
# control flow graph.
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#210
class SyntaxTree::YARV::DataFlowGraph::Compiler
# @return [Compiler] a new instance of Compiler
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#221
def initialize(cfg); end
# This data structure will hold the data flow between basic blocks.
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#219
def block_flows; end
# This is the control flow graph that is being compiled.
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#212
def cfg; end
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#227
def compile; end
# This data structure will hold the data flow between instructions
# within individual basic blocks.
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#216
def insn_flows; end
private
# Find the data that flows between basic blocks.
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#304
def find_external_flow; end
# Find the data flow within each basic block. Using an abstract stack,
# connect from consumers of data to the producers of that data.
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#237
def find_internal_flow; end
end
# This object represents the flow of data between instructions.
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#20
class SyntaxTree::YARV::DataFlowGraph::DataFlow
# @return [DataFlow] a new instance of DataFlow
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#24
def initialize; end
# Returns the value of attribute in.
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#21
def in; end
# Returns the value of attribute out.
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#22
def out; end
end
# This represents an object that goes on the stack that is passed between
# instructions within a basic block.
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#50
class SyntaxTree::YARV::DataFlowGraph::LocalArgument
# @return [LocalArgument] a new instance of LocalArgument
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#53
def initialize(length); end
# Returns the value of attribute length.
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#51
def length; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#57
def local?; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#51
def name; end
# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#61
def to_str; end
end
# This class is responsible for taking a compiled instruction sequence and
# walking through it to generate equivalent Ruby code.
#
# source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#7
class SyntaxTree::YARV::Decompiler
include ::SyntaxTree::DSL
# @return [Decompiler] a new instance of Decompiler
#
# source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#32
def initialize(iseq); end
# Returns the value of attribute block_label.
#
# source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#30
def block_label; end
# Returns the value of attribute iseq.
#
# source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#30
def iseq; end
# source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#37
def to_ruby; end
private
# source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#52
def decompile(iseq); end
# source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#256
def local_name(index, level); end
# source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#43
def node_for(value); end
end
# When we're decompiling, we use a looped case statement to emulate
# jumping around in the same way the virtual machine would. This class
# provides convenience methods for generating the AST nodes that have to
# do with that label.
#
# source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#12
class SyntaxTree::YARV::Decompiler::BlockLabel
include ::SyntaxTree::DSL
# @return [BlockLabel] a new instance of BlockLabel
#
# source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#16
def initialize(name); end
# source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#20
def field; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#14
def name; end
# source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#24
def ref; end
end
# ### Summary
#
# `defineclass` defines a class. First it pops the superclass off the
# stack, then it pops the object off the stack that the class should be
# defined under. It has three arguments: the name of the constant, the
# instruction sequence associated with the class, and various flags that
# indicate if it is a singleton class, a module, or a regular class.
#
# ### Usage
#
# ~~~ruby
# class Foo
# end
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#775
class SyntaxTree::YARV::DefineClass < ::SyntaxTree::YARV::Instruction
# @return [DefineClass] a new instance of DefineClass
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#784
def initialize(name, class_iseq, flags); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#806
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#823
def call(vm); end
# Returns the value of attribute class_iseq.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#782
def class_iseq; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#802
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#790
def disasm(fmt); end
# Returns the value of attribute flags.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#782
def flags; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#811
def length; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#782
def name; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#815
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#819
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#798
def to_a(_iseq); end
end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#780
SyntaxTree::YARV::DefineClass::FLAG_HAS_SUPERCLASS = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#779
SyntaxTree::YARV::DefineClass::FLAG_SCOPED = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#776
SyntaxTree::YARV::DefineClass::TYPE_CLASS = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#778
SyntaxTree::YARV::DefineClass::TYPE_MODULE = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#777
SyntaxTree::YARV::DefineClass::TYPE_SINGLETON_CLASS = T.let(T.unsafe(nil), Integer)
# ### Summary
#
# `definemethod` defines a method on the class of the current value of
# `self`. It accepts two arguments. The first is the name of the method
# being defined. The second is the instruction sequence representing the
# body of the method.
#
# ### Usage
#
# ~~~ruby
# def value = "value"
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1068
class SyntaxTree::YARV::DefineMethod < ::SyntaxTree::YARV::Instruction
# @return [DefineMethod] a new instance of DefineMethod
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1071
def initialize(method_name, method_iseq); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1092
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1101
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1088
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1076
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1097
def length; end
# Returns the value of attribute method_iseq.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1069
def method_iseq; end
# Returns the value of attribute method_name.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1069
def method_name; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1084
def to_a(_iseq); end
end
# ### Summary
#
# `definesmethod` defines a method on the singleton class of the current
# value of `self`. It accepts two arguments. The first is the name of the
# method being defined. The second is the instruction sequence representing
# the body of the method. It pops the object off the stack that the method
# should be defined on.
#
# ### Usage
#
# ~~~ruby
# def self.value = "value"
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1137
class SyntaxTree::YARV::DefineSMethod < ::SyntaxTree::YARV::Instruction
# @return [DefineSMethod] a new instance of DefineSMethod
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1140
def initialize(method_name, method_iseq); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1161
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1174
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1157
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1145
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1166
def length; end
# Returns the value of attribute method_iseq.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1138
def method_iseq; end
# Returns the value of attribute method_name.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1138
def method_name; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1170
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1153
def to_a(_iseq); end
end
# ### Summary
#
# `defined` checks if the top value of the stack is defined. If it is, it
# pushes its value onto the stack. Otherwise it pushes `nil`.
#
# ### Usage
#
# ~~~ruby
# defined?(x)
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#859
class SyntaxTree::YARV::Defined < ::SyntaxTree::YARV::Instruction
# @return [Defined] a new instance of Defined
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#880
def initialize(type, name, message); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#939
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#956
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#935
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#886
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#944
def length; end
# Returns the value of attribute message.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#878
def message; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#878
def name; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#948
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#952
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#931
def to_a(_iseq); end
# Returns the value of attribute type.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#878
def type; end
end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#872
SyntaxTree::YARV::Defined::TYPE_ASGN = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#865
SyntaxTree::YARV::Defined::TYPE_CONST = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#876
SyntaxTree::YARV::Defined::TYPE_CONST_FROM = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#864
SyntaxTree::YARV::Defined::TYPE_CVAR = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#873
SyntaxTree::YARV::Defined::TYPE_EXPR = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#871
SyntaxTree::YARV::Defined::TYPE_FALSE = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#875
SyntaxTree::YARV::Defined::TYPE_FUNC = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#863
SyntaxTree::YARV::Defined::TYPE_GVAR = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#861
SyntaxTree::YARV::Defined::TYPE_IVAR = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#862
SyntaxTree::YARV::Defined::TYPE_LVAR = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#866
SyntaxTree::YARV::Defined::TYPE_METHOD = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#860
SyntaxTree::YARV::Defined::TYPE_NIL = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#874
SyntaxTree::YARV::Defined::TYPE_REF = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#869
SyntaxTree::YARV::Defined::TYPE_SELF = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#870
SyntaxTree::YARV::Defined::TYPE_TRUE = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#867
SyntaxTree::YARV::Defined::TYPE_YIELD = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#868
SyntaxTree::YARV::Defined::TYPE_ZSUPER = T.let(T.unsafe(nil), Integer)
# ### Summary
#
# `definedivar` checks if an instance variable is defined. It is a
# specialization of the `defined` instruction. It accepts three arguments:
# the name of the instance variable, an inline cache, and the string that
# should be pushed onto the stack in the event that the instance variable
# is defined.
#
# ### Usage
#
# ~~~ruby
# defined?(@value)
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1011
class SyntaxTree::YARV::DefinedIVar < ::SyntaxTree::YARV::Instruction
# @return [DefinedIVar] a new instance of DefinedIVar
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1014
def initialize(name, cache, message); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1035
def ==(other); end
# Returns the value of attribute cache.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1012
def cache; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1048
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1031
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1020
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1040
def length; end
# Returns the value of attribute message.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1012
def message; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1012
def name; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1044
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1027
def to_a(_iseq); end
end
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#5
class SyntaxTree::YARV::Disassembler
# @return [Disassembler] a new instance of Disassembler
#
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#46
def initialize(current_iseq = T.unsafe(nil)); end
# Helpers for various instructions
#
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#58
def calldata(value); end
# Returns the value of attribute current_iseq.
#
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#44
def current_iseq; end
# Sets the attribute current_iseq
#
# @param value the value to set the attribute current_iseq to.
#
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#44
def current_iseq=(_arg0); end
# Returns the value of attribute current_prefix.
#
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#43
def current_prefix; end
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#62
def enqueue(iseq); end
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#66
def event(name); end
# Entrypoints
#
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#116
def format!; end
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#123
def format_insns!(insns, length = T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#87
def inline_storage(cache); end
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#91
def instruction(name, operands = T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#95
def label(value); end
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#99
def local(index, explicit: T.unsafe(nil), implicit: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#108
def object(value); end
# Returns the value of attribute output.
#
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#41
def output; end
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#167
def print(string); end
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#171
def puts(string); end
# Returns the value of attribute queue.
#
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#41
def queue; end
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#175
def string; end
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#179
def with_prefix(value); end
private
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#192
def format_iseq(iseq); end
end
# This class is another object that handles disassembling a YARV
# instruction sequence but it renders it without any of the extra spacing
# or alignment.
#
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#9
class SyntaxTree::YARV::Disassembler::Squished
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#10
def calldata(value); end
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#14
def enqueue(iseq); end
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#17
def event(name); end
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#20
def inline_storage(cache); end
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#24
def instruction(name, operands = T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#28
def label(value); end
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#32
def local(index, **_arg1); end
# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#36
def object(value); end
end
# ### Summary
#
# `dup` copies the top value of the stack and pushes it onto the stack.
#
# ### Usage
#
# ~~~ruby
# $global = 5
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1206
class SyntaxTree::YARV::Dup < ::SyntaxTree::YARV::Instruction
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1219
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1231
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1215
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1207
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1223
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1227
def pushes; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1235
def side_effects?; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1211
def to_a(_iseq); end
end
# ### Summary
#
# `duparray` dups an Array literal and pushes it onto the stack.
#
# ### Usage
#
# ~~~ruby
# [true]
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1250
class SyntaxTree::YARV::DupArray < ::SyntaxTree::YARV::Instruction
# @return [DupArray] a new instance of DupArray
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1253
def initialize(object); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1269
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1281
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1265
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1257
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1273
def length; end
# Returns the value of attribute object.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1251
def object; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1277
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1261
def to_a(_iseq); end
end
# ### Summary
#
# `duphash` dups a Hash literal and pushes it onto the stack.
#
# ### Usage
#
# ~~~ruby
# { a: 1 }
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1296
class SyntaxTree::YARV::DupHash < ::SyntaxTree::YARV::Instruction
# @return [DupHash] a new instance of DupHash
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1299
def initialize(object); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1315
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1327
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1311
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1303
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1319
def length; end
# Returns the value of attribute object.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1297
def object; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1323
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1307
def to_a(_iseq); end
end
# ### Summary
#
# `dupn` duplicates the top `n` stack elements.
#
# ### Usage
#
# ~~~ruby
# Object::X ||= true
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1342
class SyntaxTree::YARV::DupN < ::SyntaxTree::YARV::Instruction
# @return [DupN] a new instance of DupN
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1345
def initialize(number); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1361
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1373
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1357
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1349
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1365
def length; end
# Returns the value of attribute number.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1343
def number; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1369
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1353
def to_a(_iseq); end
end
# ### Summary
#
# `expandarray` looks at the top of the stack, and if the value is an array
# it replaces it on the stack with `number` elements of the array, or `nil`
# if the elements are missing.
#
# ### Usage
#
# ~~~ruby
# x, = [true, false, nil]
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1392
class SyntaxTree::YARV::ExpandArray < ::SyntaxTree::YARV::Instruction
# @return [ExpandArray] a new instance of ExpandArray
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1395
def initialize(number, flags); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1412
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1429
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1408
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1400
def disasm(fmt); end
# Returns the value of attribute flags.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1393
def flags; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1417
def length; end
# Returns the value of attribute number.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1393
def number; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1421
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1425
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1404
def to_a(_iseq); end
end
# ### Summary
#
# `getblockparam` is a similar instruction to `getlocal` in that it looks
# for a local variable in the current instruction sequence's local table and
# walks recursively up the parent instruction sequences until it finds it.
# The local it retrieves, however, is a special block local that was passed
# to the current method. It pushes the value of the block local onto the
# stack.
#
# ### Usage
#
# ~~~ruby
# def foo(&block)
# block
# end
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1486
class SyntaxTree::YARV::GetBlockParam < ::SyntaxTree::YARV::Instruction
# @return [GetBlockParam] a new instance of GetBlockParam
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1489
def initialize(index, level); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1508
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1521
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1504
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1494
def disasm(fmt); end
# Returns the value of attribute index.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1487
def index; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1513
def length; end
# Returns the value of attribute level.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1487
def level; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1517
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1498
def to_a(iseq); end
end
# ### Summary
#
# `getblockparamproxy` is almost the same as `getblockparam` except that it
# pushes a proxy object onto the stack instead of the actual value of the
# block local. This is used when a method is being called on the block
# local.
#
# ### Usage
#
# ~~~ruby
# def foo(&block)
# block.call
# end
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1541
class SyntaxTree::YARV::GetBlockParamProxy < ::SyntaxTree::YARV::Instruction
# @return [GetBlockParamProxy] a new instance of GetBlockParamProxy
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1544
def initialize(index, level); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1566
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1579
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1562
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1549
def disasm(fmt); end
# Returns the value of attribute index.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1542
def index; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1571
def length; end
# Returns the value of attribute level.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1542
def level; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1575
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1556
def to_a(iseq); end
end
# ### Summary
#
# `getclassvariable` looks for a class variable in the current class and
# pushes its value onto the stack. It uses an inline cache to reduce the
# need to lookup the class variable in the class hierarchy every time.
#
# ### Usage
#
# ~~~ruby
# @@class_variable
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1596
class SyntaxTree::YARV::GetClassVariable < ::SyntaxTree::YARV::Instruction
# @return [GetClassVariable] a new instance of GetClassVariable
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1599
def initialize(name, cache); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1619
def ==(other); end
# Returns the value of attribute cache.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1597
def cache; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1632
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1615
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1604
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1624
def length; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1597
def name; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1628
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1611
def to_a(_iseq); end
end
# ### Summary
#
# `getconstant` performs a constant lookup and pushes the value of the
# constant onto the stack. It pops both the class it should look in and
# whether or not it should look globally as well.
#
# ### Usage
#
# ~~~ruby
# Constant
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1651
class SyntaxTree::YARV::GetConstant < ::SyntaxTree::YARV::Instruction
# @return [GetConstant] a new instance of GetConstant
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1654
def initialize(name); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1670
def ==(other); end
# @raise [NameError]
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1686
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1666
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1658
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1674
def length; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1652
def name; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1678
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1682
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1662
def to_a(_iseq); end
end
# ### Summary
#
# `getglobal` pushes the value of a global variables onto the stack.
#
# ### Usage
#
# ~~~ruby
# $$
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1717
class SyntaxTree::YARV::GetGlobal < ::SyntaxTree::YARV::Instruction
# @return [GetGlobal] a new instance of GetGlobal
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1720
def initialize(name); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1736
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1748
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1732
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1724
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1740
def length; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1718
def name; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1744
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1728
def to_a(_iseq); end
end
# ### Summary
#
# `getinstancevariable` pushes the value of an instance variable onto the
# stack. It uses an inline cache to avoid having to look up the instance
# variable in the class hierarchy every time.
#
# This instruction has two forms, but both have the same structure. Before
# Ruby 3.2, the inline cache corresponded to both the get and set
# instructions and could be shared. Since Ruby 3.2, it uses object shapes
# instead so the caches are unique per instruction.
#
# ### Usage
#
# ~~~ruby
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1772
class SyntaxTree::YARV::GetInstanceVariable < ::SyntaxTree::YARV::Instruction
# @return [GetInstanceVariable] a new instance of GetInstanceVariable
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1775
def initialize(name, cache); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1795
def ==(other); end
# Returns the value of attribute cache.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1773
def cache; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1808
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1791
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1780
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1800
def length; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1773
def name; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1804
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1787
def to_a(_iseq); end
end
# ### Summary
#
# `getlocal` fetches the value of a local variable from a frame determined
# by the level and index arguments. The level is the number of frames back
# to look and the index is the index in the local table. It pushes the value
# it finds onto the stack.
#
# ### Usage
#
# ~~~ruby
# value = 5
# tap { tap { value } }
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1828
class SyntaxTree::YARV::GetLocal < ::SyntaxTree::YARV::Instruction
# @return [GetLocal] a new instance of GetLocal
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1831
def initialize(index, level); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1850
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1862
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1846
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1836
def disasm(fmt); end
# Returns the value of attribute index.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1829
def index; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1854
def length; end
# Returns the value of attribute level.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1829
def level; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1858
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1840
def to_a(iseq); end
end
# ### Summary
#
# `getlocal_WC_0` is a specialized version of the `getlocal` instruction. It
# fetches the value of a local variable from the current frame determined by
# the index given as its only argument.
#
# ### Usage
#
# ~~~ruby
# value = 5
# value
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1880
class SyntaxTree::YARV::GetLocalWC0 < ::SyntaxTree::YARV::Instruction
# @return [GetLocalWC0] a new instance of GetLocalWC0
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1883
def initialize(index); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1899
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1915
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1911
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1895
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1887
def disasm(fmt); end
# Returns the value of attribute index.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1881
def index; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1903
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1907
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1891
def to_a(iseq); end
end
# ### Summary
#
# `getlocal_WC_1` is a specialized version of the `getlocal` instruction. It
# fetches the value of a local variable from the parent frame determined by
# the index given as its only argument.
#
# ### Usage
#
# ~~~ruby
# value = 5
# self.then { value }
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1933
class SyntaxTree::YARV::GetLocalWC1 < ::SyntaxTree::YARV::Instruction
# @return [GetLocalWC1] a new instance of GetLocalWC1
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1936
def initialize(index); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1952
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1968
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1964
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1948
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1940
def disasm(fmt); end
# Returns the value of attribute index.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1934
def index; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1956
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1960
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1944
def to_a(iseq); end
end
# ### Summary
#
# `getspecial` pushes the value of a special local variable onto the stack.
#
# ### Usage
#
# ~~~ruby
# 1 if (a == 1) .. (b == 2)
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1983
class SyntaxTree::YARV::GetSpecial < ::SyntaxTree::YARV::Instruction
# @return [GetSpecial] a new instance of GetSpecial
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1990
def initialize(key, type); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2007
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2019
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2003
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1995
def disasm(fmt); end
# Returns the value of attribute key.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1988
def key; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2011
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2015
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1999
def to_a(_iseq); end
# Returns the value of attribute type.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1988
def type; end
end
# $~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1985
SyntaxTree::YARV::GetSpecial::SVAR_BACKREF = T.let(T.unsafe(nil), Integer)
# flipflop
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1986
SyntaxTree::YARV::GetSpecial::SVAR_FLIPFLOP_START = T.let(T.unsafe(nil), Integer)
# $_
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1984
SyntaxTree::YARV::GetSpecial::SVAR_LASTLINE = T.let(T.unsafe(nil), Integer)
# This is a base class for all YARV instructions. It provides a few
# convenience methods for working with instructions.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#7
class SyntaxTree::YARV::Instruction
# This returns an array of labels.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#33
def branch_targets; end
# This method creates an instruction that represents the canonical
# (non-specialized) form of this instruction. If this instruction is not
# a specialized instruction, then this method returns `self`.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#11
def canonical; end
# Whether or not this instruction falls through to the next instruction if
# its branching fails.
#
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#44
def falls_through?; end
# Whether or not this instruction leaves the current frame.
#
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#38
def leaves?; end
# This returns the size of the instruction in terms of the number of slots
# it occupies in the instruction sequence. Effectively this is 1 plus the
# number of operands.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#18
def length; end
# This returns the number of values that are popped off the stack.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#28
def pops; end
# This returns the number of values that are pushed onto the stack.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#23
def pushes; end
# Does the instruction have side effects? Control-flow counts as a
# side-effect, as do some special-case instructions like Leave. By default
# every instruction is marked as having side effects.
#
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#51
def side_effects?; end
end
# This class is meant to mirror RubyVM::InstructionSequence. It contains a
# list of instructions along with the metadata pertaining to them. It also
# functions as a builder for the instruction sequence.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#9
class SyntaxTree::YARV::InstructionSequence
# @return [InstructionSequence] a new instance of InstructionSequence
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#168
def initialize(name, file, line, type, parent_iseq = T.unsafe(nil), options = T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#636
def adjuststack(number); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#640
def anytostring; end
# Returns the value of attribute argument_options.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#143
def argument_options; end
# This is the list of information about the arguments to this
# instruction sequence.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#142
def argument_size; end
# This is the list of information about the arguments to this
# instruction sequence.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#142
def argument_size=(_arg0); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#456
def block_child_iseq(line); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#644
def branchif(label); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#648
def branchnil(label); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#652
def branchunless(label); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#549
def catch_break(iseq, begin_label, end_label, exit_label, restore_sp); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#559
def catch_ensure(iseq, begin_label, end_label, exit_label, restore_sp); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#569
def catch_next(begin_label, end_label, exit_label, restore_sp); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#579
def catch_redo(begin_label, end_label, exit_label, restore_sp); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#589
def catch_rescue(iseq, begin_label, end_label, exit_label, restore_sp); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#599
def catch_retry(begin_label, end_label, exit_label, restore_sp); end
# The catch table for this instruction sequence.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#146
def catch_table; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#656
def checkkeyword(keyword_bits_index, keyword_index); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#660
def checkmatch(type); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#664
def checktype(type); end
# Child instruction sequence methods
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#452
def child_iseq(name, line, type); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#462
def class_child_iseq(name, line); end
# This method converts our linked list of instructions into a final array
# and performs any other compilation steps necessary.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#305
def compile!; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#668
def concatarray; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#672
def concatstrings(number); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#676
def defineclass(name, class_iseq, flags); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#680
def defined(type, name, message); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#684
def definedivar(name, cache, message); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#693
def definemethod(name, method_iseq); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#697
def definesmethod(name, method_iseq); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#292
def disasm; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#701
def dup; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#705
def duparray(object); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#709
def duphash(object); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#713
def dupn(number); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#232
def eval; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#632
def event(name); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#717
def expandarray(length, flags); end
# The source location of the instruction sequence.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#132
def file; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#721
def getblockparam(index, level); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#725
def getblockparamproxy(index, level); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#729
def getclassvariable(name); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#737
def getconstant(name); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#741
def getglobal(name); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#745
def getinstancevariable(name); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#753
def getlocal(index, level); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#772
def getspecial(key, type); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#207
def inline_storage; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#213
def inline_storage_for(name); end
# The hash of names of instance and class variables pointing to the
# index of their associated inline storage.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#156
def inline_storages; end
# The list of instructions for this instruction sequence.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#149
def insns; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#299
def inspect; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#776
def intern; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#780
def invokeblock(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#784
def invokesuper(calldata, block_iseq); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#788
def jump(label); end
# Instruction push methods
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#613
def label; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#792
def leave; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#219
def length; end
# The source location of the instruction sequence.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#132
def line; end
# The table of local variables.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#152
def local_table; end
# Query methods
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#199
def local_variable(name, level = T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#466
def method_child_iseq(name, line); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#470
def module_child_iseq(name, line); end
# The name of the instruction sequence.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#129
def name; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#796
def newarray(number); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#800
def newarraykwsplat(number); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#804
def newhash(number); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#808
def newrange(exclude_end); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#812
def nop; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#816
def objtostring(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#820
def once(iseq, cache); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#824
def opt_aref_with(object, calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#828
def opt_aset_with(object, calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#832
def opt_case_dispatch(case_dispatch_hash, else_label); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#836
def opt_getconstant_path(names); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#872
def opt_getinlinecache(label, cache); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#876
def opt_setinlinecache(cache); end
# These are various compilation options provided.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#166
def options; end
# The parent instruction sequence, if there is one.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#138
def parent_iseq; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#880
def pop; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#617
def push(value); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#884
def putnil; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#888
def putobject(object); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#906
def putself; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#910
def putspecialobject(object); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#914
def putstring(object); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#918
def send(calldata, block_iseq = T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#922
def setblockparam(index, level); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#926
def setclassvariable(name); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#934
def setconstant(name); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#938
def setglobal(name); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#942
def setinstancevariable(name); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#950
def setlocal(index, level); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#969
def setn(number); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#973
def setspecial(key); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#474
def singleton_class_child_iseq(line); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#341
def specialize_instructions!; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#977
def splatarray(flag); end
# An object that will track the current size of the stack and the
# maximum size of the stack for this instruction sequence.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#163
def stack; end
# The index of the next inline storage that will be created.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#159
def storage_index; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#981
def swap; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#985
def throw(type); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#236
def to_a; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#280
def to_cfg; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#284
def to_dfg; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#288
def to_son; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#989
def topn(number); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#993
def toregexp(options, length); end
# The type of the instruction sequence.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#135
def type; end
class << self
# This method will create a new instruction sequence from a serialized
# RubyVM::InstructionSequence object.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#999
def from(source, options = T.unsafe(nil), parent_iseq = T.unsafe(nil)); end
# This provides a handle to the rb_iseq_load function, which allows you
# to pass a serialized iseq to Ruby and have it return a
# RubyVM::InstructionSequence object.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#13
def iseq_load(iseq); end
end
end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#494
class SyntaxTree::YARV::InstructionSequence::CatchBreak < ::SyntaxTree::YARV::InstructionSequence::CatchEntry
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#495
def to_a; end
end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#507
class SyntaxTree::YARV::InstructionSequence::CatchEnsure < ::SyntaxTree::YARV::InstructionSequence::CatchEntry
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#508
def to_a; end
end
# Catch table methods
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#482
class SyntaxTree::YARV::InstructionSequence::CatchEntry
# @return [CatchEntry] a new instance of CatchEntry
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#485
def initialize(iseq, begin_label, end_label, exit_label, restore_sp); end
# Returns the value of attribute begin_label.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#483
def begin_label; end
# Returns the value of attribute end_label.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#483
def end_label; end
# Returns the value of attribute exit_label.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#483
def exit_label; end
# Returns the value of attribute iseq.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#483
def iseq; end
# Returns the value of attribute restore_sp.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#483
def restore_sp; end
end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#519
class SyntaxTree::YARV::InstructionSequence::CatchNext < ::SyntaxTree::YARV::InstructionSequence::CatchEntry
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#520
def to_a; end
end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#525
class SyntaxTree::YARV::InstructionSequence::CatchRedo < ::SyntaxTree::YARV::InstructionSequence::CatchEntry
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#526
def to_a; end
end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#531
class SyntaxTree::YARV::InstructionSequence::CatchRescue < ::SyntaxTree::YARV::InstructionSequence::CatchEntry
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#532
def to_a; end
end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#543
class SyntaxTree::YARV::InstructionSequence::CatchRetry < ::SyntaxTree::YARV::InstructionSequence::CatchEntry
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#544
def to_a; end
end
# When the list of instructions is first being created, it's stored as a
# linked list. This is to make it easier to perform peephole optimizations
# and other transformations like instruction specialization.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#35
class SyntaxTree::YARV::InstructionSequence::InstructionList
include ::Enumerable
# @return [InstructionList] a new instance of InstructionList
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#48
def initialize; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#53
def each(&_blk); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#58
def each_node; end
# Returns the value of attribute head_node.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#46
def head_node; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#68
def push(instruction); end
# Returns the value of attribute tail_node.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#46
def tail_node; end
end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#36
class SyntaxTree::YARV::InstructionSequence::InstructionList::Node
# @return [Node] a new instance of Node
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#39
def initialize(value, next_node = T.unsafe(nil)); end
# Returns the value of attribute next_node.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#37
def next_node; end
# Sets the attribute next_node
#
# @param value the value to set the attribute next_node to.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#37
def next_node=(_arg0); end
# Returns the value of attribute value.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#37
def value; end
# Sets the attribute value
#
# @param value the value to set the attribute value to.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#37
def value=(_arg0); end
end
# This represents the destination of instructions that jump. Initially it
# does not track its position so that when we perform optimizations the
# indices don't get messed up.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#107
class SyntaxTree::YARV::InstructionSequence::Label
# @return [Label] a new instance of Label
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#115
def initialize(name = T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#123
def inspect; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#108
def name; end
# When we're serializing the instruction sequence, we need to be able to
# look up the label from the branch instructions and then access the
# subsequent node. So we'll store the reference here.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#113
def node; end
# When we're serializing the instruction sequence, we need to be able to
# look up the label from the branch instructions and then access the
# subsequent node. So we'll store the reference here.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#113
def node=(_arg0); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#119
def patch!(name); end
end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#83
SyntaxTree::YARV::InstructionSequence::MAGIC = T.let(T.unsafe(nil), String)
# This object is used to track the size of the stack at any given time. It
# is effectively a mini symbolic interpreter. It's necessary because when
# instruction sequences get serialized they include a :stack_max field on
# them. This field is used to determine how much stack space to allocate
# for the instruction sequence.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#90
class SyntaxTree::YARV::InstructionSequence::Stack
# @return [Stack] a new instance of Stack
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#93
def initialize; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#98
def change_by(value); end
# Returns the value of attribute current_size.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#91
def current_size; end
# Returns the value of attribute maximum_size.
#
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#91
def maximum_size; end
end
# ### Summary
#
# `intern` converts the top element of the stack to a symbol and pushes the
# symbol onto the stack.
#
# ### Usage
#
# ~~~ruby
# :"#{"foo"}"
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2042
class SyntaxTree::YARV::Intern < ::SyntaxTree::YARV::Instruction
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2055
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2067
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2051
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2043
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2059
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2063
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2047
def to_a(_iseq); end
end
# ### Summary
#
# `invokeblock` invokes the block given to the current method. It pops the
# arguments for the block off the stack and pushes the result of running the
# block onto the stack.
#
# ### Usage
#
# ~~~ruby
# def foo
# yield
# end
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2086
class SyntaxTree::YARV::InvokeBlock < ::SyntaxTree::YARV::Instruction
# @return [InvokeBlock] a new instance of InvokeBlock
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2089
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2105
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2121
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2087
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2101
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2093
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2109
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2113
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2117
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2097
def to_a(_iseq); end
end
# ### Summary
#
# `invokesuper` is similar to the `send` instruction, except that it calls
# the super method. It pops the receiver and arguments off the stack and
# pushes the return value onto the stack.
#
# ### Usage
#
# ~~~ruby
# def foo
# super
# end
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2140
class SyntaxTree::YARV::InvokeSuper < ::SyntaxTree::YARV::Instruction
# @return [InvokeSuper] a new instance of InvokeSuper
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2143
def initialize(calldata, block_iseq); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2164
def ==(other); end
# Returns the value of attribute block_iseq.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2141
def block_iseq; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2178
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2141
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2160
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2148
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2169
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2174
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2156
def to_a(_iseq); end
end
# ### Summary
#
# `jump` unconditionally jumps to the label given as its only argument.
#
# ### Usage
#
# ~~~ruby
# x = 0
# if x == 0
# puts "0"
# else
# puts "2"
# end
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2217
class SyntaxTree::YARV::Jump < ::SyntaxTree::YARV::Instruction
# @return [Jump] a new instance of Jump
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2220
def initialize(label); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2236
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2248
def branch_targets; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2244
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2232
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2224
def disasm(fmt); end
# Returns the value of attribute label.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2218
def label; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2240
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2228
def to_a(_iseq); end
end
# ### Summary
#
# `leave` exits the current frame.
#
# ### Usage
#
# ~~~ruby
# ;;
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2263
class SyntaxTree::YARV::Leave < ::SyntaxTree::YARV::Instruction
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2276
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2290
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2272
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2264
def disasm(fmt); end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2294
def leaves?; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2280
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2284
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2268
def to_a(_iseq); end
end
# This module contains the instructions that used to be a part of YARV but
# have been replaced or removed in more recent versions.
#
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#7
module SyntaxTree::YARV::Legacy; end
# ### Summary
#
# `getclassvariable` looks for a class variable in the current class and
# pushes its value onto the stack.
#
# This version of the `getclassvariable` instruction is no longer used
# since in Ruby 3.0 it gained an inline cache.`
#
# ### Usage
#
# ~~~ruby
# @@class_variable
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#22
class SyntaxTree::YARV::Legacy::GetClassVariable < ::SyntaxTree::YARV::Instruction
# @return [GetClassVariable] a new instance of GetClassVariable
#
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#25
def initialize(name); end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#41
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#57
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#53
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#37
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#29
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#45
def length; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#23
def name; end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#49
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#33
def to_a(_iseq); end
end
# ### Summary
#
# `opt_getinlinecache` is a wrapper around a series of `putobject` and
# `getconstant` instructions that allows skipping past them if the inline
# cache is currently set. It pushes the value of the cache onto the stack
# if it is set, otherwise it pushes `nil`.
#
# This instruction is no longer used since in Ruby 3.2 it was replaced by
# the consolidated `opt_getconstant_path` instruction.
#
# ### Usage
#
# ~~~ruby
# Constant
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#78
class SyntaxTree::YARV::Legacy::OptGetInlineCache < ::SyntaxTree::YARV::Instruction
# @return [OptGetInlineCache] a new instance of OptGetInlineCache
#
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#81
def initialize(label, cache); end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#101
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#118
def branch_targets; end
# Returns the value of attribute cache.
#
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#79
def cache; end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#114
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#97
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#86
def disasm(fmt); end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#122
def falls_through?; end
# Returns the value of attribute label.
#
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#79
def label; end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#106
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#110
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#93
def to_a(_iseq); end
end
# ### Summary
#
# `opt_setinlinecache` sets an inline cache for a constant lookup. It pops
# the value it should set off the top of the stack. It uses this value to
# set the cache. It then pushes that value back onto the top of the stack.
#
# This instruction is no longer used since in Ruby 3.2 it was replaced by
# the consolidated `opt_getconstant_path` instruction.
#
# ### Usage
#
# ~~~ruby
# Constant
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#142
class SyntaxTree::YARV::Legacy::OptSetInlineCache < ::SyntaxTree::YARV::Instruction
# @return [OptSetInlineCache] a new instance of OptSetInlineCache
#
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#145
def initialize(cache); end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#161
def ==(other); end
# Returns the value of attribute cache.
#
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#143
def cache; end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#177
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#157
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#149
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#165
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#169
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#173
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#153
def to_a(_iseq); end
end
# ### Summary
#
# `setclassvariable` looks for a class variable in the current class and
# sets its value to the value it pops off the top of the stack.
#
# This version of the `setclassvariable` instruction is no longer used
# since in Ruby 3.0 it gained an inline cache.
#
# ### Usage
#
# ~~~ruby
# @@class_variable = 1
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#195
class SyntaxTree::YARV::Legacy::SetClassVariable < ::SyntaxTree::YARV::Instruction
# @return [SetClassVariable] a new instance of SetClassVariable
#
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#198
def initialize(name); end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#214
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#230
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#226
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#210
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#202
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#218
def length; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#196
def name; end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#222
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#206
def to_a(_iseq); end
end
# This represents every local variable associated with an instruction
# sequence. There are two kinds of locals: plain locals that are what you
# expect, and block proxy locals, which represent local variables
# associated with blocks that were passed into the current instruction
# sequence.
#
# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#10
class SyntaxTree::YARV::LocalTable
# @return [LocalTable] a new instance of LocalTable
#
# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#43
def initialize; end
# Add a BlockLocal to the local table.
#
# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#73
def block(name); end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#47
def empty?; end
# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#51
def find(name, level = T.unsafe(nil)); end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#56
def has?(name); end
# Returns the value of attribute locals.
#
# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#41
def locals; end
# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#64
def name_at(index); end
# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#60
def names; end
# This is the offset from the top of the stack where this local variable
# lives.
#
# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#84
def offset(index); end
# Add a PlainLocal to the local table.
#
# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#78
def plain(name); end
# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#68
def size; end
end
# A local representing a block passed into the current instruction
# sequence.
#
# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#13
class SyntaxTree::YARV::LocalTable::BlockLocal
# @return [BlockLocal] a new instance of BlockLocal
#
# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#16
def initialize(name); end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#14
def name; end
end
# The result of looking up a local variable in the current local table.
#
# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#31
class SyntaxTree::YARV::LocalTable::Lookup
# @return [Lookup] a new instance of Lookup
#
# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#34
def initialize(local, index, level); end
# Returns the value of attribute index.
#
# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#32
def index; end
# Returns the value of attribute level.
#
# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#32
def level; end
# Returns the value of attribute local.
#
# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#32
def local; end
end
# A regular local variable.
#
# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#22
class SyntaxTree::YARV::LocalTable::PlainLocal
# @return [PlainLocal] a new instance of PlainLocal
#
# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#25
def initialize(name); end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#23
def name; end
end
# ### Summary
#
# `newarray` puts a new array initialized with `number` values from the
# stack. It pops `number` values off the stack and pushes the array onto the
# stack.
#
# ### Usage
#
# ~~~ruby
# ["string"]
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2311
class SyntaxTree::YARV::NewArray < ::SyntaxTree::YARV::Instruction
# @return [NewArray] a new instance of NewArray
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2314
def initialize(number); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2330
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2346
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2326
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2318
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2334
def length; end
# Returns the value of attribute number.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2312
def number; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2338
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2342
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2322
def to_a(_iseq); end
end
# ### Summary
#
# `newarraykwsplat` is a specialized version of `newarray` that takes a **
# splat argument. It pops `number` values off the stack and pushes the array
# onto the stack.
#
# ### Usage
#
# ~~~ruby
# ["string", **{ foo: "bar" }]
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2363
class SyntaxTree::YARV::NewArrayKwSplat < ::SyntaxTree::YARV::Instruction
# @return [NewArrayKwSplat] a new instance of NewArrayKwSplat
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2366
def initialize(number); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2382
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2398
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2378
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2370
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2386
def length; end
# Returns the value of attribute number.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2364
def number; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2390
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2394
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2374
def to_a(_iseq); end
end
# ### Summary
#
# `newhash` puts a new hash onto the stack, using `number` elements from the
# stack. `number` needs to be even. It pops `number` elements off the stack
# and pushes a hash onto the stack.
#
# ### Usage
#
# ~~~ruby
# def foo(key, value)
# { key => value }
# end
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2417
class SyntaxTree::YARV::NewHash < ::SyntaxTree::YARV::Instruction
# @return [NewHash] a new instance of NewHash
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2420
def initialize(number); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2436
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2452
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2432
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2424
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2440
def length; end
# Returns the value of attribute number.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2418
def number; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2444
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2448
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2428
def to_a(_iseq); end
end
# ### Summary
#
# `newrange` creates a new range object from the top two values on the
# stack. It pops both of them off, and then pushes on the new range. It
# takes one argument which is 0 if the end is included or 1 if the end value
# is excluded.
#
# ### Usage
#
# ~~~ruby
# x = 0
# y = 1
# p (x..y), (x...y)
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2472
class SyntaxTree::YARV::NewRange < ::SyntaxTree::YARV::Instruction
# @return [NewRange] a new instance of NewRange
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2475
def initialize(exclude_end); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2491
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2507
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2487
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2479
def disasm(fmt); end
# Returns the value of attribute exclude_end.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2473
def exclude_end; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2495
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2499
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2503
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2483
def to_a(_iseq); end
end
# ### Summary
#
# `nop` is a no-operation instruction. It is used to pad the instruction
# sequence so there is a place for other instructions to jump to.
#
# ### Usage
#
# ~~~ruby
# raise rescue true
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2523
class SyntaxTree::YARV::Nop < ::SyntaxTree::YARV::Instruction
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2536
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2540
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2532
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2524
def disasm(fmt); end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2543
def side_effects?; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2528
def to_a(_iseq); end
end
# ### Summary
#
# `objtostring` pops a value from the stack, calls `to_s` on that value and
# then pushes the result back to the stack.
#
# It has various fast paths for classes like String, Symbol, Module, Class,
# etc. For everything else it calls `to_s`.
#
# ### Usage
#
# ~~~ruby
# "#{5}"
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2562
class SyntaxTree::YARV::ObjToString < ::SyntaxTree::YARV::Instruction
# @return [ObjToString] a new instance of ObjToString
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2565
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2581
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2597
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2563
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2577
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2569
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2585
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2589
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2593
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2573
def to_a(_iseq); end
end
# ### Summary
#
# `once` is an instruction that wraps an instruction sequence and ensures
# that is it only ever executed once for the lifetime of the program. It
# uses a cache to ensure that it is only executed once. It pushes the result
# of running the instruction sequence onto the stack.
#
# ### Usage
#
# ~~~ruby
# END { puts "END" }
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2615
class SyntaxTree::YARV::Once < ::SyntaxTree::YARV::Instruction
# @return [Once] a new instance of Once
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2618
def initialize(iseq, cache); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2636
def ==(other); end
# Returns the value of attribute cache.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2616
def cache; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2648
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2632
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2623
def disasm(fmt); end
# Returns the value of attribute iseq.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2616
def iseq; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2640
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2644
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2628
def to_a(_iseq); end
end
# ### Summary
#
# `opt_and` is a specialization of the `opt_send_without_block` instruction
# that occurs when the `&` operator is used. There is a fast path for if
# both operands are integers. It pops both the receiver and the argument off
# the stack and pushes on the result.
#
# ### Usage
#
# ~~~ruby
# 2 & 3
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2668
class SyntaxTree::YARV::OptAnd < ::SyntaxTree::YARV::Instruction
# @return [OptAnd] a new instance of OptAnd
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2671
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2687
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2707
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2669
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2703
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2683
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2675
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2691
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2695
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2699
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2679
def to_a(_iseq); end
end
# ### Summary
#
# `opt_aref` is a specialization of the `opt_send_without_block` instruction
# that occurs when the `[]` operator is used. There are fast paths if the
# receiver is an integer, array, or hash.
#
# ### Usage
#
# ~~~ruby
# 7[2]
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2724
class SyntaxTree::YARV::OptAref < ::SyntaxTree::YARV::Instruction
# @return [OptAref] a new instance of OptAref
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2727
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2743
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2763
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2725
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2759
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2739
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2731
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2747
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2751
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2755
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2735
def to_a(_iseq); end
end
# ### Summary
#
# `opt_aref_with` is a specialization of the `opt_aref` instruction that
# occurs when the `[]` operator is used with a string argument known at
# compile time. There are fast paths if the receiver is a hash. It pops the
# receiver off the stack and pushes on the result.
#
# ### Usage
#
# ~~~ruby
# { 'test' => true }['test']
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2781
class SyntaxTree::YARV::OptArefWith < ::SyntaxTree::YARV::Instruction
# @return [OptArefWith] a new instance of OptArefWith
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2784
def initialize(object, calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2804
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2821
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2782
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2800
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2789
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2809
def length; end
# Returns the value of attribute object.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2782
def object; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2813
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2817
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2796
def to_a(_iseq); end
end
# ### Summary
#
# `opt_aset` is an instruction for setting the hash value by the key in
# the `recv[obj] = set` format. It is a specialization of the
# `opt_send_without_block` instruction. It pops the receiver, the key, and
# the value off the stack and pushes on the result.
#
# ### Usage
#
# ~~~ruby
# {}[:key] = value
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2839
class SyntaxTree::YARV::OptAset < ::SyntaxTree::YARV::Instruction
# @return [OptAset] a new instance of OptAset
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2842
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2858
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2878
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2840
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2874
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2854
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2846
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2862
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2866
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2870
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2850
def to_a(_iseq); end
end
# ### Summary
#
# `opt_aset_with` is an instruction for setting the hash value by the known
# string key in the `recv[obj] = set` format. It pops the receiver and the
# value off the stack and pushes on the result.
#
# ### Usage
#
# ~~~ruby
# {}["key"] = value
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2895
class SyntaxTree::YARV::OptAsetWith < ::SyntaxTree::YARV::Instruction
# @return [OptAsetWith] a new instance of OptAsetWith
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2898
def initialize(object, calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2918
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2935
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2896
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2914
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2903
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2923
def length; end
# Returns the value of attribute object.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2896
def object; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2927
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2931
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2910
def to_a(_iseq); end
end
# ### Summary
#
# `opt_case_dispatch` is a branch instruction that moves the control flow
# for case statements that have clauses where they can all be used as hash
# keys for an internal hash.
#
# It has two arguments: the `case_dispatch_hash` and an `else_label`. It
# pops one value off the stack: a hash key. `opt_case_dispatch` looks up the
# key in the `case_dispatch_hash` and jumps to the corresponding label if
# there is one. If there is no value in the `case_dispatch_hash`,
# `opt_case_dispatch` jumps to the `else_label` index.
#
# ### Usage
#
# ~~~ruby
# case 1
# when 1
# puts "foo"
# else
# puts "bar"
# end
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2964
class SyntaxTree::YARV::OptCaseDispatch < ::SyntaxTree::YARV::Instruction
# @return [OptCaseDispatch] a new instance of OptCaseDispatch
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2967
def initialize(case_dispatch_hash, else_label); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2991
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3009
def branch_targets; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3005
def call(vm); end
# Returns the value of attribute case_dispatch_hash.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2965
def case_dispatch_hash; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2987
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2972
def disasm(fmt); end
# Returns the value of attribute else_label.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2965
def else_label; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3013
def falls_through?; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2997
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3001
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2979
def to_a(_iseq); end
end
# ### Summary
#
# `opt_div` is a specialization of the `opt_send_without_block` instruction
# that occurs when the `/` operator is used. There are fast paths for if
# both operands are integers, or if both operands are floats. It pops both
# the receiver and the argument off the stack and pushes on the result.
#
# ### Usage
#
# ~~~ruby
# 2 / 3
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3031
class SyntaxTree::YARV::OptDiv < ::SyntaxTree::YARV::Instruction
# @return [OptDiv] a new instance of OptDiv
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3034
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3050
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3070
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3032
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3066
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3046
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3038
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3054
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3058
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3062
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3042
def to_a(_iseq); end
end
# ### Summary
#
# `opt_empty_p` is an optimization applied when the method `empty?` is
# called. It pops the receiver off the stack and pushes on the result of the
# method call.
#
# ### Usage
#
# ~~~ruby
# "".empty?
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3087
class SyntaxTree::YARV::OptEmptyP < ::SyntaxTree::YARV::Instruction
# @return [OptEmptyP] a new instance of OptEmptyP
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3090
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3106
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3126
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3088
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3122
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3102
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3094
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3110
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3114
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3118
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3098
def to_a(_iseq); end
end
# ### Summary
#
# `opt_eq` is a specialization of the `opt_send_without_block` instruction
# that occurs when the == operator is used. Fast paths exist when both
# operands are integers, floats, symbols or strings. It pops both the
# receiver and the argument off the stack and pushes on the result.
#
# ### Usage
#
# ~~~ruby
# 2 == 2
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3144
class SyntaxTree::YARV::OptEq < ::SyntaxTree::YARV::Instruction
# @return [OptEq] a new instance of OptEq
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3147
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3163
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3183
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3145
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3179
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3159
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3151
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3167
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3171
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3175
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3155
def to_a(_iseq); end
end
# ### Summary
#
# `opt_ge` is a specialization of the `opt_send_without_block` instruction
# that occurs when the >= operator is used. Fast paths exist when both
# operands are integers or floats. It pops both the receiver and the
# argument off the stack and pushes on the result.
#
# ### Usage
#
# ~~~ruby
# 4 >= 3
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3201
class SyntaxTree::YARV::OptGE < ::SyntaxTree::YARV::Instruction
# @return [OptGE] a new instance of OptGE
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3204
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3220
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3240
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3202
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3236
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3216
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3208
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3224
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3228
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3232
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3212
def to_a(_iseq); end
end
# ### Summary
#
# `opt_gt` is a specialization of the `opt_send_without_block` instruction
# that occurs when the > operator is used. Fast paths exist when both
# operands are integers or floats. It pops both the receiver and the
# argument off the stack and pushes on the result.
#
# ### Usage
#
# ~~~ruby
# 4 > 3
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3314
class SyntaxTree::YARV::OptGT < ::SyntaxTree::YARV::Instruction
# @return [OptGT] a new instance of OptGT
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3317
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3333
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3353
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3315
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3349
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3329
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3321
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3337
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3341
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3345
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3325
def to_a(_iseq); end
end
# ### Summary
#
# `opt_getconstant_path` performs a constant lookup on a chain of constant
# names. It accepts as its argument an array of constant names, and pushes
# the value of the constant onto the stack.
#
# ### Usage
#
# ~~~ruby
# ::Object
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3257
class SyntaxTree::YARV::OptGetConstantPath < ::SyntaxTree::YARV::Instruction
# @return [OptGetConstantPath] a new instance of OptGetConstantPath
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3260
def initialize(names); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3277
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3289
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3273
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3264
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3281
def length; end
# Returns the value of attribute names.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3258
def names; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3285
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3269
def to_a(_iseq); end
end
# ### Summary
#
# `opt_le` is a specialization of the `opt_send_without_block` instruction
# that occurs when the <= operator is used. Fast paths exist when both
# operands are integers or floats. It pops both the receiver and the
# argument off the stack and pushes on the result.
#
# ### Usage
#
# ~~~ruby
# 3 <= 4
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3371
class SyntaxTree::YARV::OptLE < ::SyntaxTree::YARV::Instruction
# @return [OptLE] a new instance of OptLE
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3374
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3390
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3410
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3372
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3406
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3386
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3378
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3394
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3398
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3402
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3382
def to_a(_iseq); end
end
# ### Summary
#
# `opt_lt` is a specialization of the `opt_send_without_block` instruction
# that occurs when the < operator is used. Fast paths exist when both
# operands are integers or floats. It pops both the receiver and the
# argument off the stack and pushes on the result.
#
# ### Usage
#
# ~~~ruby
# 3 < 4
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3485
class SyntaxTree::YARV::OptLT < ::SyntaxTree::YARV::Instruction
# @return [OptLT] a new instance of OptLT
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3488
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3504
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3524
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3486
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3520
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3500
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3492
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3508
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3512
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3516
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3496
def to_a(_iseq); end
end
# ### Summary
#
# `opt_ltlt` is a specialization of the `opt_send_without_block` instruction
# that occurs when the `<<` operator is used. Fast paths exists when the
# receiver is either a String or an Array. It pops both the receiver and the
# argument off the stack and pushes on the result.
#
# ### Usage
#
# ~~~ruby
# "" << 2
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3542
class SyntaxTree::YARV::OptLTLT < ::SyntaxTree::YARV::Instruction
# @return [OptLTLT] a new instance of OptLTLT
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3545
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3561
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3581
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3543
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3577
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3557
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3549
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3565
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3569
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3573
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3553
def to_a(_iseq); end
end
# ### Summary
#
# `opt_length` is a specialization of `opt_send_without_block`, when the
# `length` method is called. There are fast paths when the receiver is
# either a string, hash, or array. It pops the receiver off the stack and
# pushes on the result of the method call.
#
# ### Usage
#
# ~~~ruby
# "".length
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3428
class SyntaxTree::YARV::OptLength < ::SyntaxTree::YARV::Instruction
# @return [OptLength] a new instance of OptLength
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3431
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3447
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3467
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3429
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3463
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3443
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3435
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3451
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3455
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3459
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3439
def to_a(_iseq); end
end
# ### Summary
#
# `opt_minus` is a specialization of the `opt_send_without_block`
# instruction that occurs when the `-` operator is used. There are fast
# paths for if both operands are integers or if both operands are floats. It
# pops both the receiver and the argument off the stack and pushes on the
# result.
#
# ### Usage
#
# ~~~ruby
# 3 - 2
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3600
class SyntaxTree::YARV::OptMinus < ::SyntaxTree::YARV::Instruction
# @return [OptMinus] a new instance of OptMinus
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3603
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3619
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3639
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3601
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3635
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3615
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3607
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3623
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3627
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3631
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3611
def to_a(_iseq); end
end
# ### Summary
#
# `opt_mod` is a specialization of the `opt_send_without_block` instruction
# that occurs when the `%` operator is used. There are fast paths for if
# both operands are integers or if both operands are floats. It pops both
# the receiver and the argument off the stack and pushes on the result.
#
# ### Usage
#
# ~~~ruby
# 4 % 2
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3657
class SyntaxTree::YARV::OptMod < ::SyntaxTree::YARV::Instruction
# @return [OptMod] a new instance of OptMod
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3660
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3676
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3696
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3658
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3692
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3672
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3664
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3680
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3684
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3688
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3668
def to_a(_iseq); end
end
# ### Summary
#
# `opt_mult` is a specialization of the `opt_send_without_block` instruction
# that occurs when the `*` operator is used. There are fast paths for if
# both operands are integers or floats. It pops both the receiver and the
# argument off the stack and pushes on the result.
#
# ### Usage
#
# ~~~ruby
# 3 * 2
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3714
class SyntaxTree::YARV::OptMult < ::SyntaxTree::YARV::Instruction
# @return [OptMult] a new instance of OptMult
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3717
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3733
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3753
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3715
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3749
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3729
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3721
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3737
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3741
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3745
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3725
def to_a(_iseq); end
end
# ### Summary
#
# `opt_neq` is an optimization that tests whether two values at the top of
# the stack are not equal by testing their equality and calling the `!` on
# the result. This allows `opt_neq` to use the fast paths optimized in
# `opt_eq` when both operands are Integers, Floats, Symbols, or Strings. It
# pops both the receiver and the argument off the stack and pushes on the
# result.
#
# ### Usage
#
# ~~~ruby
# 2 != 2
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3773
class SyntaxTree::YARV::OptNEq < ::SyntaxTree::YARV::Instruction
# @return [OptNEq] a new instance of OptNEq
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3776
def initialize(eq_calldata, neq_calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3796
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3813
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3792
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3781
def disasm(fmt); end
# Returns the value of attribute eq_calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3774
def eq_calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3801
def length; end
# Returns the value of attribute neq_calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3774
def neq_calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3805
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3809
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3788
def to_a(_iseq); end
end
# ### Summary
#
# `opt_newarray_max` is a specialization that occurs when the `max` method
# is called on an array literal. It pops the values of the array off the
# stack and pushes on the result.
#
# ### Usage
#
# ~~~ruby
# [a, b, c].max
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3831
class SyntaxTree::YARV::OptNewArrayMax < ::SyntaxTree::YARV::Instruction
# @return [OptNewArrayMax] a new instance of OptNewArrayMax
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3834
def initialize(number); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3850
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3866
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3846
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3838
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3854
def length; end
# Returns the value of attribute number.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3832
def number; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3858
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3862
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3842
def to_a(_iseq); end
end
# ### Summary
#
# `opt_newarray_min` is a specialization that occurs when the `min` method
# is called on an array literal. It pops the values of the array off the
# stack and pushes on the result.
#
# ### Usage
#
# ~~~ruby
# [a, b, c].min
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3883
class SyntaxTree::YARV::OptNewArrayMin < ::SyntaxTree::YARV::Instruction
# @return [OptNewArrayMin] a new instance of OptNewArrayMin
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3886
def initialize(number); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3902
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3918
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3898
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3890
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3906
def length; end
# Returns the value of attribute number.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3884
def number; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3910
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3914
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3894
def to_a(_iseq); end
end
# ### Summary
#
# `opt_nil_p` is an optimization applied when the method `nil?` is called.
# It returns true immediately when the receiver is `nil` and defers to the
# `nil?` method in other cases. It pops the receiver off the stack and
# pushes on the result.
#
# ### Usage
#
# ~~~ruby
# "".nil?
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3936
class SyntaxTree::YARV::OptNilP < ::SyntaxTree::YARV::Instruction
# @return [OptNilP] a new instance of OptNilP
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3939
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3955
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3975
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3937
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3971
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3951
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3943
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3959
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3963
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3967
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3947
def to_a(_iseq); end
end
# ### Summary
#
# `opt_not` negates the value on top of the stack by calling the `!` method
# on it. It pops the receiver off the stack and pushes on the result.
#
# ### Usage
#
# ~~~ruby
# !true
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3991
class SyntaxTree::YARV::OptNot < ::SyntaxTree::YARV::Instruction
# @return [OptNot] a new instance of OptNot
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3994
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4010
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4030
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3992
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4026
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4006
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3998
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4014
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4018
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4022
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4002
def to_a(_iseq); end
end
# ### Summary
#
# `opt_or` is a specialization of the `opt_send_without_block` instruction
# that occurs when the `|` operator is used. There is a fast path for if
# both operands are integers. It pops both the receiver and the argument off
# the stack and pushes on the result.
#
# ### Usage
#
# ~~~ruby
# 2 | 3
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4048
class SyntaxTree::YARV::OptOr < ::SyntaxTree::YARV::Instruction
# @return [OptOr] a new instance of OptOr
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4051
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4067
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4087
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4049
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4083
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4063
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4055
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4071
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4075
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4079
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4059
def to_a(_iseq); end
end
# ### Summary
#
# `opt_plus` is a specialization of the `opt_send_without_block` instruction
# that occurs when the `+` operator is used. There are fast paths for if
# both operands are integers, floats, strings, or arrays. It pops both the
# receiver and the argument off the stack and pushes on the result.
#
# ### Usage
#
# ~~~ruby
# 2 + 3
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4105
class SyntaxTree::YARV::OptPlus < ::SyntaxTree::YARV::Instruction
# @return [OptPlus] a new instance of OptPlus
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4108
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4124
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4144
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4106
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4140
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4120
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4112
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4128
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4132
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4136
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4116
def to_a(_iseq); end
end
# ### Summary
#
# `opt_regexpmatch2` is a specialization of the `opt_send_without_block`
# instruction that occurs when the `=~` operator is used. It pops both the
# receiver and the argument off the stack and pushes on the result.
#
# ### Usage
#
# ~~~ruby
# /a/ =~ "a"
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4161
class SyntaxTree::YARV::OptRegExpMatch2 < ::SyntaxTree::YARV::Instruction
# @return [OptRegExpMatch2] a new instance of OptRegExpMatch2
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4164
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4180
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4200
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4162
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4196
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4176
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4168
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4184
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4188
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4192
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4172
def to_a(_iseq); end
end
# ### Summary
#
# `opt_send_without_block` is a specialization of the send instruction that
# occurs when a method is being called without a block. It pops the receiver
# and the arguments off the stack and pushes on the result.
#
# ### Usage
#
# ~~~ruby
# puts "Hello, world!"
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4217
class SyntaxTree::YARV::OptSendWithoutBlock < ::SyntaxTree::YARV::Instruction
# @return [OptSendWithoutBlock] a new instance of OptSendWithoutBlock
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4220
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4236
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4256
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4218
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4252
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4232
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4224
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4240
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4244
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4248
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4228
def to_a(_iseq); end
end
# ### Summary
#
# `opt_size` is a specialization of `opt_send_without_block`, when the
# `size` method is called. There are fast paths when the receiver is either
# a string, hash, or array. It pops the receiver off the stack and pushes on
# the result.
#
# ### Usage
#
# ~~~ruby
# "".size
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4274
class SyntaxTree::YARV::OptSize < ::SyntaxTree::YARV::Instruction
# @return [OptSize] a new instance of OptSize
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4277
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4293
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4313
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4275
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4309
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4289
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4281
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4297
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4301
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4305
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4285
def to_a(_iseq); end
end
# ### Summary
#
# `opt_str_freeze` pushes a frozen known string value with no interpolation
# onto the stack using the #freeze method. If the method gets overridden,
# this will fall back to a send.
#
# ### Usage
#
# ~~~ruby
# "hello".freeze
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4330
class SyntaxTree::YARV::OptStrFreeze < ::SyntaxTree::YARV::Instruction
# @return [OptStrFreeze] a new instance of OptStrFreeze
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4333
def initialize(object, calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4353
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4366
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4331
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4349
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4338
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4358
def length; end
# Returns the value of attribute object.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4331
def object; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4362
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4345
def to_a(_iseq); end
end
# ### Summary
#
# `opt_str_uminus` pushes a frozen known string value with no interpolation
# onto the stack. If the method gets overridden, this will fall back to a
# send.
#
# ### Usage
#
# ~~~ruby
# -"string"
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4383
class SyntaxTree::YARV::OptStrUMinus < ::SyntaxTree::YARV::Instruction
# @return [OptStrUMinus] a new instance of OptStrUMinus
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4386
def initialize(object, calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4406
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4419
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4384
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4402
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4391
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4411
def length; end
# Returns the value of attribute object.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4384
def object; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4415
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4398
def to_a(_iseq); end
end
# ### Summary
#
# `opt_succ` is a specialization of the `opt_send_without_block` instruction
# when the method being called is `succ`. Fast paths exist when the receiver
# is either a String or a Fixnum. It pops the receiver off the stack and
# pushes on the result.
#
# ### Usage
#
# ~~~ruby
# "".succ
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4437
class SyntaxTree::YARV::OptSucc < ::SyntaxTree::YARV::Instruction
# @return [OptSucc] a new instance of OptSucc
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4440
def initialize(calldata); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4456
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4476
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4438
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4472
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4452
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4444
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4460
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4464
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4468
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4448
def to_a(_iseq); end
end
# ### Summary
#
# `pop` pops the top value off the stack.
#
# ### Usage
#
# ~~~ruby
# a ||= 2
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4491
class SyntaxTree::YARV::Pop < ::SyntaxTree::YARV::Instruction
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4504
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4512
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4500
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4492
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4508
def pops; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4516
def side_effects?; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4496
def to_a(_iseq); end
end
# ### Summary
#
# `putnil` pushes a global nil object onto the stack.
#
# ### Usage
#
# ~~~ruby
# nil
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4531
class SyntaxTree::YARV::PutNil < ::SyntaxTree::YARV::Instruction
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4544
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4556
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4552
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4540
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4532
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4548
def pushes; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4560
def side_effects?; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4536
def to_a(_iseq); end
end
# ### Summary
#
# `putobject` pushes a known value onto the stack.
#
# ### Usage
#
# ~~~ruby
# 5
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4575
class SyntaxTree::YARV::PutObject < ::SyntaxTree::YARV::Instruction
# @return [PutObject] a new instance of PutObject
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4578
def initialize(object); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4594
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4606
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4590
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4582
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4598
def length; end
# Returns the value of attribute object.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4576
def object; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4602
def pushes; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4610
def side_effects?; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4586
def to_a(_iseq); end
end
# ### Summary
#
# `putobject_INT2FIX_0_` pushes 0 on the stack. It is a specialized
# instruction resulting from the operand unification optimization. It is
# equivalent to `putobject 0`.
#
# ### Usage
#
# ~~~ruby
# 0
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4627
class SyntaxTree::YARV::PutObjectInt2Fix0 < ::SyntaxTree::YARV::Instruction
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4640
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4652
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4648
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4636
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4628
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4644
def pushes; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4656
def side_effects?; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4632
def to_a(_iseq); end
end
# ### Summary
#
# `putobject_INT2FIX_1_` pushes 1 on the stack. It is a specialized
# instruction resulting from the operand unification optimization. It is
# equivalent to `putobject 1`.
#
# ### Usage
#
# ~~~ruby
# 1
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4673
class SyntaxTree::YARV::PutObjectInt2Fix1 < ::SyntaxTree::YARV::Instruction
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4686
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4698
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4694
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4682
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4674
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4690
def pushes; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4702
def side_effects?; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4678
def to_a(_iseq); end
end
# ### Summary
#
# `putself` pushes the current value of self onto the stack.
#
# ### Usage
#
# ~~~ruby
# puts "Hello, world!"
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4717
class SyntaxTree::YARV::PutSelf < ::SyntaxTree::YARV::Instruction
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4730
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4738
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4726
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4718
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4734
def pushes; end
# @return [Boolean]
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4742
def side_effects?; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4722
def to_a(_iseq); end
end
# ### Summary
#
# `putspecialobject` pushes one of three special objects onto the stack.
# These are either the VM core special object, the class base special
# object, or the constant base special object.
#
# ### Usage
#
# ~~~ruby
# alias foo bar
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4759
class SyntaxTree::YARV::PutSpecialObject < ::SyntaxTree::YARV::Instruction
# @return [PutSpecialObject] a new instance of PutSpecialObject
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4766
def initialize(object); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4782
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4794
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4778
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4770
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4786
def length; end
# Returns the value of attribute object.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4764
def object; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4790
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4774
def to_a(_iseq); end
end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4761
SyntaxTree::YARV::PutSpecialObject::OBJECT_CBASE = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4762
SyntaxTree::YARV::PutSpecialObject::OBJECT_CONST_BASE = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4760
SyntaxTree::YARV::PutSpecialObject::OBJECT_VMCORE = T.let(T.unsafe(nil), Integer)
# ### Summary
#
# `putstring` pushes an unfrozen string literal onto the stack.
#
# ### Usage
#
# ~~~ruby
# "foo"
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4818
class SyntaxTree::YARV::PutString < ::SyntaxTree::YARV::Instruction
# @return [PutString] a new instance of PutString
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4821
def initialize(object); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4837
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4849
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4833
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4825
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4841
def length; end
# Returns the value of attribute object.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4819
def object; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4845
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4829
def to_a(_iseq); end
end
# A sea of nodes is an intermediate representation used by a compiler to
# represent both control and data flow in the same graph. The way we use it
# allows us to have the vertices of the graph represent either an
# instruction in the instruction sequence or a synthesized node that we add
# to the graph. The edges of the graph represent either control flow or data
# flow.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#11
class SyntaxTree::YARV::SeaOfNodes
# @return [SeaOfNodes] a new instance of SeaOfNodes
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#462
def initialize(dfg, nodes, local_graphs); end
# Returns the value of attribute dfg.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#460
def dfg; end
# Returns the value of attribute local_graphs.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#460
def local_graphs; end
# Returns the value of attribute nodes.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#460
def nodes; end
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#468
def to_mermaid; end
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#499
def verify; end
class << self
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#529
def compile(dfg); end
end
end
# The compiler is responsible for taking a data flow graph and turning it
# into a sea of nodes.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#100
class SyntaxTree::YARV::SeaOfNodes::Compiler
# @return [Compiler] a new instance of Compiler
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#103
def initialize(dfg); end
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#113
def compile; end
# Returns the value of attribute dfg.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#101
def dfg; end
# Returns the value of attribute nodes.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#101
def nodes; end
private
# Eliminate as many unnecessary nodes as we can.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#339
def cleanup_insn_nodes; end
# We don't always build things in an optimal way. Go back and fix up
# some mess we left. Ideally we wouldn't create these problems in the
# first place.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#315
def cleanup_phi_nodes; end
# Connect one node to another.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#423
def connect(from, to, type, label = T.unsafe(nil)); end
# Connect control flow that flows between basic blocks.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#246
def connect_local_graphs_control(local_graphs); end
# Connect data flow that flows between basic blocks.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#271
def connect_local_graphs_data(local_graphs); end
# Connect all of the inputs to all of the outputs of a node.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#433
def connect_over(node); end
# Create a sub-graph for a single basic block - block block argument
# inputs and outputs will be left dangling, to be connected later.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#136
def create_local_graph(block); end
# Counter for synthetic nodes.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#130
def id_counter; end
# Remove a node from the graph.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#447
def remove(node); end
end
# The edge of a graph represents either control flow or data flow.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#67
class SyntaxTree::YARV::SeaOfNodes::Edge
# @return [Edge] a new instance of Edge
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#75
def initialize(from, to, type, label); end
# Returns the value of attribute from.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#70
def from; end
# Returns the value of attribute label.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#73
def label; end
# Returns the value of attribute to.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#71
def to; end
# Returns the value of attribute type.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#72
def type; end
end
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#68
SyntaxTree::YARV::SeaOfNodes::Edge::TYPES = T.let(T.unsafe(nil), Array)
# This object represents a node in the graph that holds a YARV
# instruction.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#14
class SyntaxTree::YARV::SeaOfNodes::InsnNode
# @return [InsnNode] a new instance of InsnNode
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#17
def initialize(insn, offset); end
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#25
def id; end
# Returns the value of attribute inputs.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#15
def inputs; end
# Returns the value of attribute insn.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#15
def insn; end
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#29
def label; end
# Returns the value of attribute offset.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#15
def offset; end
# Returns the value of attribute outputs.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#15
def outputs; end
end
# Merge nodes are present in any block that has multiple incoming blocks.
# It provides a place for Phi nodes to attach their results.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#52
class SyntaxTree::YARV::SeaOfNodes::MergeNode
# @return [MergeNode] a new instance of MergeNode
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#55
def initialize(id); end
# Returns the value of attribute id.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#53
def id; end
# Returns the value of attribute inputs.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#53
def inputs; end
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#61
def label; end
# Returns the value of attribute outputs.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#53
def outputs; end
end
# Phi nodes are used to represent the merging of data flow from multiple
# incoming blocks.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#36
class SyntaxTree::YARV::SeaOfNodes::PhiNode
# @return [PhiNode] a new instance of PhiNode
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#39
def initialize(id); end
# Returns the value of attribute id.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#37
def id; end
# Returns the value of attribute inputs.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#37
def inputs; end
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#45
def label; end
# Returns the value of attribute outputs.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#37
def outputs; end
end
# A subgraph represents the local data and control flow of a single basic
# block.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#87
class SyntaxTree::YARV::SeaOfNodes::SubGraph
# @return [SubGraph] a new instance of SubGraph
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#90
def initialize(first_fixed, last_fixed, inputs, outputs); end
# Returns the value of attribute first_fixed.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#88
def first_fixed; end
# Returns the value of attribute inputs.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#88
def inputs; end
# Returns the value of attribute last_fixed.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#88
def last_fixed; end
# Returns the value of attribute outputs.
#
# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#88
def outputs; end
end
# ### Summary
#
# `send` invokes a method with an optional block. It pops its receiver and
# the arguments for the method off the stack and pushes the return value
# onto the stack. It has two arguments: the calldata for the call site and
# the optional block instruction sequence.
#
# ### Usage
#
# ~~~ruby
# "hello".tap { |i| p i }
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4867
class SyntaxTree::YARV::Send < ::SyntaxTree::YARV::Instruction
# @return [Send] a new instance of Send
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4870
def initialize(calldata, block_iseq); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4891
def ==(other); end
# Returns the value of attribute block_iseq.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4868
def block_iseq; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4909
def call(vm); end
# Returns the value of attribute calldata.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4868
def calldata; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4887
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4875
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4896
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4900
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4905
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4883
def to_a(_iseq); end
end
# ### Summary
#
# `setblockparam` sets the value of a block local variable on a frame
# determined by the level and index arguments. The level is the number of
# frames back to look and the index is the index in the local table. It pops
# the value it is setting off the stack.
#
# ### Usage
#
# ~~~ruby
# def foo(&bar)
# bar = baz
# end
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4951
class SyntaxTree::YARV::SetBlockParam < ::SyntaxTree::YARV::Instruction
# @return [SetBlockParam] a new instance of SetBlockParam
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4954
def initialize(index, level); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4973
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4986
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4969
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4959
def disasm(fmt); end
# Returns the value of attribute index.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4952
def index; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4978
def length; end
# Returns the value of attribute level.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4952
def level; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4982
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4963
def to_a(iseq); end
end
# ### Summary
#
# `setclassvariable` looks for a class variable in the current class and
# sets its value to the value it pops off the top of the stack. It uses an
# inline cache to reduce the need to lookup the class variable in the class
# hierarchy every time.
#
# ### Usage
#
# ~~~ruby
# @@class_variable = 1
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5004
class SyntaxTree::YARV::SetClassVariable < ::SyntaxTree::YARV::Instruction
# @return [SetClassVariable] a new instance of SetClassVariable
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5007
def initialize(name, cache); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5027
def ==(other); end
# Returns the value of attribute cache.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5005
def cache; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5040
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5023
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5012
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5032
def length; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5005
def name; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5036
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5019
def to_a(_iseq); end
end
# ### Summary
#
# `setconstant` pops two values off the stack: the value to set the
# constant to and the constant base to set it in.
#
# ### Usage
#
# ~~~ruby
# Constant = 1
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5058
class SyntaxTree::YARV::SetConstant < ::SyntaxTree::YARV::Instruction
# @return [SetConstant] a new instance of SetConstant
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5061
def initialize(name); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5077
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5089
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5073
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5065
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5081
def length; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5059
def name; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5085
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5069
def to_a(_iseq); end
end
# ### Summary
#
# `setglobal` sets the value of a global variable to a value popped off the
# top of the stack.
#
# ### Usage
#
# ~~~ruby
# $global = 5
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5106
class SyntaxTree::YARV::SetGlobal < ::SyntaxTree::YARV::Instruction
# @return [SetGlobal] a new instance of SetGlobal
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5109
def initialize(name); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5125
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5137
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5121
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5113
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5129
def length; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5107
def name; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5133
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5117
def to_a(_iseq); end
end
# ### Summary
#
# `setinstancevariable` pops a value off the top of the stack and then sets
# the instance variable associated with the instruction to that value.
#
# This instruction has two forms, but both have the same structure. Before
# Ruby 3.2, the inline cache corresponded to both the get and set
# instructions and could be shared. Since Ruby 3.2, it uses object shapes
# instead so the caches are unique per instruction.
#
# ### Usage
#
# ~~~ruby
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5160
class SyntaxTree::YARV::SetInstanceVariable < ::SyntaxTree::YARV::Instruction
# @return [SetInstanceVariable] a new instance of SetInstanceVariable
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5163
def initialize(name, cache); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5183
def ==(other); end
# Returns the value of attribute cache.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5161
def cache; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5196
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5179
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5168
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5188
def length; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5161
def name; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5192
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5175
def to_a(_iseq); end
end
# ### Summary
#
# `setlocal` sets the value of a local variable on a frame determined by the
# level and index arguments. The level is the number of frames back to
# look and the index is the index in the local table. It pops the value it
# is setting off the stack.
#
# ### Usage
#
# ~~~ruby
# value = 5
# tap { tap { value = 10 } }
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5216
class SyntaxTree::YARV::SetLocal < ::SyntaxTree::YARV::Instruction
# @return [SetLocal] a new instance of SetLocal
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5219
def initialize(index, level); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5238
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5250
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5234
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5224
def disasm(fmt); end
# Returns the value of attribute index.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5217
def index; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5242
def length; end
# Returns the value of attribute level.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5217
def level; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5246
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5228
def to_a(iseq); end
end
# ### Summary
#
# `setlocal_WC_0` is a specialized version of the `setlocal` instruction. It
# sets the value of a local variable on the current frame to the value at
# the top of the stack as determined by the index given as its only
# argument.
#
# ### Usage
#
# ~~~ruby
# value = 5
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5268
class SyntaxTree::YARV::SetLocalWC0 < ::SyntaxTree::YARV::Instruction
# @return [SetLocalWC0] a new instance of SetLocalWC0
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5271
def initialize(index); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5287
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5303
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5299
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5283
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5275
def disasm(fmt); end
# Returns the value of attribute index.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5269
def index; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5291
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5295
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5279
def to_a(iseq); end
end
# ### Summary
#
# `setlocal_WC_1` is a specialized version of the `setlocal` instruction. It
# sets the value of a local variable on the parent frame to the value at the
# top of the stack as determined by the index given as its only argument.
#
# ### Usage
#
# ~~~ruby
# value = 5
# self.then { value = 10 }
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5321
class SyntaxTree::YARV::SetLocalWC1 < ::SyntaxTree::YARV::Instruction
# @return [SetLocalWC1] a new instance of SetLocalWC1
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5324
def initialize(index); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5340
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5356
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5352
def canonical; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5336
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5328
def disasm(fmt); end
# Returns the value of attribute index.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5322
def index; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5344
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5348
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5332
def to_a(iseq); end
end
# ### Summary
#
# `setn` sets a value in the stack to a value popped off the top of the
# stack. It then pushes that value onto the top of the stack as well.
#
# ### Usage
#
# ~~~ruby
# {}[:key] = 'val'
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5372
class SyntaxTree::YARV::SetN < ::SyntaxTree::YARV::Instruction
# @return [SetN] a new instance of SetN
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5375
def initialize(number); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5391
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5407
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5387
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5379
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5395
def length; end
# Returns the value of attribute number.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5373
def number; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5399
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5403
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5383
def to_a(_iseq); end
end
# ### Summary
#
# `setspecial` pops a value off the top of the stack and sets a special
# local variable to that value. The special local variable is determined by
# the key given as its only argument.
#
# ### Usage
#
# ~~~ruby
# baz if (foo == 1) .. (bar == 1)
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5424
class SyntaxTree::YARV::SetSpecial < ::SyntaxTree::YARV::Instruction
# @return [SetSpecial] a new instance of SetSpecial
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5427
def initialize(key); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5443
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5455
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5439
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5431
def disasm(fmt); end
# Returns the value of attribute key.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5425
def key; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5447
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5451
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5435
def to_a(_iseq); end
end
# ### Summary
#
# `splatarray` coerces the array object at the top of the stack into Array
# by calling `to_a`. It pushes a duplicate of the array if there is a flag,
# and the original array if there isn't one.
#
# ### Usage
#
# ~~~ruby
# x = *(5)
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5479
class SyntaxTree::YARV::SplatArray < ::SyntaxTree::YARV::Instruction
# @return [SplatArray] a new instance of SplatArray
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5482
def initialize(flag); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5498
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5514
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5494
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5486
def disasm(fmt); end
# Returns the value of attribute flag.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5480
def flag; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5502
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5506
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5510
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5490
def to_a(_iseq); end
end
# ### Summary
#
# `swap` swaps the top two elements in the stack.
#
# ### TracePoint
#
# `swap` does not dispatch any events.
#
# ### Usage
#
# ~~~ruby
# !!defined?([[]])
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5553
class SyntaxTree::YARV::Swap < ::SyntaxTree::YARV::Instruction
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5566
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5578
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5562
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5554
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5570
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5574
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5558
def to_a(_iseq); end
end
# ### Summary
#
# `throw` pops a value off the top of the stack and throws it. It is caught
# using the instruction sequence's (or an ancestor's) catch table. It pushes
# on the result of throwing the value.
#
# ### Usage
#
# ~~~ruby
# [1, 2, 3].map { break 2 }
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5596
class SyntaxTree::YARV::Throw < ::SyntaxTree::YARV::Instruction
# @return [Throw] a new instance of Throw
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5612
def initialize(type); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5628
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5644
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5624
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5616
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5632
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5636
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5640
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5620
def to_a(_iseq); end
# Returns the value of attribute type.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5610
def type; end
private
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5671
def error_backtrace(vm); end
end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5599
SyntaxTree::YARV::Throw::RUBY_TAG_BREAK = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5605
SyntaxTree::YARV::Throw::RUBY_TAG_FATAL = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5600
SyntaxTree::YARV::Throw::RUBY_TAG_NEXT = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5597
SyntaxTree::YARV::Throw::RUBY_TAG_NONE = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5603
SyntaxTree::YARV::Throw::RUBY_TAG_RAISE = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5602
SyntaxTree::YARV::Throw::RUBY_TAG_REDO = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5601
SyntaxTree::YARV::Throw::RUBY_TAG_RETRY = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5598
SyntaxTree::YARV::Throw::RUBY_TAG_RETURN = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5604
SyntaxTree::YARV::Throw::RUBY_TAG_THROW = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5607
SyntaxTree::YARV::Throw::VM_THROW_NO_ESCAPE_FLAG = T.let(T.unsafe(nil), Integer)
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5608
SyntaxTree::YARV::Throw::VM_THROW_STATE_MASK = T.let(T.unsafe(nil), Integer)
# ### Summary
#
# `toregexp` pops a number of values off the stack, combines them into a new
# regular expression, and pushes the new regular expression onto the stack.
#
# ### Usage
#
# ~~~ruby
# /foo #{bar}/
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5746
class SyntaxTree::YARV::ToRegExp < ::SyntaxTree::YARV::Instruction
# @return [ToRegExp] a new instance of ToRegExp
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5749
def initialize(options, length); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5766
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5779
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5762
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5754
def disasm(fmt); end
# Returns the value of attribute length.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5747
def length; end
# Returns the value of attribute options.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5747
def options; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5771
def pops; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5775
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5758
def to_a(_iseq); end
end
# ### Summary
#
# `topn` pushes a single value onto the stack that is a copy of the value
# within the stack that is `number` of slots down from the top.
#
# ### Usage
#
# ~~~ruby
# case 3
# when 1..5
# puts "foo"
# end
# ~~~
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5699
class SyntaxTree::YARV::TopN < ::SyntaxTree::YARV::Instruction
# @return [TopN] a new instance of TopN
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5702
def initialize(number); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5718
def ==(other); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5730
def call(vm); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5714
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5706
def disasm(fmt); end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5722
def length; end
# Returns the value of attribute number.
#
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5700
def number; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5726
def pushes; end
# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5710
def to_a(_iseq); end
end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#8
class SyntaxTree::YARV::VM
extend ::Forwardable
# @return [VM] a new instance of VM
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#216
def initialize(events = T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#623
def catch(tag, &block); end
# Helper methods for instructions
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#494
def const_base; end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#610
def eval(source, binding = T.unsafe(nil), filename = T.unsafe(nil), lineno = T.unsafe(nil)); end
# Returns the value of attribute events.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#209
def events; end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#344
def find_catch_entry(frame, type); end
# Returns the value of attribute frame.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#214
def frame; end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#498
def frame_at(level); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#504
def frame_svar; end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#510
def frame_yield; end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#516
def frozen_core; end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#520
def jump(label); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#524
def leave; end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#606
def load(filepath); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#528
def local_get(index, level); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#532
def local_set(index, level, value); end
# source://forwardable/1.3.3/forwardable.rb#231
def pop(*args, **_arg1, &block); end
# source://forwardable/1.3.3/forwardable.rb#231
def push(*args, **_arg1, &block); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#598
def require(filepath); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#549
def require_internal(filepath, loading: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#602
def require_relative(filepath); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#543
def require_resolved(filepath); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#360
def run_block_frame(iseq, frame, *args, **kwargs, &block); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#366
def run_class_frame(iseq, clazz); end
# Helper methods for frames
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#230
def run_frame(frame); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#370
def run_method_frame(name, nesting, iseq, _self, *args, **kwargs, &block); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#384
def run_rescue_frame(iseq, frame, error); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#356
def run_top_frame(iseq); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#391
def setup_arguments(iseq, args, kwargs, block); end
# Returns the value of attribute stack.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#211
def stack; end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#619
def throw(tag, value = T.unsafe(nil)); end
class << self
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#222
def run(iseq); end
end
end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#48
class SyntaxTree::YARV::VM::BlockFrame < ::SyntaxTree::YARV::VM::Frame
# @return [BlockFrame] a new instance of BlockFrame
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#49
def initialize(iseq, parent, stack_index); end
end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#89
class SyntaxTree::YARV::VM::BreakError < ::SyntaxTree::YARV::VM::ThrownError; end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#64
class SyntaxTree::YARV::VM::ClassFrame < ::SyntaxTree::YARV::VM::Frame
# @return [ClassFrame] a new instance of ClassFrame
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#65
def initialize(iseq, parent, stack_index, _self); end
end
# Methods for overriding runtime behavior
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#540
SyntaxTree::YARV::VM::DLEXT = T.let(T.unsafe(nil), String)
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#205
SyntaxTree::YARV::VM::FROZEN_CORE = T.let(T.unsafe(nil), SyntaxTree::YARV::VM::FrozenCore)
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#25
class SyntaxTree::YARV::VM::Frame
# @return [Frame] a new instance of Frame
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#29
def initialize(iseq, parent, stack_index, _self, nesting); end
# Returns the value of attribute _self.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#26
def _self; end
# Returns the value of attribute iseq.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#26
def iseq; end
# Returns the value of attribute line.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#27
def line; end
# Sets the attribute line
#
# @param value the value to set the attribute line to.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#27
def line=(_arg0); end
# Returns the value of attribute nesting.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#26
def nesting; end
# Returns the value of attribute parent.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#26
def parent; end
# Returns the value of attribute pc.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#27
def pc; end
# Sets the attribute pc
#
# @param value the value to set the attribute pc to.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#27
def pc=(_arg0); end
# Returns the value of attribute stack_index.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#26
def stack_index; end
# Returns the value of attribute svars.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#26
def svars; end
end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#95
class SyntaxTree::YARV::VM::FrozenCore; end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#9
class SyntaxTree::YARV::VM::Jump
# @return [Jump] a new instance of Jump
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#12
def initialize(label); end
# Returns the value of attribute label.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#10
def label; end
end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#17
class SyntaxTree::YARV::VM::Leave
# @return [Leave] a new instance of Leave
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#20
def initialize(value); end
# Returns the value of attribute value.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#18
def value; end
end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#54
class SyntaxTree::YARV::VM::MethodFrame < ::SyntaxTree::YARV::VM::Frame
# @return [MethodFrame] a new instance of MethodFrame
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#57
def initialize(iseq, nesting, parent, stack_index, _self, name, block); end
# Returns the value of attribute block.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#55
def block; end
# Returns the value of attribute name.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#55
def name; end
end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#92
class SyntaxTree::YARV::VM::NextError < ::SyntaxTree::YARV::VM::ThrownError; end
# This is the main entrypoint for events firing in the VM, which allows
# us to implement tracing.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#122
class SyntaxTree::YARV::VM::NullEvents
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#123
def publish_frame_change(frame); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#126
def publish_instruction(iseq, insn); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#129
def publish_stack_change(stack); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#132
def publish_tracepoint(event); end
end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#70
class SyntaxTree::YARV::VM::RescueFrame < ::SyntaxTree::YARV::VM::Frame
# @return [RescueFrame] a new instance of RescueFrame
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#71
def initialize(iseq, parent, stack_index); end
end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#86
class SyntaxTree::YARV::VM::ReturnError < ::SyntaxTree::YARV::VM::ThrownError; end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#541
SyntaxTree::YARV::VM::SOEXT = T.let(T.unsafe(nil), String)
# This is a simple implementation of tracing that prints to STDOUT.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#137
class SyntaxTree::YARV::VM::STDOUTEvents
# @return [STDOUTEvents] a new instance of STDOUTEvents
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#140
def initialize; end
# Returns the value of attribute disassembler.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#138
def disassembler; end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#144
def publish_frame_change(frame); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#148
def publish_instruction(iseq, insn); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#153
def publish_stack_change(stack); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#157
def publish_tracepoint(event); end
end
# This represents the global VM stack. It effectively is an array, but
# wraps mutating functions with instrumentation.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#164
class SyntaxTree::YARV::VM::Stack
# @return [Stack] a new instance of Stack
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#167
def initialize(events); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#196
def [](*_arg0, **_arg1, &_arg2); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#200
def []=(*_arg0, **_arg1, &_arg2); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#172
def concat(*_arg0, **_arg1, &_arg2); end
# Returns the value of attribute events.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#165
def events; end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#176
def last; end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#180
def length; end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#188
def pop(*_arg0, **_arg1, &_arg2); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#184
def push(*_arg0, **_arg1, &_arg2); end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#192
def slice!(*_arg0, **_arg1, &_arg2); end
# Returns the value of attribute values.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#165
def values; end
end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#76
class SyntaxTree::YARV::VM::ThrownError < ::StandardError
# @return [ThrownError] a new instance of ThrownError
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#79
def initialize(value, backtrace); end
# Returns the value of attribute value.
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#77
def value; end
end
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#42
class SyntaxTree::YARV::VM::TopFrame < ::SyntaxTree::YARV::VM::Frame
# @return [TopFrame] a new instance of TopFrame
#
# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#43
def initialize(iseq); end
end
# Yield represents using the +yield+ keyword with arguments.
#
# yield value
#
# source://syntax_tree//lib/syntax_tree/node.rb#12289
class SyntaxTree::YieldNode < ::SyntaxTree::Node
# @return [YieldNode] a new instance of YieldNode
#
# source://syntax_tree//lib/syntax_tree/node.rb#12296
def initialize(arguments:, location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#12350
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#12302
def accept(visitor); end
# [nil | Args | Paren] the arguments passed to the yield
#
# source://syntax_tree//lib/syntax_tree/node.rb#12291
def arguments; end
# source://syntax_tree//lib/syntax_tree/node.rb#12306
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#12294
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#12310
def copy(arguments: T.unsafe(nil), location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#12306
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#12323
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#12327
def format(q); end
end
# ZSuper represents the bare +super+ keyword with no arguments.
#
# super
#
# source://syntax_tree//lib/syntax_tree/node.rb#12359
class SyntaxTree::ZSuper < ::SyntaxTree::Node
# @return [ZSuper] a new instance of ZSuper
#
# source://syntax_tree//lib/syntax_tree/node.rb#12363
def initialize(location:); end
# source://syntax_tree//lib/syntax_tree/node.rb#12393
def ===(other); end
# source://syntax_tree//lib/syntax_tree/node.rb#12368
def accept(visitor); end
# source://syntax_tree//lib/syntax_tree/node.rb#12372
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
# source://syntax_tree//lib/syntax_tree/node.rb#12361
def comments; end
# source://syntax_tree//lib/syntax_tree/node.rb#12376
def copy(location: T.unsafe(nil)); end
# source://syntax_tree//lib/syntax_tree/node.rb#12372
def deconstruct; end
# source://syntax_tree//lib/syntax_tree/node.rb#12385
def deconstruct_keys(_keys); end
# source://syntax_tree//lib/syntax_tree/node.rb#12389
def format(q); end
end