# 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}, # "", # "", # "", # 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